This Washington Post article about the mathematics of taffy pulling is screaming to be turned into a classroom example/activity. And here’s a link to the full mathematical article in the arxiv complete with equations.

## CalcPlot3D workshop at RMU

On August 7-10, 2016, nine engineers, mathematicians, developers, and educators met at Robert Morris University to develop new CalcPlot3D explorations, to begin importation of explorations to WeBWorK, and to continue research on student understanding of multivariable calculus concepts. The new explorations will be described on the blog after they are pilot tested and are ready for dissemination.

## RMU Faculty Research Conference

I had a great time this morning manning a poster about the CalcPlot3D applet, some of the models that I have made this semester and am using in class, and our initial research on student visual understanding of multivariable calculus concepts at the Robert Morris University Research and Grants Symposium.

## Hidden gem: Time dependent vector fields

You have probably seen the “Add a Vector Field” option under the Graph menu in CalcPlot3D which allows you to create some nifty three-dimensional vector fields like the one below.

But did you know that you can add a parameter (t) to the vector field to create and animate time dependent vector fields by controlling the slide bar for t in the Animate Parameters pop-up window? Bonus: Click on the 2D graph and view the flow lines!

Below is a screenshot. Go to the CalcPlot3D applet and try for yourself!

## Script to find an intersection of two surfaces and a tangent line

This is a script that I use in class to validate and visualize the results of a 2 step problem which asks students to find a parametric equation representing the intersection of two surfaces: z=x^2+3y^2 and x=y^2 and then to find the tangent line to this curve at the point (1,1,4).

Feel free to copy this script into a text file and save as .txt file for future use or editing. To learn more about using scripts, please see the Scripting with CalcPlot3D user guide.

<init steps="5">

<step 1> <window> xmin ="-4" xmax ="4" xscale ="1" ymin ="-4" ymax ="4" yscale ="1" zmin ="-1" zmax ="10" zscale ="1" zMinClip ="-4" zMaxClip ="8" centerXPercent ="0.5" centerYPercent ="0.5" hsrMode ="0" rotationSteps ="40.0" autoSpin ="true" anaglyph ="none" edgesOn ="true" facesOn ="true" opaque ="true" transparency ="140" smooth ="false" antialiasAll ="false" showBox ="false" showAxes ="true" perspective ="true" whiteBackground ="false" colorBrightness ="0.1" gridSize ="25" zoom ="0.7"

</window>

<viewPoint center="(8.23639103546332, 4.755282581475766, 3.0901699437494745)" focus="(0.0, 0.0, 0.0)" up="(0.0, 0.0, 2.0)"/>

<function type ="z = f(x, y)" function = "x^2+3y^2" num ="1" visible = "true" format = "Normal" /> </step>

<step 2> <window> xmin ="-4" xmax ="4" xscale ="1" ymin ="-4" ymax ="4" yscale ="1" zmin ="-1" zmax ="10" zscale ="1" zMinClip ="-4" zMaxClip ="8" centerXPercent ="0.5" centerYPercent ="0.5" hsrMode ="0" rotationSteps ="40.0" autoSpin ="true" anaglyph ="none" edgesOn ="true" facesOn ="true" opaque ="true" transparency ="140" smooth ="false" antialiasAll ="false" showBox ="false" showAxes ="true" perspective ="true" whiteBackground ="false" colorBrightness ="0.1" gridSize ="25" zoom ="0.7"

</window>

<viewPoint center="(8.23639103546332, 4.755282581475766, 3.0901699437494745)" focus="(0.0, 0.0, 0.0)" up="(0.0, 0.0, 2.0)"/>

<function type ="x = f(y, z)" function = "y^2" num ="2" visible = "true" format = "Normal" /> </step>

<step 3> <window> xmin ="-4" xmax ="4" xscale ="1" ymin ="-4" ymax ="4" yscale ="1" zmin ="-1" zmax ="10" zscale ="1" zMinClip ="-4" zMaxClip ="8" centerXPercent ="0.5" centerYPercent ="0.5" hsrMode ="0" rotationSteps ="40.0" autoSpin ="true" anaglyph ="none" edgesOn ="true" facesOn ="true" opaque ="true" transparency ="140" smooth ="false" antialiasAll ="false" showBox ="false" showAxes ="true" perspective ="true" whiteBackground ="false" colorBrightness ="0.1" gridSize ="25" zoom ="0.7"

</window>

<viewPoint center="(8.23639103546332, 4.755282581475766, 3.0901699437494745)" focus="(0.0, 0.0, 0.0)" up="(0.0, 0.0, 2.0)"/>

<function type ="z = f(x, y)" function = "x^2+3y^2" num ="1" visible = "true" format = "Normal" /> <function type ="x = f(y, z)" function = "y^2" num ="2" visible = "true" format = "Reversed Color" /> </step>

<step 4> <window> xmin ="-4" xmax ="4" xscale ="1" ymin ="-4" ymax ="4" yscale ="1" zmin ="-1" zmax ="10" zscale ="1" zMinClip ="-4" zMaxClip ="8" centerXPercent ="0.5" centerYPercent ="0.5" hsrMode ="0" rotationSteps ="40.0" autoSpin ="true" anaglyph ="none" edgesOn ="true" facesOn ="true" opaque ="false" transparency ="140" smooth ="false" antialiasAll ="false" showBox ="false" showAxes ="true" perspective ="true" whiteBackground ="false" colorBrightness ="0.1" gridSize ="25" zoom ="0.7"

</window>

<function type ="z = f(x, y)" function = "x^2+3y^2" num ="1" visible = "true" format = "Normal" /> <function type ="x = f(y, z)" function = "y^2" num ="2" visible = "true" format = "Reversed Color" /> </step>

<step 5> <window> xmin ="-4" xmax ="4" xscale ="1" ymin ="-4" ymax ="4" yscale ="1" zmin ="-1" zmax ="10" zscale ="1" zMinClip ="-4" zMaxClip ="8" centerXPercent ="0.5" centerYPercent ="0.5" hsrMode ="0" rotationSteps ="40.0" autoSpin ="true" anaglyph ="none" edgesOn ="true" facesOn ="true" opaque ="false" transparency ="140" smooth ="false" antialiasAll ="false" showBox ="false" showAxes ="true" perspective ="true" whiteBackground ="false" colorBrightness ="0.1" gridSize ="25" zoom ="0.7"

</window>

<viewPoint center="(8.236391035463319, 4.755282581475766, 3.0901699437494745)" focus="(0.0, 0.0, 0.0)" up="(0.0, 0.0, 2.0)"/>

<function type ="z = f(x, y)" function = "x^2+3y^2" num ="1" visible = "true" format = "Normal" /> <function type ="x = f(y, z)" function = "y^2" num ="2" visible = "true" format = "Reversed Color" /> <curve> x = "t^2" y = "t" z = "t^4+3t^2" tMin = "-2" tMax = "2" tSteps = "100" tValue = "0" showPt = "true" ptSize = "9" trace = "true" arrowSize = "18.0" velocity = "false" acceleration = "false" showTrace = "false" view2D = "false" width = "4" showArrows = "false" numArrows = "8" transformArrows = "false" color = "255, 0, 0" colorMode = "PLAIN" showTNB = "false" showTNBEqs = "false" showTNBLabels = "false" showOscPlane = "false" showRectPlane = "false" showNormPlane = "false" TNBScale = "1.0" showOscCircle = "false" showCurvature = "false" </curve> </step>

## A 3D printed knot

Here are two photos of the 3D model of the parametric surface:

x(u,v) = cos(u)*cos(v)+3cos(u)*(1.5+sin(u*5/3)/2)

y(u,v) = sin(u)*cos(v)+3sin(u)*(1.5+sin(u*5/3)/2)

z(u,v) = sin(v)+2cos(5u/3)

## 3D model finished!

My first attempt at a 3D printed model was finished today. Next time I’ll refine the grid so that the surface isn’t so faceted, but I’m happy with the result. I can’t wait to create more.

## Explorations

CalcPlot3D has four built-in explorations which each contain a pre- and post-test. Our current goal is to develop more explorations and to import these explorations into WeBWorK.

The current explorations, which should be accessed with Firefox, Safari, or Internet Explorer (not Chrome) are:

- Dot product (10-15 minutes) focuses on the relationship between the angle between two vectors, the length of the vectors, and the value of the dot product.
- Cross product (15 minutes) guides students to explore the relationship between the angle between two vectors, the length of the vectors, and the cross product direction and length.
- Velocity and acceleration (1 hour) demonstrates the relationship between the velocity, acceleration, and position vectors using a variety of examples.
- Lagrange multipliers (1 hour) reinforces the Lagrange multiplier formula through a series of examples of contour plots of surfaces and constraint curves.

If you are an instructor interested in using an exploration in your class, please contact Paul Seeburger to access your student responses.

## Shortcuts and Navigation Tips

These are a few tips that I share with my students during our first computer lab in which they are using CalcPlot3D independently.

Copying images from CalcPlot3D into a word processor document:

- Click on the graph then typing Ctrl-c (or command-C on a Mac) to copy and in the word processor type Ctrl-v (or command-V) to paste. Alternatively, you can find the copy command under the CalcPlot-3D the
*File*menu. - After clicking on the 3D graph, typing Ctrl-p will turn the background white (this is more aesthetically appeasing if you want to use the graphs in a document). Clicking
*b*will remove the box around the graph.

Repositioning the graph:

- You can zoom in and out of the graph using your mouse wheel, but to reposition the graph on the screen without changing the window size, use alt-(arrow keys) to move the graph up, down, right and left.
- The
*home*key on the keyboard will reset the 3D view in the standard position with the z-axis pointing upward. - You can change the axis ranges by clicking on the graph and typing
*a*, or selecting*Format Axis*under the “View Settings” menu, or clicking the button which looks like a table in the upper toolbar.