|
|
Le 17/05/2017 à 19:05, Bald Eagle a écrit :
> In my quest to parameterize this, I found:
>
> http://or.nsfc.gov.cn/bitstream/00001903-5/173475/1/1000009340012.pdf
>
> Which has some useful information; however, it's stated that:
>
> a,b > 0 and c,f >= 0 are constants.
> it goes on to state that it's a ring cyclide if f < c < a.
>
> How can f be less than c if for a torus c=0 and f=r?
> (unless of course f < 0)...
when c=0, the sign of f( aka d) is irrelevant
(x^2+y^2+z^2+b^2-d^2)^2-4*(a*x-c*d)^2-4*b^2*y^2=0
>
> it's a normal torus if a=b=R, c=0, and f=r
>
>
> Currently in the process of expanding the polynomial and grouping to see how a&b
> behave when equal, eliminating the c terms, and seeing how f affects the minor
> radii of the Dupin cyclide.
>
you already answered that: d(aka f) is then the minor radius, and a=b is
the major radius.
Comparing to the traditional torus equation:
(x^2+y^2+z^2+R^2-r^2)^2-4R^2(x^2+y^2) = 0
the change of radius is due to ax-cd instead of Rx.
Notice that b <= a, and they should be positive, yet c is amongst the
two roots of c^2 = a^2-b^2.
the sign of b is irrelevant, but the sign of a can have an impact with
the sign of c.
Post a reply to this message
|
|
|
|
With regard to my continuing interest in tori, esp the Clifford Torus, and their
relationship to the Dupin cyclide by geometric inversion, I was playing with
some inversion code, and ran into some strange artefacts.
Perhaps someone can see what's going on here. It seems very strange to lose
all of the objects above a straight line.
I had another instance where just the top right quadrant got wiped out.
#version 3.7;
global_settings{ assumed_gamma 1.0}
#include "colors.inc"
#include "math.inc"
sky_sphere {pigment {gradient <0,1,0>
color_map { [0.00 rgb <0.6,0.7,1.0>/2]
[0.25 rgb <0.0,0.1,0.8>/4]
[0.75 rgb <0.0,0.1,0.8>/4]
[1.00 rgb <0.6,0.7,1.0>/2]
}
scale 2
} // end of pigment
} //end of skysphere -------------------------------------
light_source { <-20, 100, -200>, 1 }
camera {
location <0, 0, -20>
up y
right x*image_width/image_height
look_at 0
}
#declare Line = 0.1;
#declare O = <0, 2, 0>;
#declare R = 3;
#declare Center = sphere {O, Line pigment {Green}}
#declare Circle_C = torus {R, Line pigment {Green} rotate x*90 translate O}
#macro Inverse (Point, CircleCenter, CircleRadius)
#local P = vnormalize (Point);
#local C = vnormalize (CircleCenter);
<(Point.x-CircleCenter.x)*(R*R)/(pow(Point.x-CircleCenter.x,
2)+pow(Point.y-CircleCenter.y, 2)+pow(Point.z-CircleCenter.z, 2)) +
CircleCenter.x,
(Point.y-CircleCenter.y)*(R*R)/(pow(Point.x-CircleCenter.x,
2)+pow(Point.y-CircleCenter.y, 2)+pow(Point.z-CircleCenter.z, 2)) +
CircleCenter.y,
(Point.z-CircleCenter.z)*(R*R)/(pow(Point.x-CircleCenter.x,
2)+pow(Point.y-CircleCenter.y, 2)+pow(Point.z-CircleCenter.z, 2)) +
CircleCenter.z>
#end
object {Center}
object {Circle_C}
#declare TCenter = <-4, 2, 0>;
#declare r0 = 2;
#declare r1 = 0.5;
// torus
#declare XT = function (TT, TP, TR, Tr) {(cos(TT) * ( TR + Tr * cos(TP) ))}
#declare YT = function (TT, TP, TR, Tr) {sin(TT) * ( TR + Tr * cos(TP) )}
#declare ZT = function (TP, Tr) {Tr * sin(TP)}
#for (Torus, 0, 1.5, 0.5)
#declare TCenter = TCenter + <Torus, 0, 0>;
#declare Steps = 180;
#for (Theta, 0, tau, tau/Steps)
#for (Phi, 0, tau, tau/Steps)
#declare X = XT (Theta, Phi, r0, r1) + TCenter.x;
#declare Y = YT (Theta, Phi, r0, r1) + TCenter.y;
#declare Z = ZT (Phi, r1) + TCenter.z;
//sphere {<X, Y, Z>, Line pigment {White}}
sphere {Inverse(<X, Y, Z>, O, R), Line pigment {Blue*Torus}}
#end
#end
#end
Post a reply to this message
Attachments:
Download 'inversiontest.png' (358 KB)
Preview of image 'inversiontest.png'
|
|
|
|
On 05/30/2017 12:59 PM, Bald Eagle wrote:
> With regard to my continuing interest in tori, esp the Clifford Torus, and their
> relationship to the Dupin cyclide by geometric inversion, I was playing with
> some inversion code, and ran into some strange artefacts.
>
>
> Perhaps someone can see what's going on here. It seems very strange to lose
> all of the objects above a straight line.
>
> I had another instance where just the top right quadrant got wiped out.
I got a completely blank image, except for the sky_sphere.
I also got these warnings:
----------[BEGIN MESSAGES]----------
Parsing 16549K tokens
File 'baldeagle-inversiontest.pov' line 54: Parse Warning: Divide by zero.
File 'baldeagle-inversiontest.pov' line 57: Parse Warning: Divide by zero.
File 'baldeagle-inversiontest.pov' line 60: Parse Warning: Divide by zero.
Parsing 36707K tokens
-----------[END MESSAGES]-----------
Please note that, as I saved your post, the #version statement is on
line 18. If the #version is at the top of your scene file, you'll have
to subtract 17 from the above line numbers. I also suspect several line
breaks introduced by the news software right about where the divisions
by zero occur.
> #version 3.7;
>. . .
> #for (Theta, 0, tau, tau/Steps)
> #for (Phi, 0, tau, tau/Steps)
>. . .
Evidently, your scene requires #version 3.71;
Post a reply to this message
|
|