|
|
Thanks to the recent posting by Paul Bourke regarding super shapes
extended to 3D via spherical products,
http://members.home.nl/seedseven/, I put together something for my (fall
semester) multi-variable calculus students, generalizing from super
shapes to other polar curves. I thought some POVRay users might be
interested, at least in the results. A fun evening can be had by
digging out an old analytic geometry book, or other source of polar
curves, and crossing different famous curves in different orders (at
POVRay users, but my students will be learning POVRay as we go, and thus
be pretty much as ignorant as I am, regarding POVRay. I did, at least,
clip out the reminders about how to use .inc files and such.)
Spherical Products and Polar Functions:
The spherical product of two parametrically-defined planar curves,
H(h_x(u), h_y(u)) and M(m_x(v), m_y(v)), is defined by (H * M)(u, v) via:
x(u, v) = h_x(u)m_x(v)
y(u, v) = h_y(u)m_x(v)
z(u, v) = m_y(v)
(I use underscores, when I can't subscript.)
Note that about half the sources I looked up defined the product in the
important to know which order a particular source is using!
Since every planar polar function can also be described via the
canonical parameterization : x = r(t)cos(t), y = r(t)sin(t), one can
form the spherical product of any two polar functions, r_1(u) and r_2(v):
r_1 * r_2 (or r_2 * r_1 for the alternate definition) via:
x(u, v) = r_1(u)cos(u)r_2(v)cos(v)
y(u, v) = r_1(u)sin(u)r_2(v)cos(v)
z(u, v) = r_2(v)sin(v)
To render these objects in a left-hand coordinate system (such as
POVRay) and achieve the same pictures as with Mathematica or Maple,
interchange the roles of y and z (as below, where F3 applies to the y
component.)
r_1(u) = cos(3u) and r_2(v) = sin(2v):
#declare F1= function(u,v){cos(3*u)*cos(u)*sin(2*v)*cos(v)}
#declare F2= function(u,v){cos(3*u)*sin(u)*sin (2*v)*cos(v)}
#declare F3= function(u,v){sin(2*v)*sin(v)}
object{
Parametric(
F1, F3, F2,
<FromU(0), FromV(0)>, <ToU(2*pi), ToV(2*pi)>,
150,150,"C_3UxS_2V.inc"
)
[ object_modifiers ]
}
The parameters in "Parametric" are described in the #include files.
Here are 3 examples:
(Truth-In-Advertising Disclaimer: The stem on the psychedelic flower is
a sphere_sweep, and not a part of the product. The captions were added
in Photoshop.)
Post a reply to this message
Attachments:
Download 'polarspsjpg.jpg' (28 KB)
Preview of image 'polarspsjpg.jpg'
|
|