|
|
|
|
|
|
| |
| |
|
|
|
|
| |
| |
|
|
I am working on a web site describing "Steiner surfaces," which are
geometric shapes
defined by specific types of polynomial equations. They are of some
interest in the theory of
computer graphics, since Steiner surface patches contain many conic
curves (ellipses, etc.) and
have nice ray-tracing properties.
In a recent paper, my co-authors and I proved there are only finitely
many equivalence classes
of Steiner surfaces, up to linear transformations of the parametric
domain and the ambient
three-dimensional projective space. The results of the classification
include some well-known
shapes, for example, Steiner's Roman surface, Steiner's Cross-cap
surface,
Whitney's Umbrella, and ordinary spheres and ellipsoids, but also some
less
well-known quartic and cubic shapes.
The web site lists some equations for representatives of each
equivalence class, and I've posted
some very simple POV-ray scenes and source code. I've also written a
very brief background
discussion of projective geometry, but this is probably only useful for
experts who already know it,
and the site has links to other web pages related to Steiner surfaces.
Finally, you'll find an "include" file for several Steiner quartics and
cubics,
modeled after A. Enzmann's shapesq.inc file.
Here's the URL:
http://www.ipfw.edu/math/Coffman/steinersurface.html
Adam Coffman
Assistant Professor of Mathematics
Indiana Purdue Univ. Fort Wayne
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Adam Coffman wrote:
>
> ...
> The web site lists some equations for representatives of each
> equivalence class, and I've posted
> some very simple POV-ray scenes and source code. I've also written a
> very brief background
> discussion of projective geometry, but this is probably only useful for
> experts who already know it,
> and the site has links to other web pages related to Steiner surfaces.
>
> Finally, you'll find an "include" file for several Steiner quartics and
> cubics,
> modeled after A. Enzmann's shapesq.inc file.
>
> Here's the URL:
> http://www.ipfw.edu/math/Coffman/steinersurface.html
Cool pics. Ever seen the book, "A Topological Picturebook" by Francis?
There's a bunch of stuff in there that I've always wanted to see
rendered/animated (particularly the tobacco pouch). I've seen several
sphere eversion animations and they are always fun (haven't seen a
POV-Ray script for generating one yet).
One comment - you might point out on the web site that due to the way
ray tracing works, you end up missing the 2 dimensional solutions (for
the Roman surface anyway) that lie on the axes.
As far as the classification of Steiner surfaces - wasn't there a book
published around 10 years ago that had them all laid out? Forget the
title - I happened across it at the Harvard COOP one day and didn't have
enough cash to buy it.
Xander
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Alexander Enzmann wrote:
> Cool pics. Ever seen the book, "A Topological Picturebook" by Francis?
> There's a bunch of stuff in there that I've always wanted to see
> rendered/animated (particularly the tobacco pouch). I've seen several
> sphere eversion animations and they are always fun (haven't seen a
> POV-Ray script for generating one yet).
>
> One comment - you might point out on the web site that due to the way
> ray tracing works, you end up missing the 2 dimensional solutions (for
> the Roman surface anyway) that lie on the axes.
>
> As far as the classification of Steiner surfaces - wasn't there a book
> published around 10 years ago that had them all laid out? Forget the
> title - I happened across it at the Harvard COOP one day and didn't have
> enough cash to buy it.
>
> Xander
....
Thanks for the comments!
The book you (AE) mentioned sounds like it is Francois Apery's
"Models of the Real Projective Plane:
Computer Graphics of Steiner and Boy Surfaces."
(Vieweg, 1987)
I recommend it to anyone interested in math and computer graphics, and
a large part of the book deals with the geometry, topology, and
algebra of Steiner surfaces. It explains some of the ideas on my web
page, and many more, and lists a few different types of Steiner
surfaces, as well as Boy's surface.
To answer your question about how much of the classification appears
in this book, here's a brief history of the research on Steiner
surfaces. It's been known (for some time, at least 100 years) that
quartic Steiner surfaces usually have three double lines (Types 1-3),
but that sometimes two of these lines coincide (Types 4 and 5), or all
three coincide (Type 6). It was also known that there were Steiner
surfaces containing infinitely many lines, and these have cubic or
quadratic equations.
Even before computer graphics, in the days of wire and plaster models,
it was known that Types 1, 2, and 3 looked different in real space
despite being equivalent under re-scaling the coordinates using
complex numbers, for example, starting with the Roman surface:
x^2y^2+x^2z^2+y^2z^2-xyz=0,
and changing x to i*x (where i^2=-1) and z to i*z
gives the equation:
-x^2y^2+x^2z^2-y^2z^2+xyz=0,
and then multiplying both sides by -1 gives the Type 2 equation:
x^2y^2-x^2z^2+y^2z^2-xyz=0.
The Type 3 (Cross-cap) is also related to these. It has three double
lines, but two of them are complex, and can be seen in real space only
after a complex change of coordinates (and then, the surface is Type 1
or 2).
Apery's book gives several nice ways to describe Steiner surfaces, and
an elementary proof that the quartics fall into three classes (Types
1-3, 4-5, and 6) when complex transformations are allowed. The book
also has nice graphics of Types 1 and 3, but not the other Steiner
surfaces, and I haven't seen these other types rendered anywhere else,
either.
What's new (1980's-90's, after Apery's book appeared) is the
development of an algebraic procedure for detecting whether parametric
equations are equivalent under _real_ transformations.
(Unfortunately, this procedure is rather tedious and I must only refer
to the CAGD article for the details.) It explains, for example, why
there isn't any way to transform the Roman surface equation into the
Type 2 or 3 equation using only real numbers (no "i"). The conclusion
we derived from the classification of real Steiner quartics, using
only real transformations, is that there are exactly three types with
three double lines, two types with two double lines, and only one type
with one double line. Further, there are exactly three different
types (7,8,9) of ruled cubics that can arise.
I think I'll update the page to clarify some of these points and also
mention the "whiskers" sticking out of some of the surfaces. Maybe
later this year I'll have some animations ready. Thanks again for the
feedback.
Adam C.
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Very nice site - thanks!
It would be VERY interesting to dissect some of these models and make some
interlocking puzzles from them with POV-Ray images as the prototypes.
steve
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Adam Coffman wrote:
>
> I am working on a web site describing "Steiner surfaces," which are
> geometric shapes
> defined by specific types of polynomial equations. They are of some
> interest in the theory of
> computer graphics, since Steiner surface patches contain many conic
> curves (ellipses, etc.) and
> have nice ray-tracing properties.
<snipped>
> Adam Coffman
> Assistant Professor of Mathematics
> Indiana Purdue Univ. Fort Wayne
... have nice ray-tracing properties. ???
I would be interested to hear an elaboration on that particular statement.
This message reminds me of something I have been meaning to ask for a few
months now but always seem to forget. Below are three Parametric equations
that describe shapes that are either interesting, useful, or both. Alas my
math skills are prehistoric compared to what it takes to plug them into the
quartic matrix that Pov uses to display these types of advanced shapes.
Anyone out there up to the challenge ?
The Triaxial tritorus is defined parametrically as:
x = sin(u) (1+cos(v))
y = sin(u+2 PI/3) (1+cos(v+2 PI/3))
z = sin(u+4 PI/3) (1+cos(v+4 PI/3)
Where -PI <= u <= PI and -PI <= v <= PI
-------------------------------------------------------
A Clien Cycloid Shape - defined parametrically as:
x= cos(u/c)*cos(u/b)*(a+cos(v))+sin(u/b)*sin(v)*cos(v);
y= sin(u/c)*cos(u/b)*(a+cos(v))+sin(u/b)*sin(v)*cos(v);
z=-sin(u/b)*(a+cos(v))+cos(u/b)*sin(v)*cos(v);
Where: 0<=u<=2 b c PI and 0<=v<=4 PI
a=10;
b=3;
c=2;
X= Cos[u/c]*Cos[u/b]*(a+Cos[v])+Sin[u/b]*Sin[v]*Cos[v];
Y= Sin[u/c]*Cos[u/b]*(a+Cos[v])+Sin[u/b]*Sin[v]*Cos[v];
Z=-Sin[u/b]*(a+Cos[v])+Cos[u/b]*Sin[v]*Cos[v];
ParametricPlot3D [{X, Y, Z}, {u, 0, 2*b*c*Pi}, {v, 0, 4 Pi};
PlotPoints -> {120,10};
Axes -> False;
Boxed -> False;
ViewPoint -> {5.265, -6.828, 2.580}]
---------------------------------------
This describes the parametric equations which approximatly model a
drop of water, for example, a tear drop.
Note: I don't know the name for the symbol and my keybord refuses
to reproduce it for me. Where you see Note:1 it is in reference
to a symbol that resembles a circle with a line through it
sometimes drawn at a slant.
The equations as functions of longitute phi and lattitude theta are:
x = 0.5 *(1-cos(8)) sin(8) cos(Note:1)
y = 0.5 *(1-cos(8)) sin(8) sin(Note:1)
z = cos(8)
where 0 <= Note:1 <= 2pi
and 0 <= 8 <= pi
When theta is 0 there is a discontinuity at the apex where
x = 0 y = 0 z = 1
Regards,
--
Ken Tyler
mailto://tylereng@pacbell.net
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
On Sun, 18 Apr 1999 20:34:38 -0700, Ken <tyl### [at] pacbellnet> wrote:
> This message reminds me of something I have been meaning to ask for a few
>months now but always seem to forget. Below are three Parametric equations
>that describe shapes that are either interesting, useful, or both. Alas my
>math skills are prehistoric compared to what it takes to plug them into the
>quartic matrix that Pov uses to display these types of advanced shapes.
>
>Anyone out there up to the challenge ?
>
>
> The Triaxial tritorus is defined parametrically as:
>
> x = sin(u) (1+cos(v))
> y = sin(u+2 PI/3) (1+cos(v+2 PI/3))
> z = sin(u+4 PI/3) (1+cos(v+4 PI/3)
>
> Where -PI <= u <= PI and -PI <= v <= PI
>
> -------------------------------------------------------
>
> A Clien Cycloid Shape - defined parametrically as:
>
> x= cos(u/c)*cos(u/b)*(a+cos(v))+sin(u/b)*sin(v)*cos(v);
> y= sin(u/c)*cos(u/b)*(a+cos(v))+sin(u/b)*sin(v)*cos(v);
> z=-sin(u/b)*(a+cos(v))+cos(u/b)*sin(v)*cos(v);
>
> Where: 0<=u<=2 b c PI and 0<=v<=4 PI
>
> a=10;
> b=3;
> c=2;
> X= Cos[u/c]*Cos[u/b]*(a+Cos[v])+Sin[u/b]*Sin[v]*Cos[v];
> Y= Sin[u/c]*Cos[u/b]*(a+Cos[v])+Sin[u/b]*Sin[v]*Cos[v];
> Z=-Sin[u/b]*(a+Cos[v])+Cos[u/b]*Sin[v]*Cos[v];
>
> ParametricPlot3D [{X, Y, Z}, {u, 0, 2*b*c*Pi}, {v, 0, 4 Pi};
> PlotPoints -> {120,10};
> Axes -> False;
> Boxed -> False;
> ViewPoint -> {5.265, -6.828, 2.580}]
>
> ---------------------------------------
>
>
> This describes the parametric equations which approximatly model a
> drop of water, for example, a tear drop.
>
> Note: I don't know the name for the symbol and my keybord refuses
> to reproduce it for me. Where you see Note:1 it is in reference
> to a symbol that resembles a circle with a line through it
> sometimes drawn at a slant.
>
> The equations as functions of longitute phi and lattitude theta are:
>
> x = 0.5 *(1-cos(8)) sin(8) cos(Note:1)
> y = 0.5 *(1-cos(8)) sin(8) sin(Note:1)
> z = cos(8)
>
> where 0 <= Note:1 <= 2pi
> and 0 <= 8 <= pi
>
> When theta is 0 there is a discontinuity at the apex where
> x = 0 y = 0 z = 1
You would need a series approximation if you really wanted to use a
quartic. The accuracy would suck. Why not just stick the actual
parametric equations directly into the parametric object type in the
Isosurface patch (and the Superpatch)? Incidentally, as to the "8"
and "note 1" symbols, I'm afraid they're Greek to me! :)
Jerry Anning
clem "at" dhol "dot" com
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Jerry Anning wrote:
>
> You would need a series approximation if you really wanted to use a
> quartic. The accuracy would suck. Why not just stick the actual
> parametric equations directly into the parametric object type in the
> Isosurface patch (and the Superpatch)? Incidentally, as to the "8"
> and "note 1" symbols, I'm afraid they're Greek to me! :)
>
> Jerry Anning
> clem "at" dhol "dot" com
A am aware that they are greek symbols. I simply didn't have a
handy reference to their decriptions, english names, and mathmatical
equivelent functions they represent when I copied them to my
"Do it someday" file.
I did try them in M3D
http://mcn.simplenet.com/graphics/3d/m3d/default.htm
but it only allows 2d eqautions and they definatly did not work as
expected with the few hacks I attempted to use to get them to work.
I don't have the iso patch here and I still haven't gotten the hang of
the Superpatch yet, assuming it has that covered. Perhaps some day...
--
Ken Tyler
mailto://tylereng@pacbell.net
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
> I don't have the iso patch here and I still haven't gotten the hang of
> the Superpatch yet, assuming it has that covered. Perhaps some day...
>
>
> --
> Ken Tyler
>
Hi Ken
If you are interested, and not afraid by a terrible program, I can send you
one of mine that creates meshes of <smooth> triangles or pseudo wireframes
(or raw object for Moray) out of a set of 3 parametrized functions.
Philippe
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Ph Gibone wrote:
> Hi Ken
>
> If you are interested, and not afraid by a terrible program, I can send you
> one of mine that creates meshes of <smooth> triangles or pseudo wireframes
> (or raw object for Moray) out of a set of 3 parametrized functions.
>
> Philippe
Hi,
I would certainly be interested in taking a look at it. Send it to
me when you have the time. Any kind of instructions you may have for
it's use would be appreciated. You did not mention if it was a dos or
windows program. If it is a windows program I can probably struggle
through with a simple explanation on how to use it. If it is a dos
command line program then a list of command line paramters plus a
command line example would be useful to have.
One question I have is how you handle infinite objects with your
program. Several of the examples in the shapesq.inc file are infinite
in one plane. If you make a mesh for one of these types the program
would not stop making triangles for as long as hard drive would have
room to hold them. Do you automaticaly clip the object at some boundry
or did you simply make it refuse to handle shapes of this type ?
Thank you for offering.
--
Ken Tyler
mailto://tylereng@pacbell.net
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
> I would certainly be interested in taking a look at it. Send it to
>me when you have the time. Any kind of instructions you may have for
>it's use would be appreciated. You did not mention if it was a dos or
>windows program. If it is a windows program I can probably struggle
>through with a simple explanation on how to use it. If it is a dos
>command line program then a list of command line paramters plus a
>command line example would be useful to have.
WIndow 32 bits.
> One question I have is how you handle infinite objects with your
>program. Several of the examples in the shapesq.inc file are infinite
>in one plane. If you make a mesh for one of these types the program
>would not stop making triangles for as long as hard drive would have
>room to hold them. Do you automaticaly clip the object at some boundry
>or did you simply make it refuse to handle shapes of this type ?
It is a program to render parametrized functions, not implicit ones so, you
have to choose the range of the 2 parameters, and so the program knows where
to stop !
I will write a little help and send it to you wwith the program in a few
days (everything written in french on the screen).
Philippe
PS : I just tried the triaxial tritorus and I wonder if there is an error in
you equation, I also tried the tear drop : great ! is it a parametrized
equation of the "well known" piriform or someting else ?
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
|
|