Implicit Definition of Other Shapes

Higher-dimensional geometry (previously "Polyshapes").

Re: Implicit Definition of Other Shapes

Postby ICN5D » Sun Feb 01, 2015 7:16 pm

I'm having some trouble writing the four term max function. Can you help me with that? How about a list from max[a,b] to max[a,b,c,d] ?

EDIT : Actually, I just found the pattern:

max[a,b] = (|a - b| + a + b)/2
max[a,b,c] = (|(|a - b| + a + b)/2 - c| + (|a - b| + a + b)/2 + c)/2
max[a,b,c,d] = (|(|(|a - b| + a + b)/2 - c| + (|a - b| + a + b)/2 + c)/2 - d| + (|(|a - b| + a + b)/2 - c| + (|a - b| + a + b)/2 + c)/2 + d)/2

Now I can render RSCCSR
It is by will alone, I set my donuts in motion
ICN5D
Pentonian
 
Posts: 1135
Joined: Mon Jul 28, 2008 4:25 am
Location: the Land of Flowers

Re: Implicit Definition of Other Shapes

Postby Marek14 » Sun Feb 01, 2015 10:27 pm

Well, wouldn't max[a,b,c,d] be easiest to do as max[max[a,b],max[c,d]]?
Marek14
Pentonian
 
Posts: 1191
Joined: Sat Jul 16, 2005 6:40 pm

Re: Implicit Definition of Other Shapes

Postby ICN5D » Mon Feb 02, 2015 1:13 am

I didn't know I could do that. It'll make the same shape? Only one way to find out ....
It is by will alone, I set my donuts in motion
ICN5D
Pentonian
 
Posts: 1135
Joined: Mon Jul 28, 2008 4:25 am
Location: the Land of Flowers

Re: Implicit Definition of Other Shapes

Postby Marek14 » Mon Feb 02, 2015 8:57 am

ICN5D wrote:I didn't know I could do that. It'll make the same shape? Only one way to find out ....


It should be the same.

Of course, this method is basically a "squeeze function" (probably not how it's really called). By using a function max [f,g,h,...] = 1, where f,g,h are functions on some, but not all coordinates, you basically describe a shape taken by grabbing a cube and squeezing it through various lower-dimensional openings (the functions x^2, y^2, etc. are always there, but are often superseded by others and so can be omitted). In case of matrixtopes, we make the shape more symmetrical -- max[x^2 + y^2, x^2 + z^2, y^2 + z^2], for example, would have three circular cross-sections, but I don't think it's a sphere.
Marek14
Pentonian
 
Posts: 1191
Joined: Sat Jul 16, 2005 6:40 pm

Re: Implicit Definition of Other Shapes

Postby ICN5D » Fri Feb 13, 2015 12:45 am

As usual, I get sidetracked and explore other things :) As long as they get piled up into one place, I can always source from it. This one is chosen for a new morph I haven't seen yet, from shapes with a tetrahedron intercept. The 5D Conindrone IO>I>


Image


IO>I> : Conindrone, 5D pyramid of the 4D prism of the 3D cone
———————————————————————————————————————

* - Point : Starting element

I - Line : extend Point along X

|x| = a

IO - Circle : bisecting rotate Line around point, along X into Y

√(x² + y²) = a

IO> - Cone : taper circle to point while extending along Z

|√(x²+y²) + 2z| + √(x²+y²) = a

IO>I - Coninder : extend Cone along W

||√(x²+y²)+2z|+√(x²+y²) - 2w| + ||√(x²+y²)+2z|+√(x²+y²) + 2w| = a

IO>I> - Conindrone : taper Coninder to point while extending along V

|||√(x²+y²)+2z|+√(x²+y²)-2w| + ||√(x²+y²)+2z|+√(x²+y²)+2w| + 4v| + ||√(x²+y²)+2z|+√(x²+y²)-2w| + ||√(x²+y²)+2z|+√(x²+y²)+2w| = a


abs(abs(abs(sqrt(x^2+y^2)+2z)+sqrt(x^2+y^2)-2w) + abs(abs(sqrt(x^2+y^2)+2z)+sqrt(x^2+y^2)+2w) + 4v) + abs(abs(sqrt(x^2+y^2)+2z)+sqrt(x^2+y^2)-2w) + abs(abs(sqrt(x^2+y^2)+2z)+sqrt(x^2+y^2)+2w) = a




3D Midsections of IO>I> along XYZWV
——————————————————————————

Circumradius = d = 10
XYZbox = -6 / +6


• ii>I> - square pyramid II> , XY cut

abs(abs(abs(sqrt(a^2+b^2)+2x)+sqrt(a^2+b^2)-2y) + abs(abs(sqrt(a^2+b^2)+2x)+sqrt(a^2+b^2)+2y) + 4z) + abs(abs(sqrt(a^2+b^2)+2x)+sqrt(a^2+b^2)-2y) + abs(abs(sqrt(a^2+b^2)+2x)+sqrt(a^2+b^2)+2y) = d

• IiiI> - square pyramid II> , YZ cut

abs(abs(abs(sqrt(x^2+a^2)+2b)+sqrt(x^2+a^2)-2y) + abs(abs(sqrt(x^2+a^2)+2b)+sqrt(x^2+a^2)+2y) + 4z) + abs(abs(sqrt(x^2+a^2)+2b)+sqrt(x^2+a^2)-2y) + abs(abs(sqrt(x^2+a^2)+2b)+sqrt(x^2+a^2)+2y) = d

• Ii>i> - tetrahedron I>> , YW cut

abs(abs(abs(sqrt(x^2+a^2)+2z)+sqrt(x^2+a^2)-2b) + abs(abs(sqrt(x^2+a^2)+2z)+sqrt(x^2+a^2)+2b) + 4y) + abs(abs(sqrt(x^2+a^2)+2z)+sqrt(x^2+a^2)-2b) + abs(abs(sqrt(x^2+a^2)+2z)+sqrt(x^2+a^2)+2b) = d

• Ii>Ii - triangle prism I>I , YV cut

abs(abs(abs(sqrt(x^2+a^2)+2z)+sqrt(x^2+a^2)-2y) + abs(abs(sqrt(x^2+a^2)+2z)+sqrt(x^2+a^2)+2y) + 4b) + abs(abs(sqrt(x^2+a^2)+2z)+sqrt(x^2+a^2)-2y) + abs(abs(sqrt(x^2+a^2)+2z)+sqrt(x^2+a^2)+2y) = d

• IOii> - cone IO> , ZW cut

abs(abs(abs(sqrt(x^2+y^2)+2a)+sqrt(x^2+y^2)-2b) + abs(abs(sqrt(x^2+y^2)+2a)+sqrt(x^2+y^2)+2b) + 4z) + abs(abs(sqrt(x^2+y^2)+2a)+sqrt(x^2+y^2)-2b) + abs(abs(sqrt(x^2+y^2)+2a)+sqrt(x^2+y^2)+2b) = d

• IOiIi - cylinder IOI , ZV cut

abs(abs(abs(sqrt(x^2+y^2)+2a)+sqrt(x^2+y^2)-2z) + abs(abs(sqrt(x^2+y^2)+2a)+sqrt(x^2+y^2)+2z) + 4b) + abs(abs(sqrt(x^2+y^2)+2a)+sqrt(x^2+y^2)-2z) + abs(abs(sqrt(x^2+y^2)+2a)+sqrt(x^2+y^2)+2z) = d




• IiiI> to IO>ii dual rotate function, y -> a , z -> b

abs(abs(abs(sqrt(x^2+(y*cos(a))^2)+2(z*cos(b)))+sqrt(x^2+(y*cos(a))^2)-2(y*sin(a))) + abs(abs(sqrt(x^2+(y*cos(a))^2)+2(z*cos(b)))+sqrt(x^2+(y*cos(a))^2)+2(y*sin(a))) + 4(z*sin(b))) + abs(abs(sqrt(x^2+(y*cos(a))^2)+2(z*cos(b)))+sqrt(x^2+(y*cos(a))^2)-2(y*sin(a))) + abs(abs(sqrt(x^2+(y*cos(a))^2)+2(z*cos(b)))+sqrt(x^2+(y*cos(a))^2)+2(y*sin(a))) = 10

• Ii>i> to IOiIi dual rotate, y -> a , z -> b

abs(abs(abs(sqrt(x^2+(y*cos(a))^2)+2(z*sin(b)))+sqrt(x^2+(y*cos(a))^2)-2(z*cos(b))) + abs(abs(sqrt(x^2+(y*cos(a))^2)+2(z*sin(b)))+sqrt(x^2+(y*cos(a))^2)+2(z*cos(b))) + 4(y*sin(a))) + abs(abs(sqrt(x^2+(y*cos(a))^2)+2(z*sin(b)))+sqrt(x^2+(y*cos(a))^2)-2(z*cos(b))) + abs(abs(sqrt(x^2+(y*cos(a))^2)+2(z*sin(b)))+sqrt(x^2+(y*cos(a))^2)+2(z*cos(b))) = 10

— better rotate morphs

[a,b] - 3D Midsection Positions
[0,0] - cylinder IOI
[1.57,0] - square pyramid II>
[0,1.57] - cone IO>
[1.57,1.57] - tetrahedron I>>




• Ii>i> to IOiIi : y -> a , z -> b, Dual Rotate + Translate for full control over all angles and depth in 4D and 5D

abs(abs(abs(sqrt(x^2+(y*cos(b) - a*sin(b))^2)+2(z*sin(d) + c*cos(d)))+sqrt(x^2+(y*cos(b) - a*sin(b))^2)-2(z*cos(d) - c*sin(d))) + abs(abs(sqrt(x^2+(y*cos(b) - a*sin(b))^2)+2(z*sin(d) + c*cos(d)))+sqrt(x^2+(y*cos(b) - a*sin(b))^2)+2(z*cos(d) - c*sin(d))) + 4(y*sin(b) + a*cos(b))) + abs(abs(sqrt(x^2+(y*cos(b) - a*sin(b))^2)+2(z*sin(d) + c*cos(d)))+sqrt(x^2+(y*cos(b) - a*sin(b))^2)-2(z*cos(d) - c*sin(d))) + abs(abs(sqrt(x^2+(y*cos(b) - a*sin(b))^2)+2(z*sin(d) + c*cos(d)))+sqrt(x^2+(y*cos(b) - a*sin(b))^2)+2(z*cos(d) - c*sin(d))) = 10

-6 < a,c < +6
0 < b,d < 1.57

‘a’ slides, ‘b’ rotates in 4D
‘c’ slides, ‘d’ rotates in 5D

[b,d] - 3D Midsection Positions
[0,0] - cylinder IOI
[1.57,0] - square pyramid II>
[0,1.57] - cone IO>
[1.57,1.57] - tetrahedron I>>

CalcPlot explore script for above function
It is by will alone, I set my donuts in motion
ICN5D
Pentonian
 
Posts: 1135
Joined: Mon Jul 28, 2008 4:25 am
Location: the Land of Flowers

Re: Implicit Definition of Other Shapes

Postby ICN5D » Wed Mar 04, 2015 8:03 pm

Checked out some matrixtopes! I graphed the strange 3-circle cut shape, that's not a sphere:

max[(x^2 + y^2), (x^2 + z^2), (y^2 + z^2)] =

(abs((abs((x^2 + y^2) - (x^2 + z^2)) + (x^2 + y^2) + (x^2 + z^2))/2 - (y^2 + z^2)) + (abs((x^2 + y^2) - (x^2 + z^2)) + (x^2 + y^2) + (x^2 + z^2))/2 + (y^2 + z^2))/2 = 25

--- Makes rounded, dodecahedral crind

Dodecahedral Crind 1
Image

Dodecahedral Crind 2
Image




And, for RSCCSR:

RSCCSR:
max[(|x| + |y|)^2 , (x^2 + w^2) , (y^2 + z^2) , (|z| + |w|)^2] = a


(abs((abs((abs((|x| + |y|)^2 - (x^2 + w^2)) + (|x| + |y|)^2 + (x^2 + w^2))/2 - (y^2 + z^2)) + (abs((|x| + |y|)^2 - (x^2 + w^2)) + (|x| + |y|)^2 + (x^2 + w^2))/2 + (y^2 + z^2))/2 - (|z| + |w|)^2) + (abs((abs((|x| + |y|)^2 - (x^2 + w^2)) + (|x| + |y|)^2 + (x^2 + w^2))/2 - (y^2 + z^2)) + (abs((|x| + |y|)^2 - (x^2 + w^2)) + (|x| + |y|)^2 + (x^2 + w^2))/2 + (y^2 + z^2))/2 + (|z| + |w|)^2)/2 = 25

XYZbox = -6 , +6
-5 < a < 5

• X=0, trinity cut

(abs((abs((abs((|a| + |y|)^2 - (a^2 + x^2)) + (|a| + |y|)^2 + (a^2 + x^2))/2 - (y^2 + z^2)) + (abs((|a| + |y|)^2 - (a^2 + x^2)) + (|a| + |y|)^2 + (a^2 + x^2))/2 + (y^2 + z^2))/2 - (|z| + |x|)^2) + (abs((abs((|a| + |y|)^2 - (a^2 + x^2)) + (|a| + |y|)^2 + (a^2 + x^2))/2 - (y^2 + z^2)) + (abs((|a| + |y|)^2 - (a^2 + x^2)) + (|a| + |y|)^2 + (a^2 + x^2))/2 + (y^2 + z^2))/2 + (|z| + |x|)^2)/2 = 25


• Y=0, trinity cut

(abs((abs((abs((|x| + |a|)^2 - (x^2 + y^2)) + (|x| + |a|)^2 + (x^2 + y^2))/2 - (a^2 + z^2)) + (abs((|x| + |a|)^2 - (x^2 + y^2)) + (|x| + |a|)^2 + (x^2 + y^2))/2 + (a^2 + z^2))/2 - (|z| + |y|)^2) + (abs((abs((|x| + |a|)^2 - (x^2 + y^2)) + (|x| + |a|)^2 + (x^2 + y^2))/2 - (a^2 + z^2)) + (abs((|x| + |a|)^2 - (x^2 + y^2)) + (|x| + |a|)^2 + (x^2 + y^2))/2 + (a^2 + z^2))/2 + (|z| + |y|)^2)/2 = 25


• Z=0, trinity cut

(abs((abs((abs((|x| + |y|)^2 - (x^2 + z^2)) + (|x| + |y|)^2 + (x^2 + z^2))/2 - (y^2 + a^2)) + (abs((|x| + |y|)^2 - (x^2 + z^2)) + (|x| + |y|)^2 + (x^2 + z^2))/2 + (y^2 + a^2))/2 - (|a| + |z|)^2) + (abs((abs((|x| + |y|)^2 - (x^2 + z^2)) + (|x| + |y|)^2 + (x^2 + z^2))/2 - (y^2 + a^2)) + (abs((|x| + |y|)^2 - (x^2 + z^2)) + (|x| + |y|)^2 + (x^2 + z^2))/2 + (y^2 + a^2))/2 + (|a| + |z|)^2)/2 = 25


• W=0, trinity cut

(abs((abs((abs((|x| + |y|)^2 - (x^2 + a^2)) + (|x| + |y|)^2 + (x^2 + a^2))/2 - (y^2 + z^2)) + (abs((|x| + |y|)^2 - (x^2 + a^2)) + (|x| + |y|)^2 + (x^2 + a^2))/2 + (y^2 + z^2))/2 - (|z| + |a|)^2) + (abs((abs((|x| + |y|)^2 - (x^2 + a^2)) + (|x| + |y|)^2 + (x^2 + a^2))/2 - (y^2 + z^2)) + (abs((|x| + |y|)^2 - (x^2 + a^2)) + (|x| + |y|)^2 + (x^2 + a^2))/2 + (y^2 + z^2))/2 + (|z| + |a|)^2)/2 = 25


• X -> W Rotation Function, from trinity to trinity cut

(abs((abs((abs((|(x*sin(a))| + |y|)^2 - ((x*sin(a))^2 + (x*cos(a))^2)) + (|(x*sin(a))| + |y|)^2 + ((x*sin(a))^2 + (x*cos(a))^2))/2 - (y^2 + z^2)) + (abs((|(x*sin(a))| + |y|)^2 - ((x*sin(a))^2 + (x*cos(a))^2)) + (|(x*sin(a))| + |y|)^2 + ((x*sin(a))^2 + (x*cos(a))^2))/2 + (y^2 + z^2))/2 - (|z| + |(x*cos(a))|)^2) + (abs((abs((|(x*sin(a))| + |y|)^2 - ((x*sin(a))^2 + (x*cos(a))^2)) + (|(x*sin(a))| + |y|)^2 + ((x*sin(a))^2 + (x*cos(a))^2))/2 - (y^2 + z^2)) + (abs((|(x*sin(a))| + |y|)^2 - ((x*sin(a))^2 + (x*cos(a))^2)) + (|(x*sin(a))| + |y|)^2 + ((x*sin(a))^2 + (x*cos(a))^2))/2 + (y^2 + z^2))/2 + (|z| + |(x*cos(a))|)^2)/2 = 25



RSCCSR 45deg Oblique Cut
Image

4D RSCCSR Passing Through a 3-plane
Image

4D RSCCSR 90 degree Rotation
Image
It is by will alone, I set my donuts in motion
ICN5D
Pentonian
 
Posts: 1135
Joined: Mon Jul 28, 2008 4:25 am
Location: the Land of Flowers

Re: Implicit Definition of Other Shapes

Postby ICN5D » Wed Mar 04, 2015 11:11 pm

So, thinking about this RSCCSR, I'm trying to picture how it looks in 4D. The trinity, RSC, can be loosely described as a cylinder that got squeezed sideways, through a rhombus shaped hole. There are four places where the cylinder got "shaved" , to make a trinity.

The RSCCSR seems to be very duocylinder-like, with its cuts and symmetry. So, I'm wondering, what 3D shaped hole did a duocylinder get squeezed through? I'm thinking it could be an octahedron, from the two different rhombus sections. If so, the duocylinder would have gotten shaved in 8 places, four for each of its 2 distinct cylinder cuts.
It is by will alone, I set my donuts in motion
ICN5D
Pentonian
 
Posts: 1135
Joined: Mon Jul 28, 2008 4:25 am
Location: the Land of Flowers

Re: Implicit Definition of Other Shapes

Postby Marek14 » Thu Mar 05, 2015 6:11 am

Interesting :)
Marek14
Pentonian
 
Posts: 1191
Joined: Sat Jul 16, 2005 6:40 pm

Re: Implicit Definition of Other Shapes

Postby ICN5D » Tue Apr 21, 2015 11:07 pm

Well, today I wrote something of a super-equation, that defines 7 different 3D shapes. After playing with three different shapes in 7D and 8D, I came to this one, which seemed to be the most efficient. I call it the Cubsphonindrone, defined as IOO>II> in 7D. Didn't animate it, but here's a script for CalcPlot3D. It's the rotate function at the bottom:


Super-Equation for 3D shapes.txt
(2.57 KiB) Downloaded 524 times



And, how I derived the function:



IOO>II> - 7D Cubsphonindrone, pyramid of (sphone,square) prism

I - 1D Line : Start with line in 1-plane X

    |x| = a

IO - 2D Circle : bisecting rotate Line around origin, along X into Y

    √(x²+y²) = a

IOO - 3D Sphere : bisecting rotate Circle around X, along Y into Z

    √(x²+y²+z²) = a

IOO> - 4D Sphone : scale Sphere to a point along W

    |√(x²+y²+z²) + 2w| + √(x²+y²+z²) = a

IOO>I - 5D Sphoninder : extend Sphone along V, sphone-xyzw times line-v

    ||√(x²+y²+z²)+2w|+√(x²+y²+z²) - 2v| + ||√(x²+y²+z²)+2w|+√(x²+y²+z²) + 2v| = a

IOO>II - 6D Cubsphoninder : extend Sphoninder along U, sphone-xyzw times square-vu

    ||√(x²+y²+z²)+2w|+√(x²+y²+z²) - |v-u|-|v+u|| + ||√(x²+y²+z²)+2w|+√(x²+y²+z²) + |v-u|+|v+u|| = a

IOO>II> - 7D Cubsphonindrone : scale Cubsphoninder to a point along T

    |||√(x²+y²+z²)+2w|+√(x²+y²+z²)-|v-u|-|v+u||+||√(x²+y²+z²)+2w|+√(x²+y²+z²)+|v-u|+|v+u|| + 4t| + ||√(x²+y²+z²)+2w|+√(x²+y²+z²)-|v-u|-|v+u||+||√(x²+y²+z²)+2w|+√(x²+y²+z²)+|v-u|+|v+u|| = a


Full 7D Implicit Surface Equation:

f(x,y,z,w,v,u,t) = |||√(x²+y²+z²)+2w|+√(x²+y²+z²)-|v-u|-|v+u||+||√(x²+y²+z²)+2w|+√(x²+y²+z²)+|v-u|+|v+u|| + 4t| + ||√(x²+y²+z²)+2w|+√(x²+y²+z²)-|v-u|-|v+u||+||√(x²+y²+z²)+2w|+√(x²+y²+z²)+|v-u|+|v+u|| - a


abs(abs(abs(sqrt(x^2+y^2+z^2) +2w)+sqrt(x^2+y^2+z^2) -abs(v-u)-abs(v+u)) + abs(abs(sqrt(x^2+y^2+z^2) +2w)+sqrt(x^2+y^2+z^2) +abs(v-u)+abs(v+u)) + 4t) + abs(abs(sqrt(x^2+y^2+z^2) +2w)+sqrt(x^2+y^2+z^2) -abs(v-u)-abs(v+u)) + abs(abs(sqrt(x^2+y^2+z^2) +2w)+sqrt(x^2+y^2+z^2) +abs(v-u)+abs(v+u)) = a

----

3D Hyperplane Intersections of IOO>II> along XYZWVUT, i = dimension set to zero

IOOiiii - IOO sphere, WVUT=0

abs(abs(abs(sqrt(x^2+y^2+z^2) +2*0)+sqrt(x^2+y^2+z^2) -abs(0-0)-abs(0+0)) + abs(abs(sqrt(x^2+y^2+z^2) +2*0)+sqrt(x^2+y^2+z^2) +abs(0-0)+abs(0+0)) + 4*0) + abs(abs(sqrt(x^2+y^2+z^2) +2*0)+sqrt(x^2+y^2+z^2) -abs(0-0)-abs(0+0)) + abs(abs(sqrt(x^2+y^2+z^2) +2*0)+sqrt(x^2+y^2+z^2) +abs(0-0)+abs(0+0)) = 20

IOi>iii - IO> cone, ZVUT=0

abs(abs(abs(sqrt(x^2+y^2+0^2) +2z)+sqrt(x^2+y^2+0^2) -abs(0-0)-abs(0+0)) + abs(abs(sqrt(x^2+y^2+0^2) +2z)+sqrt(x^2+y^2+0^2) +abs(0-0)+abs(0+0)) + 4*0) + abs(abs(sqrt(x^2+y^2+0^2) +2z)+sqrt(x^2+y^2+0^2) -abs(0-0)-abs(0+0)) + abs(abs(sqrt(x^2+y^2+0^2) +2z)+sqrt(x^2+y^2+0^2) +abs(0-0)+abs(0+0)) = 20

IOiiIii - IOI cylinder, ZWUT=0

abs(abs(abs(sqrt(x^2+y^2+0^2) +2*0)+sqrt(x^2+y^2+0^2) -abs(z-0)-abs(z+0)) + abs(abs(sqrt(x^2+y^2+0^2) +2*0)+sqrt(x^2+y^2+0^2) +abs(z-0)+abs(z+0)) + 4*0) + abs(abs(sqrt(x^2+y^2+0^2) +2*0)+sqrt(x^2+y^2+0^2) -abs(z-0)-abs(z+0)) + abs(abs(sqrt(x^2+y^2+0^2) +2*0)+sqrt(x^2+y^2+0^2) +abs(z-0)+abs(z+0)) = 20

IiiiIIi - III cube, YZWT=0

abs(abs(abs(sqrt(x^2+0^2+0^2) +2*0)+sqrt(x^2+0^2+0^2) -abs(y-z)-abs(y+z)) + abs(abs(sqrt(x^2+0^2+0^2) +2*0)+sqrt(x^2+0^2+0^2) +abs(y-z)+abs(y+z)) + 4*0) + abs(abs(sqrt(x^2+0^2+0^2) +2*0)+sqrt(x^2+0^2+0^2) -abs(y-z)-abs(y+z)) + abs(abs(sqrt(x^2+0^2+0^2) +2*0)+sqrt(x^2+0^2+0^2) +abs(y-z)+abs(y+z)) = 20

IiiiiI> - II> sq pyramid, YZWV=0

abs(abs(abs(sqrt(x^2+0^2+0^2) +2*0)+sqrt(x^2+0^2+0^2) -abs(0-y)-abs(0+y)) + abs(abs(sqrt(x^2+0^2+0^2) +2*0)+sqrt(x^2+0^2+0^2) +abs(0-y)+abs(0+y)) + 4z) + abs(abs(sqrt(x^2+0^2+0^2) +2*0)+sqrt(x^2+0^2+0^2) -abs(0-y)-abs(0+y)) + abs(abs(sqrt(x^2+0^2+0^2) +2*0)+sqrt(x^2+0^2+0^2) +abs(0-y)+abs(0+y)) = 20

Iii>Iii - I>I triangle prism, YZUT=0

abs(abs(abs(sqrt(x^2+0^2+0^2) +2y)+sqrt(x^2+0^2+0^2) -abs(z-0)-abs(z+0)) + abs(abs(sqrt(x^2+0^2+0^2) +2y)+sqrt(x^2+0^2+0^2) +abs(z-0)+abs(z+0)) + 4*0) + abs(abs(sqrt(x^2+0^2+0^2) +2y)+sqrt(x^2+0^2+0^2) -abs(z-0)-abs(z+0)) + abs(abs(sqrt(x^2+0^2+0^2) +2y)+sqrt(x^2+0^2+0^2) +abs(z-0)+abs(z+0)) = 20

Iii>ii> - I>> tetrahedron, YZVU=0

abs(abs(abs(sqrt(x^2+0^2+0^2) +2y)+sqrt(x^2+0^2+0^2) -abs(0-0)-abs(0+0)) + abs(abs(sqrt(x^2+0^2+0^2) +2y)+sqrt(x^2+0^2+0^2) +abs(0-0)+abs(0+0)) + 4z) + abs(abs(sqrt(x^2+0^2+0^2) +2y)+sqrt(x^2+0^2+0^2) -abs(0-0)-abs(0+0)) + abs(abs(sqrt(x^2+0^2+0^2) +2y)+sqrt(x^2+0^2+0^2) +abs(0-0)+abs(0+0)) = 20

-----

Building the rotate function for turning the 3-plane to all 7 distinct intersections in 3D:


Start with 7D equation,

abs(abs(abs(sqrt(x^2+y^2+z^2) +2w)+sqrt(x^2+y^2+z^2) -abs(v-u)-abs(v+u)) + abs(abs(sqrt(x^2+y^2+z^2) +2w)+sqrt(x^2+y^2+z^2) +abs(v-u)+abs(v+u)) + 4t) + abs(abs(sqrt(x^2+y^2+z^2) +2w)+sqrt(x^2+y^2+z^2) -abs(v-u)-abs(v+u)) + abs(abs(sqrt(x^2+y^2+z^2) +2w)+sqrt(x^2+y^2+z^2) +abs(v-u)+abs(v+u)) = 20


Define rotation parameters,

    Y -> W
    Z -> V
    (Y at W) -> U
    (Z at V) -> T

    y = (y*sin(a))
    z = (z*sin(b))
    w = ((y*cos(a))*sin(c))
    v = ((z*cos(b))*sin(d))
    u = ((y*cos(a))*cos(c))
    t = ((z*cos(b))*cos(d))



abs(abs(abs(sqrt(x^2+(y*sin(a))^2+(z*sin(b))^2) +2((y*cos(a))*sin(c)))+sqrt(x^2+(y*sin(a))^2+(z*sin(b))^2) -abs(((z*cos(b))*sin(d))-((y*cos(a))*cos(c)))-abs(((z*cos(b))*sin(d))+((y*cos(a))*cos(c)))) + abs(abs(sqrt(x^2+(y*sin(a))^2+(z*sin(b))^2) +2((y*cos(a))*sin(c)))+sqrt(x^2+(y*sin(a))^2+(z*sin(b))^2) +abs(((z*cos(b))*sin(d))-((y*cos(a))*cos(c)))+abs(((z*cos(b))*sin(d))+((y*cos(a))*cos(c)))) + 4((z*cos(b))*cos(d))) + abs(abs(sqrt(x^2+(y*sin(a))^2+(z*sin(b))^2) +2((y*cos(a))*sin(c)))+sqrt(x^2+(y*sin(a))^2+(z*sin(b))^2) -abs(((z*cos(b))*sin(d))-((y*cos(a))*cos(c)))-abs(((z*cos(b))*sin(d))+((y*cos(a))*cos(c)))) + abs(abs(sqrt(x^2+(y*sin(a))^2+(z*sin(b))^2) +2((y*cos(a))*sin(c)))+sqrt(x^2+(y*sin(a))^2+(z*sin(b))^2) +abs(((z*cos(b))*sin(d))-((y*cos(a))*cos(c)))+abs(((z*cos(b))*sin(d))+((y*cos(a))*cos(c)))) = 20


Set Ranges to:

0 < a,b,c,d < π/2
XYZbox = -10,10
Plot in 37 Cubes Resolution


Navigating around the shape:

[a,b,c,d] - Adjustable Parameter Values for 3D Midsection Positions

IOO Sphere = [π/2,π/2,π/2,π/2], [π/2,π/2,0,π/2], [π/2,π/2,0,0]
IOI Cylinder = [π/2,0,π/2,π/2], [π/2,0,0,π/2], [0,π/2,0,π/2], [0,π/2,0,0]
IO> Cone = [0,π/2,π/2,π/2], [π/2,0,0,0], [0,π/2,π/2,0], [π/2,0,π/2,0]
III Cube = [0,0,0,π/2]
II> Square Pyramid = [0,0,0,0]
I>I Triangle Prism = [0,0,π/2,π/2]
I>> Tetrahedron = [0,0,π/2,0]

When a=1.57 or b=1.57, adjusting c or d, respectively, will have no effect. Only when they are equal to zero, will c and d rotate to another 3-plane.



Good Morph Cycles through all 7 intersections:

    • Set a,b,c,d to 1.57
    • On the first occurrence of the parameter, slide it to 0
    • On the second occurrence, slide it back to 1.57

a,c,b,d,c,d,b,a

a,c,b,c,d,a,d,b
It is by will alone, I set my donuts in motion
ICN5D
Pentonian
 
Posts: 1135
Joined: Mon Jul 28, 2008 4:25 am
Location: the Land of Flowers

Re: Implicit Definition of Other Shapes

Postby ICN5D » Sat May 16, 2015 8:13 pm

I found an implicit equation for a wire-frame cube. Or, more specifically, a spherated cube.

Implicit equation for square: |x-y| + |x+y| = a

Implicit equation for circle over square-frame: (√(|x-y|+|x+y|)-a)² = b²


Union of the 3 coordinate 2-planes in 3D:

xy + xz + yz = b²


Defining the 3 coordinate circle over square-frames:

xy = (√(|x-y|+|x+y|)-a)²
xz = (√(|x-z|+|x+z|)-a)²
yz = (√(|y-z|+|y+z|)-a)²


Equals,

(√(|x-y|+|x+y|)-a)² + (√(|x-z|+|x+z|)-a)² + (√(|y-z|+|y+z|)-a)² = b²

(sqrt(abs(x-y)+abs(x+y))-a)^2 + (sqrt(abs(x-z)+abs(x+z))-a)^2 + (sqrt(abs(y-z)+abs(y+z))-a)^2 = b^2

Circumradius of major cube: a = 3
Radius of minor circle: b = 0.3


Image


I also made glome spherating tesseract, and I'm thinking of rotating it to see if I can get wireframe tesseract slices.
It is by will alone, I set my donuts in motion
ICN5D
Pentonian
 
Posts: 1135
Joined: Mon Jul 28, 2008 4:25 am
Location: the Land of Flowers

Re: Implicit Definition of Other Shapes

Postby ICN5D » Tue May 19, 2015 11:51 pm

Some more interesting mathematical things:

Circle over the 1-frame of tesseract:

Produces a truss tube tesseract model in 4D. In 3D, we see ellipsoid sections tracing out the 1-frames of a tesseract.


Implicit equation for square: |x-y| + |x+y| = a


2D equation for a circle over square-frame: (√(|x-y|+|x+y|)-a)² = b²


Defining the six coordinate square-frames in 4D:

xy = (√(|x-y|+|x+y|)-a)²
xz = (√(|x-z|+|x+z|)-a)²
yz = (√(|y-z|+|y+z|)-a)²
xw = (√(|x-w|+|x+w|)-a)²
yw = (√(|y-w|+|y+w|)-a)²
zw = (√(|z-w|+|z+w|)-a)²


Circle over the surface product of the six coordinate square frames in 4D:

xy + xz + yz + xw + yw + zw = b²


equals,

(√(|x-y|+|x+y|)-a)² + (√(|x-z|+|x+z|)-a)² + (√(|y-z|+|y+z|)-a)² + (√(|x-w|+|x+w|)-a)² + (√(|y-w|+|y+w|)-a)² + (√(|z-w|+|z+w|)-a)² = b²


(sqrt(abs(x-y)+abs(x+y))-a)^2 + (sqrt(abs(x-z)+abs(x+z))-a)^2 + (sqrt(abs(y-z)+abs(y+z))-a)^2 + (sqrt(abs(x-w)+abs(x+w))-a)^2 + (sqrt(abs(y-w)+abs(y+w))-a)^2 + (sqrt(abs(z-w)+abs(z+w))-a)^2 = b^2


major tesseract circumradius = a = 3
minor circle radius = b = 0.2


(sqrt(abs(x-y)+abs(x+y))-3)^2 + (sqrt(abs(x-z)+abs(x+z))-3)^2 + (sqrt(abs(y-z)+abs(y+z))-3)^2 + (sqrt(abs(x-w)+abs(x+w))-3)^2 + (sqrt(abs(y-w)+abs(y+w))-3)^2 + (sqrt(abs(z-w)+abs(z+w))-3)^2 = 0.2


Triple axis rotation:

x = (x*sin(b) + a*cos(b))
y = (y*sin(c) + (x*cos(b) - a*sin(b))*cos(c))
z = (z*sin(d) + (y*cos(c) - (x*cos(b) - a*sin(b))*sin(c))*cos(d))
w = (z*cos(d) - (y*cos(c) - (x*cos(b) - a*sin(b))*sin(c))*sin(d))


(sqrt(abs((x*sin(b) + a*cos(b))-(y*sin(c) + (x*cos(b) - a*sin(b))*cos(c)))+abs((x*sin(b) + a*cos(b))+(y*sin(c) + (x*cos(b) - a*sin(b))*cos(c))))-3)^2 + (sqrt(abs((x*sin(b) + a*cos(b))-(z*sin(d) + (y*cos(c) - (x*cos(b) - a*sin(b))*sin(c))*cos(d)))+abs((x*sin(b) + a*cos(b))+(z*sin(d) + (y*cos(c) - (x*cos(b) - a*sin(b))*sin(c))*cos(d))))-3)^2 + (sqrt(abs((y*sin(c) + (x*cos(b) - a*sin(b))*cos(c))-(z*sin(d) + (y*cos(c) - (x*cos(b) - a*sin(b))*sin(c))*cos(d)))+abs((y*sin(c) + (x*cos(b) - a*sin(b))*cos(c))+(z*sin(d) + (y*cos(c) - (x*cos(b) - a*sin(b))*sin(c))*cos(d))))-3)^2 + (sqrt(abs((x*sin(b) + a*cos(b))-(z*cos(d) - (y*cos(c) - (x*cos(b) - a*sin(b))*sin(c))*sin(d)))+abs((x*sin(b) + a*cos(b))+(z*cos(d) - (y*cos(c) - (x*cos(b) - a*sin(b))*sin(c))*sin(d))))-3)^2 + (sqrt(abs((y*sin(c) + (x*cos(b) - a*sin(b))*cos(c))-(z*cos(d) - (y*cos(c) - (x*cos(b) - a*sin(b))*sin(c))*sin(d)))+abs((y*sin(c) + (x*cos(b) - a*sin(b))*cos(c))+(z*cos(d) - (y*cos(c) - (x*cos(b) - a*sin(b))*sin(c))*sin(d))))-3)^2 + (sqrt(abs((z*sin(d) + (y*cos(c) - (x*cos(b) - a*sin(b))*sin(c))*cos(d))-(z*cos(d) - (y*cos(c) - (x*cos(b) - a*sin(b))*sin(c))*sin(d)))+abs((z*sin(d) + (y*cos(c) - (x*cos(b) - a*sin(b))*sin(c))*cos(d))+(z*cos(d) - (y*cos(c) - (x*cos(b) - a*sin(b))*sin(c))*sin(d))))-3)^2 = 0.2

Passing through,

Corner First: b=1.0477 , c=0.9554 , d=0.785 , animate -11 < a < 11
Line First: b=1.5707 , c=0.9554 , d=0.785 , animate -11 < a < 11
Square First: b=1.5707 , c=1.5707 , d=0.785 , animate -11 < a < 11
Cube First: b=1.5707 , c=1.5707 , d=1.5707 , animate -11 < a < 11



===================================================================================================================================


So, if defining the coordinate 2-planes will spherate the 1-frames, what about defining the coordinate 3-planes in 4D?


Circle over the 2-frame of Tesseract:

Empties out the 3 and 4 frames of a tesseract, spherates the 2-frame with circle. Produces sections of the tesseract in the form of 3D truss tube models.

Equation for Cube :

||x-y|+|x+y| -2z| + ||x-y|+|x+y| +2z| = a


3D Equation for circle over Cube-frame :

(√(||x-y|+|x+y| -2z| + ||x-y|+|x+y| +2z|)-a)² = b²


Defining the Coordinate Cube-frames in 4D:

xyz = (√(||x-y|+|x+y| -2z| + ||x-y|+|x+y| +2z|)-a)²
xyw = (√(||x-y|+|x+y| -2w| + ||x-y|+|x+y| +2w|)-a)²
xzw = (√(||x-z|+|x+z| -2w| + ||x-z|+|x+z| +2w|)-a)²
yzw = (√(||y-z|+|y+z| -2w| + ||y-z|+|y+z| +2w|)-a)²


Circle over the surface product of 4 coordinate cube-frames in 4D:

xyz + xyw + xzw + yzw = b²


Equals,

(√(||x-y|+|x+y| -2z| + ||x-y|+|x+y| +2z|)-a)² + (√(||x-y|+|x+y| -2w| + ||x-y|+|x+y| +2w|)-a)² + (√(||x-z|+|x+z| -2w| + ||x-z|+|x+z| +2w|)-a)² + (√(||y-z|+|y+z| -2w| + ||y-z|+|y+z| +2w|)-a)² = b²

major tesseract circumradius = a = 3
minor circle radius = b = 0.07

(sqrt(abs(abs(x-y)+abs(x+y) -2z) + abs(abs(x-y)+abs(x+y) +2z))-3)^2 + (sqrt(abs(abs(x-y)+abs(x+y) -2w) + abs(abs(x-y)+abs(x+y) +2w))-3)^2 + (sqrt(abs(abs(x-z)+abs(x+z) -2w) + abs(abs(x-z)+abs(x+z) +2w))-3)^2 + (sqrt(abs(abs(y-z)+abs(y+z) -2w) + abs(abs(y-z)+abs(y+z) +2w))-3)^2 = 0.07


Three-Axis Rotate with Translate, w=a

x = (x*sin(b) + a*cos(b))
y = (y*sin(c) + (x*cos(b) - a*sin(b))*cos(c))
z = (z*sin(d) + (y*cos(c) - (x*cos(b) - a*sin(b))*sin(c))*cos(d))
w = (z*cos(d) - (y*cos(c) - (x*cos(b) - a*sin(b))*sin(c))*sin(d))


equals the most enormous equation ever,


(sqrt(abs(abs((x*sin(b)+a*cos(b))-(y*sin(c)+(x*cos(b)-a*sin(b))*cos(c)))+abs((x*sin(b)+a*cos(b))+(y*sin(c)+(x*cos(b)-a*sin(b))*cos(c)))-2(z*sin(d)+(y*cos(c)-(x*cos(b)-a*sin(b))*sin(c))*cos(d)))+abs(abs((x*sin(b)+a*cos(b))-(y*sin(c)+(x*cos(b)-a*sin(b))*cos(c)))+abs((x*sin(b)+a*cos(b))+(y*sin(c)+(x*cos(b)-a*sin(b))*cos(c)))+2(z*sin(d)+(y*cos(c)-(x*cos(b)-a*sin(b))*sin(c))*cos(d))))-3)^2+(sqrt(abs(abs((x*sin(b)+a*cos(b))-(y*sin(c)+(x*cos(b)-a*sin(b))*cos(c)))+abs((x*sin(b)+a*cos(b))+(y*sin(c)+(x*cos(b)-a*sin(b))*cos(c)))-2(z*cos(d)-(y*cos(c)-(x*cos(b)-a*sin(b))*sin(c))*sin(d)))+abs(abs((x*sin(b)+a*cos(b))-(y*sin(c)+(x*cos(b)-a*sin(b))*cos(c)))+abs((x*sin(b)+a*cos(b))+(y*sin(c)+(x*cos(b)-a*sin(b))*cos(c)))+2(z*cos(d)-(y*cos(c)-(x*cos(b)-a*sin(b))*sin(c))*sin(d))))-3)^2+(sqrt(abs(abs((x*sin(b)+a*cos(b))-(z*sin(d)+(y*cos(c)-(x*cos(b)-a*sin(b))*sin(c))*cos(d)))+abs((x*sin(b)+a*cos(b))+(z*sin(d)+(y*cos(c)-(x*cos(b)-a*sin(b))*sin(c))*cos(d)))-2(z*cos(d)-(y*cos(c)-(x*cos(b)-a*sin(b))*sin(c))*sin(d)))+abs(abs((x*sin(b)+a*cos(b))-(z*sin(d)+(y*cos(c)-(x*cos(b)-a*sin(b))*sin(c))*cos(d)))+abs((x*sin(b)+a*cos(b))+(z*sin(d)+(y*cos(c)-(x*cos(b)-a*sin(b))*sin(c))*cos(d)))+2(z*cos(d)-(y*cos(c)-(x*cos(b)-a*sin(b))*sin(c))*sin(d))))-3)^2+(sqrt(abs(abs((y*sin(c)+(x*cos(b)-a*sin(b))*cos(c))-(z*sin(d)+(y*cos(c)-(x*cos(b)-a*sin(b))*sin(c))*cos(d)))+abs((y*sin(c)+(x*cos(b)-a*sin(b))*cos(c))+(z*sin(d)+(y*cos(c)-(x*cos(b)-a*sin(b))*sin(c))*cos(d)))-2(z*cos(d)-(y*cos(c)-(x*cos(b)-a*sin(b))*sin(c))*sin(d)))+abs(abs((y*sin(c)+(x*cos(b)-a*sin(b))*cos(c))-(z*sin(d)+(y*cos(c)-(x*cos(b)-a*sin(b))*sin(c))*cos(d)))+abs((y*sin(c)+(x*cos(b)-a*sin(b))*cos(c))+(z*sin(d)+(y*cos(c)-(x*cos(b)-a*sin(b))*sin(c))*cos(d)))+2(z*cos(d)-(y*cos(c)-(x*cos(b)-a*sin(b))*sin(c))*sin(d))))-3)^2 = 0.07

XYZbox = -5 , 5

Corner First: b=1.0477 , c=0.9554 , d=0.785 , animate -5.5 < a < 5.5
Line First: b=1.5707 , c=0.9554 , d=0.785 , animate -5.5 < a < 5.5
Square First: b=1.5707 , c=1.5707 , d=0.785 , animate -5.5 < a < 5.5
Cube First: b=1.5707 , c=1.5707 , d=1.5707 , animate -5.5 < a < 5.5

This function needs an animation gallery, for sure. You can actually explore it in calcplot, in 27 cubes resolution. A bit blocky, but does the trick.
It is by will alone, I set my donuts in motion
ICN5D
Pentonian
 
Posts: 1135
Joined: Mon Jul 28, 2008 4:25 am
Location: the Land of Flowers

Re: Implicit Definition of Other Shapes

Postby ICN5D » Mon Aug 24, 2015 7:40 pm

Well, I've discovered a shape that I cannot mathematically define! Once you think you've got it all figured out, you find something like this.

It's the Toric Pyramid in 4D : IO(O)> , point || torus

The equation I was expecting to work was:

|√((√(x²+y²)-4)²+z²) + 2w| + √((√(x²+y²)-4)²+z²) = 3

which follows the current shape construction algorithm that has been working out really well:

I - 1D Line

|x| = a

IO - 2D Circle : bisecting rotate Line around origin, along X into Y

√(x² + y²) = a

IO(O) - 3D Torus : shift Circle along X by b, sweep around Y, along X into Z

√((√(x² + z²) - b)² + y²) = a

rewrites to

√((√(x² + y²) - b)² + z²) = a

IO(O)> - 4D Toricone : scale Torus to a point along W :

n = torus equation
general n-pyramid operation along W, n> = |n + 2w| + n

|√((√(x²+y²)-b)²+z²) + 2w| + √((√(x²+y²)-b)²+z²) = a


But, this equation ends up making a conic torus IO>(O) instead (cone over the circle), which is also following the correct build process!

I - 1D Line

|x| = a

IO - 2D Circle : bisecting rotate Line around origin, along X into Y

√(x² + y²) = a

IO> - 3D Cone : scale Circle to a point along Z

|√(x²+y²) + 2z| + √(x²+y²) = a

IO>(O) - 4D Cone Torus : shift Cone along X by b , sweep around YZ, along X into W

x = (x - b) : to shift by b ,
x = √(x² + w²) : to sweep along x into w

|√((√(x² + w²) - b)² + y²) + 2z| + √((√(x² + w²) - b)² + y²) = a

rewrites to

|√((√(x² + y²) - b)² + z²) + 2w| + √((√(x² + y²) - b)² + z²) = a


So, I'm stuck. It seems like such a simple thing, too. Both a toric pyramid and cone torus have the same derived equation, but one most certainly is not the other.

Could a toric pyramid be mathematically undefinable? Does the hole of a torus present a problem, when tapering to a 0D point?

Could there be something about the hole, as some kind of irreducible topological anomaly, when it comes to tapering something along a finite distance, to an infinitely tiny point?
It is by will alone, I set my donuts in motion
ICN5D
Pentonian
 
Posts: 1135
Joined: Mon Jul 28, 2008 4:25 am
Location: the Land of Flowers

Re: Implicit Definition of Other Shapes

Postby ICN5D » Mon Aug 24, 2015 7:56 pm

Thinking about it some more, I see that the taper operation is acting on the minor diameter only. Maybe if I apply a tapering to the major diameter as well, to define a cone-shaped hole along 4-space? That just might work ...
It is by will alone, I set my donuts in motion
ICN5D
Pentonian
 
Posts: 1135
Joined: Mon Jul 28, 2008 4:25 am
Location: the Land of Flowers

Re: Implicit Definition of Other Shapes

Postby ICN5D » Mon Aug 24, 2015 8:15 pm

Tried something out:

Taking the derived equation for cone torus:

|√((√(x² + y²) - 4)² + z²) + 2w| + √((√(x² + y²) - 4)² + z²) = 3

replacing the major diameter terms √(x² + y²) with

√(x²+y²) == |√(x²+y²)+4w| + √(x²+y²)

to define a tapering shape of the major diameter along W, which then becomes,

|√((|√(x²+y²)+4w| + √(x²+y²) -4)^2 +z²) +2w| + √((|√(x²+y²)+4w| + √(x²+y²) -4)^2 +z²) = 3

graphing this function with w=0 ,

abs(sqrt((abs(sqrt(x^2+y^2)+2a) + sqrt(x^2+y^2) -4)^2 +z^2) +2a) + sqrt((abs(sqrt(x^2+y^2)+2a) + sqrt(x^2+y^2) -4)^2 +z^2) = 3

we do end up getting a torus that sort of scales to a point, but the apex and base of the supposed pyramid is a filled in disk. The hole disappears at both ends, and becomes something more like a circle over the cone IO(>O) shape. A torus exists between -0.4 < a < 0.4 . So, the equation does not accurately define a toric pyramid.
Last edited by ICN5D on Tue Aug 25, 2015 1:19 am, edited 1 time in total.
It is by will alone, I set my donuts in motion
ICN5D
Pentonian
 
Posts: 1135
Joined: Mon Jul 28, 2008 4:25 am
Location: the Land of Flowers

Re: Implicit Definition of Other Shapes

Postby Marek14 » Mon Aug 24, 2015 8:31 pm

Have you tried an easier task to make a cone out of two concentric circles? That's basically 2D torus.
Marek14
Pentonian
 
Posts: 1191
Joined: Sat Jul 16, 2005 6:40 pm

Re: Implicit Definition of Other Shapes

Postby ICN5D » Mon Aug 24, 2015 9:59 pm

Something like this? :

2 concentric circles
sqrt((sqrt(x^2 + y^2) -4)^2) = 1

taper along Z,

abs(sqrt((sqrt(x^2 + y^2) -4)^2) + 2z) + sqrt((sqrt(x^2 + y^2) -4)^2) = 3

It tapers to a circle, and makes a triangle torus, I>(O) . Hmm.....
It is by will alone, I set my donuts in motion
ICN5D
Pentonian
 
Posts: 1135
Joined: Mon Jul 28, 2008 4:25 am
Location: the Land of Flowers

Re: Implicit Definition of Other Shapes

Postby Marek14 » Mon Aug 24, 2015 11:33 pm

But if you try to taper the whole 2 circles into a point, you have basically two options: either two cones, full and empty, with common vertex (both major and minor diameter taper), or you taper only the major diameter, leading to cone that will be full from certain point up.
Marek14
Pentonian
 
Posts: 1191
Joined: Sat Jul 16, 2005 6:40 pm

Re: Implicit Definition of Other Shapes

Postby ICN5D » Tue Aug 25, 2015 1:11 am

That's what I've been trying to do :) . So far, the working taper operator for shape n with m-dimensions is n> = |n + 2x_(m+1)| + n . But, this method doesn't account for the major diameter. I tried defining a tapering major diameter, but it lead to a biscuit shaped slice at the base/apex. The torinder IO(O)I equation works just fine, with an unchanging torus when sliding along the linear 4D extension. I can't seem to make a torus scale to a point, without having the hole disappear at the base/apex, or become elliptical.
It is by will alone, I set my donuts in motion
ICN5D
Pentonian
 
Posts: 1135
Joined: Mon Jul 28, 2008 4:25 am
Location: the Land of Flowers

Mathematical Definition of Construction Operators

Postby ICN5D » Fri Jan 29, 2016 5:13 am

Here's the mathematical definitions of the construction operators, which can be remembered by the acronym STEMP :

Spin, Taper, Extrude, Manifold, Product : O, >, I, (m), [m]

This is a breakdown on my procedural equation writing method, as based off my notation.


-------------------------------------------------------------------------------------------------------------------------



Spin / Bisecting Rotate : O

An n-dimensional shape rotates around an n-1 plane, into the n+1 dimension. This n-1 plane is a bisecting plane, that divides the shape in half. The n-1 plane acts like a stationary axle for the spinning motion of the rotation. Since the stationary plane has one dimension less than the whole shape, there will always be one axis left over: the non-stationary axis. This is the only variable we change in the starting shape's equation. All we have to do is choose a stationary plane, to isolate out the one and only non-stationary axis.

• Non-Stationary Axis : xn

• Bisecting rotate into x(n+1) :

xn = √(xn² + x(n+1)²)

• If xn is already in an n-sphere parameter, it becomes an n+1 sphere, without the extra sqrt term. Bisecting rotation of an n-sphere always leads to an (n+1)-sphere. We simply add more squared variables into the existing sqrt term.

√(xn² + x(n+1)²) = √(xn² + x(n+1)² + x(n+2)²)


Some examples:

• Rotate Line I around origin, along X into Y, making circle IO

Line I : |x| = a

circle : √(x²+y²) = a


• Rotate Circle around X, along Y into Z, making Sphere IOO

Circle IO : √(x²+y²) = a

y² = y² + z²

Sphere : √(x²+y²+z²) = a


• Rotate Sphere IOO around XY, along Z into W, making Glome IOOO

Sphere IOO : √(x²+y²+z²) = a

z² = z² + w²

Glome : √(x²+y²+z²+w²) = a


• Rotate Triangle I> around Y, along X into Z, making Cone I>O

Triangle I> : ||x| + 2y| + |x| = a

x = √(x²+z²)

Cone : |√(x²+z²) + 2y| + √(x²+z²) = a , you can remove the absolute value around x


• Rotate Cone I>O around XZ, along Y into W, making Sphone I>OO = IOO>

Cone I>O : |√(x²+y²) + 2z| + √(x²+y²) = a

y² = y² + w²

Sphone : |√(x²+y²+w²) + 2z| + √(x²+y²+w²) = a


• Rotate Square II around Y, along X into Z, making Cylinder IIO

Square II : |x-y| + |x+y| = a

x = √(x²+z²)

Cylinder : |√(x²+z²)-y| + |√(x²+z²)+y| = a


• Rotate Cylinder IOI around XY, along Z into W, making Duocylinder IOIO

Cylinder IOI : |√(x²+y²) - z| + |√(x²+y²) + z| = a

z = √(z²+w²)

Duocylinder : |√(x²+z²) - √(z²+w²)| + |√(x²+z²) + √(z²+w²)| = a


• Rotate Cylinder IOI around XZ, along Y into W, making Spherinder IOOI

Cylinder IOI : |√(x²+y²) - z| + |√(x²+y²) + z| = a

y² = y²+w²

Spherinder : |√(x²+y²+w²) - z| + |√(x²+y²+w²) + z| = a


• Rotate Cube III around XY, along Z into W, making Cubinder IIIO

Cube IOI : ||x-y|+|x+y| - 2z| + ||x-y|+|x+y| + 2z| = a

z = √(z²+w²)

Cubinder : ||x-y|+|x+y| - 2√(z²+w²)| + ||x-y|+|x+y| + 2√(z²+w²)| = a


• Rotate Triangle Prism I>I around XY, along Z into W, making Cyltrianglinder I>IO

Triangle Prism I>I : |||x|+2y|+|x| - 2z| + |||x|+2y|+|x| + 2z| = a

z = √(z²+w²)

Cyltrianglinder : |||x|+2y|+|x| - 2√(z²+w²)| + |||x|+2y|+|x| + 2√(z²+w²)| = a




-------------------------------------------------------------------------------------------------------------------------




Taper : >

The taper operator m> will extend the base-shape m along the n+1 dimension, while scaling m to a point. This is the general pyramid construction operator. It works for all non-toroidal shapes without a hole. I can't seem to define a 4D toric pyramid, the toricone IO(O)>, quite yet. I always end up with a cone torus IO>(O), instead. The taper operator acts on the minor diameter only, rather than both.

• Equation for shape m : M

• Tapering m into x(n+1) : |M + c*x(n+1)| + M

c = the scaling constant, for the height of the pyramid. Since the variables in M are repeated twice, c should be set to equal out and match their numbers. Otherwise, you'll end up with tall/skinny cones and pyramids. But, this is really for cosmetic purposes, since the shape is topologically true without the constant.



Some Examples:


• Taper Line I along Y, making Triangle I>:

Line I : M = |x|

m> = |M + 2y| + M

Triangle : ||x| + 2y| + |x| = a


• Taper Circle IO along Z, making Cone IO> :

Circle IO : M = √(x²+y²)

m> = |M + 2z| + M

Cone : |√(x²+y²) + 2z| + √(x²+y²) = a


• Taper Triangle I> along Z, making Tetrahedron I>>

Triangle I> : M = ||x|+2y|+|x|

m> = |M + 2z| + M

Tetrahedron : |||x|+2y|+|x| + 2z| + ||x|+2y|+|x| = a , the scaling for Z can be 2 instead of 4


• Taper Square II along Z, making Square Pyramid II>

Square II : M = |x-y|+|x+y|

m> = |M + 3z| + M

Pyramid : ||x-y|+|x+y| + 3z| + |x-y|+|x+y| = a , scaling for Z can be 3, looks better


• Taper Sphere IOO along W, making Sphone IOO> :

Sphere IOO : M = √(x²+y²+z²)

m> = |M + 2w| + M

Sphone : |√(x²+y²+z²) + 2w| + √(x²+y²+z²) = a


• Taper Cylinder IOI along W, making Cylindrone IOI> :

Cylinder IOI : M = |√(x²+y²)-z|+|√(x²+y²)+z|

m> = |M + 3w| + M

Cylindrone : ||√(x²+y²)-z|+|√(x²+y²)+z| + 3w| + |√(x²+y²)-z|+|√(x²+y²)+z| = a


• Taper Cone IO> along W, making Dicone IO>> :

Cone IO> : M = |√(x²+y²)+2z|+√(x²+y²)

m> = |M + 3w| + M

Dicone : ||√(x²+y²)+2z|+√(x²+y²) + 2w| + |√(x²+y²)+2z|+√(x²+y²) = a




-------------------------------------------------------------------------------------------------------------------------




Extrude : I

The extrude/extend operator mI will drag the starting shape m into the n+1 dimension. This is also the cartesian product of shape m times a line segment along x(n+1). Makes a prism out the starting shape m.

• Equation for shape m : M

• Extend m along x(n+1) : |M - c*x(n+1)| + |M + c*x(n+1)|

c = the scaling constant, for the height of the prism. Same rules as the taper apply.



Some Examples:


• Extend Line I along Y, making Square II:

Line I : M = |x|

MI = |M - y| + |M + y|

|x - y| + |x + y| = a , you can remove the abs around x


• Extend Circle IO along Z, making Cylinder IOI:

Circle IO : M = √(x²+y²)

mI = |M - z| + |M + z|

Cylinder : |√(x²+y²) - z| + |√(x²+y²) + z| = a


• Extend Triangle I> along Z, making Triangular Prism I>I

Triangle I> : M = ||x|+2y|+|x|

mI = |M - 2z| + |M + 2z|

Triangular Prism : |||x|+2y|+|x| - 2z| + |||x|+2y|+|x| + 2z| = a


• Extend Square II along Z, making Cube III

Square II : M = |x-y|+|x+y|

mI = |M - 2z| + |M + 2z|

Cube : ||x-y|+|x+y| - 2z| + ||x-y|+|x+y| + 2z| = a


• Extend Cone IO> along W, making Coninder IO>I:

Cone IO> : M = |√(x²+y²)+2z|+√(x²+y²)

mI = |M - 2w| + |M + 2w|

Coninder : ||√(x²+y²)+2z|+√(x²+y²) - 2w| + ||√(x²+y²)+2z|+√(x²+y²) + 2w| = a


• Extend Square Pyramid II> along W, making Square Pyraminder II>I

Square Pyramid II> : M = ||x-y|+|x+y|+3z|+|x-y|+|x+y|

mI = |M - 2w| + |M + 2w|

Pyraminder : |||x-y|+|x+y|+3z|+|x-y|+|x+y| - 4w| + |||x-y|+|x+y|+3z|+|x-y|+|x+y| + 4w| = a


• Extend Sphere IOO along W, making Spherinder IOOI:

Sphere IOO : M = √(x²+y²+z²)

mI = |M - w| + |M + w|

Spherinder : |√(x²+y²+z²) - w| + |√(x²+y²+z²) + w| = a




-------------------------------------------------------------------------------------------------------------------------




Manifold : n(m) / Non-Bisecting Rotate (O)

For a simple non-intersecting rotation, the same rules apply as the bisecting rotation. In terms of choosing a stationary plane, and a non-stationary axis, we use a very similar variable change, to denote an embedding into the 1D edge of a disk. A basic non-bisecting sweeping m(O) starts with shifting the starting shape m along the non-stationary axis, by the value of b. Then, we replace the variable with an equation for a circle.

• Non-Stationary Axis : xn

• Non-Bisecting Sweep along xn into x(n+1) :

xn = (√(xn² + x(n+1)²) - b)



Some examples:


• Shift Circle IO by b along X, sweep around Y, along X into Z, making Torus IO(O)

Circle IO : √(x² + y²) = a

x = (√(x²+z²)-b)

Torus : √((√(x²+z²)-b)² + y²) = a


• Shift Triangle I> by b along X, sweep around Y, along X into Z, making Triangle Torus I>(O)

Triangle I> : ||x| + 2y| + |x| = a

x = (√(x²+z²)-b)

Triangle Torus : ||(√(x²+z²)-b)| + 2y| + |(√(x²+z²)-b)| = a , you have to keep the abs terms


• Shift Triangle I> by b along X, sweep around Y, along X into Z, making Square Torus II(O)

Square II : |x-y| + |x+y| = a

x = (√(x²+z²)-b)

Square Torus : |(√(x²+z²)-b)-y| + |(√(x²+z²)-b)+y| = a



-------------------------------------------------------------------------------------------------------------------------



Cartesian Product : n[m]

The cartesian product is when you multiply two solid shapes together, into one object. The simplest example is the square, as a product of two line segments. From the general product n[m] , the two shapes n and m are completely orthogonal, meaning they do not share the same variables. They are both perpendicular to each other. For the product n[m], we use all symbols for n and m. IO>[II>] is the 6D product of a cone and a square pyramid. IO>I[I>] is the 6D product of a coninder and a triangle, also equal to IO>[I>I]. IOO[I>>] is the 6D product of a sphere and tetrahedron.

The bisecting rotation of an n-prism nI, around the plane of n, is also the product of n and a circle. In other words, nIO == n[IO] . Extrude then rotate of n is equal to n x circle.

The double extrude of shape n, nII, is also the product with n x square: nII == n[II] . Rather than iterate two extrude operators, it's more efficient to express as product with a square, in the actual equation.

Note, however, that the product with a triangle in not equal to extrude then taper. In other words, m[I>] =/= mI> .

• Equation for n : N

• Equation for m : M

• Product of n[m] : |N - M| + |N + M|



Some examples:


• Product of Circle-XY times Circle-ZW, makes Duocylinder IOIO == IO[IO]. Also the bisecting rotation of cylinder IOI:

circle-xy = N = √(x²+y²)

circle-zw = M = √(z²+w²)

n[m] : |N - M| + |N + M|

Duocylinder : |√(x²+y²) - √(z²+w²)| + |√(x²+y²) + √(z²+w²)| = a


• Product of Triangle-XY times Circle-ZW, makes Cyltrianglinder I>IO == I>[IO]. Also the bisecting rotation of triangle prism I>I:

triangle-xy = N = ||x|+2y|+|x|

circle-zw = M = √(z²+w²)

n[m] : |N - 2M| + |N + 2M|

Cyltrianglinder : |||x|+2y|+|x| - 2√(z²+w²)| + |||x|+2y|+|x| + 2√(z²+w²)| = a

Note the scaling constant, c=2 for the circle-zw parameter. For n[m] products, the precise value of c is more critical to express a unit-proportioned shape.


• Product of Square-XY times Circle-ZW, makes Cubinder IIIO == II[IO]. Also the bisecting rotation of cube III, and extrusion of cylinder IOI:

square-xy = N = |x-y|+|x+y|

circle-zw = M = √(z²+w²)

n[m] : |N - 2M| + |N + 2M|

Cubinder : ||x-y|+|x+y| - 2√(z²+w²)| + ||x-y|+|x+y| + 2√(z²+w²)| = a


• Product of Square-XY times Square-ZW, makes Tesseract IIII == II[II]. Also the product of cube-xyz times line-w:

square-xy = N = |x-y|+|x+y|

square-zw = M = |z-w|+|z+w|

n[m] : |N - 2M| + |N + 2M|

Tesseract : ||x-y|+|x+y| - |z-w|-|z+w|| + ||x-y|+|x+y| + |z-w|+|z+w|| = a
It is by will alone, I set my donuts in motion
ICN5D
Pentonian
 
Posts: 1135
Joined: Mon Jul 28, 2008 4:25 am
Location: the Land of Flowers

Previous

Return to Other Geometry

Who is online

Users browsing this forum: No registered users and 11 guests