Parametric Curves: Spiral, Self-Intersecting Curve, and Helix

spiral_on_cone-2I then made a series of models of parametric curves. The first was a model of a spiral that increases in diameter as it travels along the \(z\)-axis.  The curve comes from Section 10.7 in Stewart’s Essential Calculus.  The curve is defined by the equations \(x=t*\cos(t), y=t*\sin(t)\), and \(z=t\).  I designed the model in Cinema 4D using the Formula Spline to draw the curve, the Sweep NURB to give the curve depth, and the Wrap Tool to wrap the text around the curve.  I also used the Extrude Tool to give the equations depth and the Boole tool to connect them with the curve.  The print failed a few of times due to a tangled filament and a jammed extruder, but it worked after the fourth try.  The result was that the equations looked messy and the letter \(t\) is hard to make out in places.  Also, the MakerBot did not include supports for the last rotation, which caused the print to be messy towards the vertex of the spiral.  We remedied these issues by printing another version of the spiral on the Formlabs printer, where we imprinted the equations into the object.  The print came out much better as the equations were neater as was the end of the spiral. This model can be found on Thingiverse.

I used the FormLabs printer to create a model of a space curve from Stewart’s Essential Calculus (Section 10.7, exercise 18).  The first challenge was to draw the object in Cinema 4D without a self-intersection (3D printers do not accept intersecting geometry).  Professor Denne suggested that I make two half-curves that intersect, then make a Boolean out of them.  The suggestion worked, so I was then able to put text onto it.  It was tricky to figure ouself-int-curve-3t how to get the equations onto the curve, but I decided to put them on top of the lower ring of the model.  They turned out well, as did the curve, which was very smooth and with minimal deformation due to its supports. You can find this model on Thingiverse here.

My next print was of a helix on the Formlabs printer.  I first printed a Black one with a radius of 2 mm, but it turned out to be very small and frail, and the equations were hardly legible.  I then fixed these issues by making the radius 4 mm, but the equations are again hard to read because of the white resin. This model can be found on Thingiverse here.

Our experience has taught us that equations are easiest to read on the FormLabs prints in grey. You can find instructions on how to use Cinema 4D to add equations to parametrized curves here.


Torus Knots

I modeled the trefoil knot as two torus knots \(T(2,3)\) and \(T(3,2)\). The parametric equations for a \(T(p,q) \) knot are \(x = \cos(pt)*(3+\cos(qt)), y=\sin(pt)*(3+\cos(qt)) \), and \(z=\sin(qt) \). Here, \(p\) is the number of times the knot winds around the longitude of a torus, and \(q\) is the number of times the knot winds around the meridian of a torus.

2-3-torus-2Both models were printed on the FormLabs printer. I first made a small \(T(2,3) \) knot with a label extruded out of the curve (as shown to the left). I used Cinema 4D to design the model by using the Formula Spline to draw the curve, the Sweep NURB to give the curve depth, and the Wrap Tool to wrap the text around the curve. I also used the Extrude Tool to give the equations depth and the Boole Tool to connect the equations to the curve. For both knots I had to make sure the ends of the knots overlapped correctly. Before printing the \(T(3,2)\) knot, I had to change the range of \(t\) to \(t=[0, 2\pi] \) instead of \(t=[0, 5\pi]\) (I initially used \(5\pi\) to be sure that the curve closed).

3-2-torus-2The first \(T(2,3)\) knot came out nicely, however the text was a little small. Using the subscript made the numbers too small, so I reprinted the knot used parentheses instead, as shown here. The \(T(3,2)\) knot also looked great, as it was smooth and there were merely small nubs where the supports were, which could be removed with an exacto blade. We’ve discovered that the FormLabs printer makes smoother surfaces and finer curves than does the MakerBot, which is why it is ideal for printing knots.

You can find the torus knots on Thingiverse here T(2,3) and here T(3,2). Instructions on how to make torus knots in Cinema 4D can be found here. Professor Denne has also created another worksheet in Mathematica about Torus knots. It can be found here.


Volumes by Slices: Iterated Integrals

slices-all-6I have modeled the the solid from Example 8 of Section 12.1 from Stewart’s Essential Calculus.  It is bounded by the surfaces \(z=\sin x \cos y\), \(z=0\), \(y=0\), and \(x=\pi/2\). The example demonstrates the strategy behind computing a double integral using Fubini’s Theorem.  I approximated the solid by eight slices in the \(x\) and \(y\) directions. In order to draw the correct splines in Cinema 4D, I had to use the correct parametric equations to plug into the inputs \(x(t),\, y(t)\), and \(z(t)\).  For the first object I held \(x\) constant (approximating integration with respect to the \(y\)-variable). The parametric equations were \(x(t)=\frac{k\pi}{32} \), \(y(t)=t\), and \(z(t)=\sin(\frac{k\pi}{32}) \cos(t)\) for \( k=1, 3, 5, \dots, 15 \).  I then created a slice in Cinema 4D by adding straight splines. I extruded each slice by 0.2, which is just greater than \(\pi/16\) (the width of each slice).  I placed each slice so that it overlapped slightly with the next slice – this will allow the objects to be merged (via a Boole) and will prevent vertical lines from showing in the print after the slices are collected into one object.  I had to use a Boole with two cubes for the two approximations by slices because the solids each had two very thin edges (that is, I shaved off some volume from two of the edges).  

I then repeated the entire process, but this time with a constant \(y\)-variable.  I also printed the smooslices-smooth-2th solid, which is the volume that is approximated by the slices.  In order to do this, I imported the solid from Mathematica and put equations on it like I have in other models. These models can be found on Thingiverse here, here, and here.

Bulge-Head Solid

bulge-head-11My next object was a bulge-head solid. This solid lies above the \(xy\)–plane, outside the unit sphere, and inside the cardioid of revolution given by \(\rho=1+\cos\phi\). Professor Beanland had given us these equations, since he was really curious to see what the solid looked like. He’d nicknamed it the cone-head solid, but after printing we renamed it the bulge-head solid.

Since the outside of the solid was a cardioid of revolution, I decided to create the solid in Cinema 4D by creating two splines (one for the cardioid, the other for the hemisphere) and revolving each around an appropriate axis.  Professor Denne helped me to figure out which parametric equations to place into Cinema 4D’s inputs for a formula spline. These were \(x(t)=1+2\cos(t) + \cos(2t)\), \(y(t)=2\sin(t)+\sin(2t)\), and \(z(t)=0\), where \(t=[0,\pi/2]\).  For the spline that would later become the hemisphere, I used \( x(t)=\cos(t)\), \(y(t)=\sin(t)\), and \(z(t)=0 \), where \(t=[0, \pi/2] \). I then used the Lathe Tool with an angle of \(360^\circ\) to make the two boundaries of the solid.  I then put them into a Boole to make a union between the two boundaries.  I printed the bulge-head solid on the FormLabs printer using clear resin. When loading the object into the FormLabs software, we got a warning about the object’s integrity, but we decided to continue the print anyway. Later on we were worried that the object would use up too much resin and that it may have some problems on the surface (like the smooth strange bowl did).  It turned out that added a bit more resin mid-build, just to be on the safe side.  The solid looks pretty good right now because it only has a few pimples on the inside, but no significant lumps. The object is still hardening and once it’s completely dry we’ll remove the outside supports. This will probably leave a few pimples as well.

 You can find this model on Thingiverse here.

bulge-head-4    bulge-head-8


IMG_1117                                 IMG_1120


I made two tetrahedra, both of which demonstrate the strategy behind setting up triple integrals. One tetrahedron came from our calculus textbook, another came from Professor Keller. The former is defined by the equations \(x + 2y + z – 2, x = 2y, z = 0\), and \(x = 0\) (ExaIMG_1121mple 5 of 12.5 in Stewart’s Essential Calculus), and the latter by \(y=-6, z=0, z=x+4\), and \(2x+y+z=4\). When I first tried to print the Tetrahedron from the textbook, the equation on the bottom face did not appear. Later, Dave Pfaff told us that it was because the object was inside out in Cinema 4D. I fixed the issue by reversing the normals on the object.

I then tried to print the object in addition to a set of round coordinate axes, but one of the axes was either knocked out of position by the left extruder (the unused one) or it curled up because it cooled (or maybe both). Later, I tried to print the tetrahedron with Prof Keller’s tetrahedron, but they curled up at the ends because the cooling of the plastic is exacerbated when the length IMG_1115increases. Next, I used a raft to print the two shapes, but the equations looked awful. So then I used some ABS juice on the half of the build-plate that contained the sharp vertex of Professor Keller’s tetrahedron and the print came out well, except for a messy-looking number “4” and some stringy filament on one of the faces (see blue shape).

Finally, I printed Professor Denne’s tetrahedron along with another set of coordinate axes (see black objects). Since there was some juice left over on the build-plate, the only end that curled up was at the origin of the coordinate axes, and the rest of the objects looked great.  These tetrahedra can be found on Thingiverse here and here.


Coordinate Axes

axes_2     axes-black4

I made a set of Coordinate Axes to go along with my two wedge solids from Multivariable Calculus.  The axes will also work well for my Double Riemann Approximations, my tetrahedra (coming soon), and other objects that I will print in the future.  The first issue with the axes was figuring out how to connect each part  – I tried using six rectangular prisms and Magic-Merge to join them together, but that did not work.  Later, with the help of Dave Pfaff, I extruded the coordinate axes out of a cube at the origin.  I then was able to imprint the labels for each of the axes much more easily. The axes can be found on Thingiverse here.

Approximating a Volume by Rectangular Prisms


Next, I modeled the volume under the curve \(z = 16 – x^2 – 2y^2\), using a double Riemann sum approximation. Here, in the \(xy\)-plane, each approximation contains \(m\) squares along the \(x\)-axis and \(n\) squares along the \(y\)-axisScreen Shot 2015-07-01 at 10.02.27 AMIn this case, I used \(m = n = 4\) and \(m = n = 8\).  In order to print the solids, I modeled them on Cinema 4D.  They were extremely thin (the height was much greater than the width and length) (see Cinema 4D pictures), so I divided the height of each approximation by 4.  I then printed them simultaneously, which took 8 hours and 45 minutes.  




The models turned out well, except in the \(m = n = 8\) case the printer did not print one of the rectangular prisms because I accidentally placed two rectangular prisms in the same place.   I then printed a c
orrected version as well as a model of the original solid (height divided by 4 once again).  On the original solid, I imprinted the equation onto the bottom, which does not look great because it should be imprinted deeper into the solid.  We considered using Magic Merge because the first print of the \(m = n = 8\) approximation printed some vertical lines, but when we fixed the model in Cinema 4D, the MakerBot printed smooth faces on each side.

The three objects can be found on Thingiverse  here, here, and here.

Solid of Revolution – Comparing Methods #2


To get my solid, I rotated the area between the curves \(y=x\) and \(y=x^2\) around the line \(y=1.25\).  I then approximated it by cylindrical shells.  The width of each of my shells was 1/16 and the height was \(x^2-x\), where the \(x\)-value was chosen from the right endpoint of each interval.  

One of the issues with the print comes from the fact aht  the top shell does not connect smoothly to the shell below it.  Initially I thought that this resulted from an error in the printer.  When I looked at the Cinema 4D file, however, I discovered that the top shell does not make contact with the shell below it because its height is less than 1/16 (the bowl shape is very flat there).  Additionally, the shell second from the top does not make contact with the shell below it, but the height difference is not noticable.  Another issue with the print was that the leftover supports look bad.  The inside of the object was filled with them, and even after clearing out most of the supports, it still looks terrible.  We are thinking about printing the object on a different printer, such as the Form Labs printer (which uses stereolithography) or the ProJet 260 (which uses powder), in order to get the inside part of the object to look clean.

Exercise 32

Next, I made a model of the volume from Exercise 32 in Section 12.5 of Stewart’s Essential Calculus. This solid is the region of integration enclosed by the surfaces \(x=0, y=0, y=1-x\), and \(z=1-x^2\).

32_3      32_2

This model is my best by far because the edges are almost perfectly smooth, and each face is very flat. It took about three hours to print, and the only deformities are a little bubble near one edge and the red outline around “\(z=0\)” from of the residual red filament in the extruder. I exported the piece from Mathematica into Cinema 4D, then imprinted the equations into their respective faces (see for further detail). For this solid I used 300 PlotPoints instead of 100 (see Mathematica code below) and it paid off in the smooth definition of the curved edge, which is almost perfect.


You can find this object on Thingiverse here.

DSC_1140       DSC_1136

Wedge 2


We made some changes before re-printing the wedge enclosed by the surfaces \(x=0, z=0, z=1-y\), and \(x=y^2\). I altered the PlotPoints in the Mathematica code from 100 to 400, which made the curve of intersection between the \(x=y^2\) and \(y+z=1\) surfaces smoother on Cinema 4D.  I also made each side about 8 cm long instead of 7 cm and I made the equations larger.

The result was that the top vertex still looks messy and the  “\(z\)” on the bottom face of the object is not clear, but that can be fixed with a razorblade (see image below). Changing the PlotPoints in the Mathematica code made the curve much smoother and the equations look nicer. You can find this object on Thingiverse here.

new_wedge_4              new_wedge_3