JavaScript Applet is UP!

The new JavaScript version of CalcPlot3D is now up and running.  It has many of the features of the Java version and the remaining ones are currently being developed.  This new version runs on several different browsers and even tablets and smartphones.

screenshot-applet

Because of the new format some menus options have changed locations, but many of the same shortcuts still work.  For example:

  • To toggle on/off the box, around the plot type the letter “B”
  • To toggle on/off the perspective, type the letter “P”
  • To toggle on/off transparency, type Ctrl-T
  • To reset the graph to the original orientation type the home key or
  • To view the graph from the z-axis, the x-axis, or the y-axis, type Alt-z, Alt-x, or Alt- y, respectively).
  • To save the current view as a URL to access later, click on the triple bars, then File, then Encode View in URL.
  • The 2D-trace plane that allows you to move a point along the surface is hidden in the default mode.  To view the trace plane, select the grid icon that contains a blue point.
  • To view the built-in examples of space curves, vector fields, surfaces, etc., click on the triple bars, then examples.
  • The parameters (a,b,c,d) can be controlled and added by selecting the “Slider” option under “add to graph.”

 

Posted in Applet Updates, Uncategorized | Leave a comment

A sweet application of parametric curves

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.

Posted in Uncategorized | Leave a comment

CalcPlot3D workshop at RMU

calcplot3d-workshop

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.

Posted in Uncategorized | Leave a comment

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.  10259779_10206290199713094_129500855875661757_n

Posted in Publications and Presentations, Uncategorized | Tagged | Leave a comment

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.

vectorfield

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!

screenshot-animation

 

Posted in Classroom Examples | Tagged | Leave a comment

Parametric Heart

parametric-heart

Image | Posted on by | Tagged | Leave a comment

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).

parametric-intersection

screen shot of the script

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>
<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 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>
Posted in Classroom Examples, Scripts | Tagged , | Leave a comment

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)

Posted in Uncategorized | Tagged , | Leave a comment

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.

12642911_10205998491100561_4344462830891029510_n

f(x,y)=sin(x)sin(y)x

Posted in Classroom Examples | Tagged | Leave a comment

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.

Posted in Explorations | Tagged , , , , , , | Leave a comment