# Volume by cross sections # Calculus visualization models # by Lloyd for James # Intended to 3-D print # # Quarter sine curve with a rectangular cross section # define pi 3.14159265 # object dimensions define length 6.0 define width $length define height $length / 1.5 define nc $width + $height * 4 + 1 # # discrete version define nseg 25 define seglen $length / $nseg object dome section1 curve1 squ c1_xscale $width c1_yscale $height taper bulk nodes_circ $nc nodes_axial 53 define segnum 0.0 define scale1 $nseg - $segnum / $nseg * $pi / 2.0 %sin define scale2 $nseg - $segnum - 1.0 / $nseg * $pi / 2.0 %sin object section section1 curve2 squ c2_xscale $width * $scale2 c2_yscale $height * $scale2 c2_yoffset 1.0 - $scale2 * $height length $seglen nodes_axial 2 list variables define segnum 1.0 define scale1 $scale2 define scale2 $nseg - $segnum - 1.0 / $nseg * $pi / 2.0 %sin object section section1 c2_xscale $width * $scale2 c2_yscale $height * $scale2 c2_yoffset 1.0 - $scale2 * $height length $seglen nodes_axial 2 list variables define segnum 2.0 define scale1 $scale2 define scale2 $nseg - $segnum - 1.0 / $nseg * $pi / 2.0 %sin object section section1 c2_xscale $width * $scale2 c2_yscale $height * $scale2 c2_yoffset 1.0 - $scale2 * $height length $seglen nodes_axial 2 list variables define segnum 3.0 define scale1 $scale2 define scale2 $nseg - $segnum - 1.0 / $nseg * $pi / 2.0 %sin object section section1 c2_xscale $width * $scale2 c2_yscale $height * $scale2 c2_yoffset 1.0 - $scale2 * $height length $seglen nodes_axial 2 list variables define segnum 4.0 define scale1 $scale2 define scale2 $nseg - $segnum - 1.0 / $nseg * $pi / 2.0 %sin object section section1 c2_xscale $width * $scale2 c2_yscale $height * $scale2 c2_yoffset 1.0 - $scale2 * $height length $seglen nodes_axial 2 define segnum 5.0 define scale1 $scale2 define scale2 $nseg - $segnum - 1.0 / $nseg * $pi / 2.0 %sin object section section1 c2_xscale $width * $scale2 c2_yscale $height * $scale2 c2_yoffset 1.0 - $scale2 * $height length $seglen nodes_axial 2 define segnum 6.0 define scale1 $scale2 define scale2 $nseg - $segnum - 1.0 / $nseg * $pi / 2.0 %sin object section section1 c2_xscale $width * $scale2 c2_yscale $height * $scale2 c2_yoffset 1.0 - $scale2 * $height length $seglen nodes_axial 2 define segnum 7.0 define scale1 $scale2 define scale2 $nseg - $segnum - 1.0 / $nseg * $pi / 2.0 %sin object section section1 c2_xscale $width * $scale2 c2_yscale $height * $scale2 c2_yoffset 1.0 - $scale2 * $height length $seglen nodes_axial 2 define segnum 8.0 define scale1 $scale2 define scale2 $nseg - $segnum - 1.0 / $nseg * $pi / 2.0 %sin object section section1 c2_xscale $width * $scale2 c2_yscale $height * $scale2 c2_yoffset 1.0 - $scale2 * $height length $seglen nodes_axial 2 define segnum 9.0 define scale1 $scale2 define scale2 $nseg - $segnum - 1.0 / $nseg * $pi / 2.0 %sin object section section1 c2_xscale $width * $scale2 c2_yscale $height * $scale2 c2_yoffset 1.0 - $scale2 * $height length $seglen nodes_axial 2 define segnum 10.0 define scale1 $scale2 define scale2 $nseg - $segnum - 1.0 / $nseg * $pi / 2.0 %sin object section section1 c2_xscale $width * $scale2 c2_yscale $height * $scale2 c2_yoffset 1.0 - $scale2 * $height length $seglen nodes_axial 2 define segnum 11.0 define scale1 $scale2 define scale2 $nseg - $segnum - 1.0 / $nseg * $pi / 2.0 %sin object section section1 c2_xscale $width * $scale2 c2_yscale $height * $scale2 c2_yoffset 1.0 - $scale2 * $height length $seglen nodes_axial 2 define segnum 12.0 define scale1 $scale2 define scale2 $nseg - $segnum - 1.0 / $nseg * $pi / 2.0 %sin object section section1 c2_xscale $width * $scale2 c2_yscale $height * $scale2 c2_yoffset 1.0 - $scale2 * $height length $seglen nodes_axial 2 define segnum 13.0 define scale1 $scale2 define scale2 $nseg - $segnum - 1.0 / $nseg * $pi / 2.0 %sin object section section1 c2_xscale $width * $scale2 c2_yscale $height * $scale2 c2_yoffset 1.0 - $scale2 * $height length $seglen nodes_axial 2 define segnum 14.0 define scale1 $scale2 define scale2 $nseg - $segnum - 1.0 / $nseg * $pi / 2.0 %sin object section section1 c2_xscale $width * $scale2 c2_yscale $height * $scale2 c2_yoffset 1.0 - $scale2 * $height length $seglen nodes_axial 2 define segnum 15.0 define scale1 $scale2 define scale2 $nseg - $segnum - 1.0 / $nseg * $pi / 2.0 %sin object section section1 c2_xscale $width * $scale2 c2_yscale $height * $scale2 c2_yoffset 1.0 - $scale2 * $height length $seglen nodes_axial 2 define segnum 16.0 define scale1 $scale2 define scale2 $nseg - $segnum - 1.0 / $nseg * $pi / 2.0 %sin object section section1 c2_xscale $width * $scale2 c2_yscale $height * $scale2 c2_yoffset 1.0 - $scale2 * $height length $seglen nodes_axial 2 define segnum 17.0 define scale1 $scale2 define scale2 $nseg - $segnum - 1.0 / $nseg * $pi / 2.0 %sin object section section1 c2_xscale $width * $scale2 c2_yscale $height * $scale2 c2_yoffset 1.0 - $scale2 * $height length $seglen nodes_axial 2 define segnum 18.0 define scale1 $scale2 define scale2 $nseg - $segnum - 1.0 / $nseg * $pi / 2.0 %sin object section section1 c2_xscale $width * $scale2 c2_yscale $height * $scale2 c2_yoffset 1.0 - $scale2 * $height length $seglen nodes_axial 2 define segnum 19.0 define scale1 $scale2 define scale2 $nseg - $segnum - 1.0 / $nseg * $pi / 2.0 %sin object section section1 c2_xscale $width * $scale2 c2_yscale $height * $scale2 c2_yoffset 1.0 - $scale2 * $height length $seglen nodes_axial 2 define segnum 20.0 define scale1 $scale2 define scale2 $nseg - $segnum - 1.0 / $nseg * $pi / 2.0 %sin object section section1 c2_xscale $width * $scale2 c2_yscale $height * $scale2 c2_yoffset 1.0 - $scale2 * $height length $seglen nodes_axial 2 define segnum 21.0 define scale1 $scale2 define scale2 $nseg - $segnum - 1.0 / $nseg * $pi / 2.0 %sin object section section1 c2_xscale $width * $scale2 c2_yscale $height * $scale2 c2_yoffset 1.0 - $scale2 * $height length $seglen nodes_axial 2 define segnum 22.0 define scale1 $scale2 define scale2 $nseg - $segnum - 1.0 / $nseg * $pi / 2.0 %sin object section section1 c2_xscale $width * $scale2 c2_yscale $height * $scale2 c2_yoffset 1.0 - $scale2 * $height length $seglen nodes_axial 2 define segnum 23.0 define scale1 $scale2 define scale2 $nseg - $segnum - 1.0 / $nseg * $pi / 2.0 %sin object section section1 c2_xscale $width * $scale2 c2_yscale $height * $scale2 c2_yoffset 1.0 - $scale2 * $height length $seglen nodes_axial 2 define segnum 24.0 define scale1 $scale2 define scale2 $nseg - $segnum - 1.0 / $nseg * $pi / 2.0 %sin object section section1 c2_xscale $width * $scale2 c2_yscale $height * $scale2 c2_yoffset 1.0 - $scale2 * $height length $seglen nodes_axial 2 # list variables write vrml sine-rect.wrl write stl sine-rect.stl end