Slicing toratopes with hyperplanes

Discussion of shapes with curves and holes in various dimensions.

Postby bo198214 » Sat Jul 29, 2006 8:44 pm

hey PWrong, the slicing picture idea was of Marek.
I am anyway not that involved in all this toratope stuff.
I like the pictures, but till today I am not comfortable with this CSG notation. I was always wondering whats the difference between a duocyclinder and a duocylinder *lol*.
Your are also a good candidate to write such a program. Programming languages can be learned and I think it is no problem for you anyway.
bo198214
Tetronian
 
Posts: 690
Joined: Tue Dec 06, 2005 11:03 pm
Location: Berlin - Germany

Postby Keiji » Sat Jul 29, 2006 8:46 pm

PWrong wrote:btw, those pictures are great, but they're making the screen really long. Couldn't you split them into two pictures?


Uh, what? They are 11 seperate images, each 256x256 pixels. They don't stretch the tables at all.

Marek14 wrote:
((22)1) is the circle#tiger. That said, I don't like the definition of spheration anyway.


A#B isn't valid unless B is a sphere in some dimension. The reason is you need unique axes to align the tiger, but not a sphere.


Well, it's the shape you get when you replace each point of tiger with a circle - not the other way around. And this operation is not commutative - replacing each point of circle with sphere is something different from replacing each point of sphere with a circle. And, as mentioned, you really cannot replace each point with a tiger since tiger has unique axes. I suspect there's some confusion in definitions here.


Like I said before: since (x1) is every point of a circle replaced with x, ((22)1) is every point of a circle replaced with a tiger.

Marek14 wrote:
Rob wrote:Well, that's a bit silly, how is a line curved, let alone a torus? :roll:


LINE itself is not - but it's border, i.e. two points, are :) The same way as disk is not curved, but a circle is.


I know that. But 1 is a line, and (1) is the same as 1. There is sadly no RNS notation for the two points, unless someone wants to reform it...

bo198214 wrote:Hey Marek and Rob,

give you a jerk! Wouldnt it be a great idea to have a program where you can choose out of a list of 4d toratopes (and where you can put in a shape in CSG notation), and it shows you a 3d slice moving through the shape?
That would be novel and a really appreciable distribution to the 4d community.


No problem. I'm working on my HNET editor, as you can see from the topic in the Programming forum, which will (eventually) let you create and view shapes in any dimension, including entering CSG expressions.

PS: Programming language java, then you can put it online everywhere.


Java is absolutely terrible.

thigle wrote:yep guys common ! bo's right ! do it and become tetraStars!

i don't like shit like rob says "that's a secret what do i do this output in". godam wakeup child ! this is internet - we share ! information restriction is stupid, especially when it ain't worth shit. just what deficit proble does it make to you to answer someone's question about the tools you use ?

if i was your father i would slap you gently and tell you to behave dud ;)


Calm down. :roll: I was joking anyway. I used POV-Ray. I thought that would be pretty obvious from the look of the images. :P
User avatar
Keiji
Administrator
 
Posts: 1922
Joined: Mon Nov 10, 2003 6:33 pm
Location: Torquay, England

Postby bo198214 » Sat Jul 29, 2006 8:50 pm

Now we are anyway on a new page, so the tables are fine again :)
bo198214
Tetronian
 
Posts: 690
Joined: Tue Dec 06, 2005 11:03 pm
Location: Berlin - Germany

Postby Keiji » Sat Jul 29, 2006 8:51 pm

But they never broke in the first place!...
User avatar
Keiji
Administrator
 
Posts: 1922
Joined: Mon Nov 10, 2003 6:33 pm
Location: Torquay, England

Postby bo198214 » Sat Jul 29, 2006 8:56 pm

What then? If the pictures where by separated by newline, I would guess the tables were also fine.

The intention of your HNET editor was not clear for me. You even wrote "I'm open to suggestions for other shapes (not curved) to make". In what language is it written?
bo198214
Tetronian
 
Posts: 690
Joined: Tue Dec 06, 2005 11:03 pm
Location: Berlin - Germany

Postby Keiji » Sat Jul 29, 2006 11:08 pm

When I said not curved, I meant not curved yet. :P .NET 2005 has support for beziers, so curved shapes are plausible, but I just have never tried using them.
User avatar
Keiji
Administrator
 
Posts: 1922
Joined: Mon Nov 10, 2003 6:33 pm
Location: Torquay, England

Postby PWrong » Sun Jul 30, 2006 11:09 am

But in fact, you are incorrect, because 1 doesn't mean "line" but "two points".

Sigh, 1 comes in two forms: "line" and "two points".

(21) parsed like this would result in cartesian product of circle and two points, resulting in two circles in parallel planes.

Which is just the 1D form of a cylinder.

The same way, (11) would lead to four circles in this way.

The four circles are the 1D form of a cubinder.
User avatar
PWrong
Pentonian
 
Posts: 1530
Joined: Fri Jan 30, 2004 8:21 am
Location: Perth, Australia

Postby Marek14 » Sun Jul 30, 2006 11:46 am

PWrong wrote:
But in fact, you are incorrect, because 1 doesn't mean "line" but "two points".

Sigh, 1 comes in two forms: "line" and "two points".

(21) parsed like this would result in cartesian product of circle and two points, resulting in two circles in parallel planes.

Which is just the 1D form of a cylinder.

The same way, (11) would lead to four circles in this way.

The four circles are the 1D form of a cubinder.


Nonetheless, set of "points with a set distance from cylinder" depends heavily on the dimension of cylinder that you take into account.

Moreover, in this building of toratopes, I ALWAYS work just with the surfaces, so "1" in fact means point or two points, but NEVER a line, the same as 2 means just a circle, but not a disc.
Marek14
Tetronian
 
Posts: 864
Joined: Sat Jul 16, 2005 6:40 pm

Postby PWrong » Wed Aug 02, 2006 11:53 am

Back to the original problem:
How do you slice an object anyway? I gather you need a plane/realm to intersect with the object, and a set of new coordinates in the plane. There must be a linear transformation involved somehow.
User avatar
PWrong
Pentonian
 
Posts: 1530
Joined: Fri Jan 30, 2004 8:21 am
Location: Perth, Australia

Postby bo198214 » Wed Aug 02, 2006 12:52 pm

Say we have an 4dobject given by the points (x,y,z,w).
The simplest form of a 3d slice consists of the (x,y,z) where (x,y,z,w0) is of the origianl object, this is the slice at w=w0.
If you want a 3d slice through the 3d-plane given by the points p perpendicular to the tip of vector a, i.e. <p-a,a>=0, then simply rotate the original image such that a comes to lie on the w-vector (i.e. (0,0,0,1)).
Then take the w=|a| slice as above. And yes this rotation is your linear transformation.
bo198214
Tetronian
 
Posts: 690
Joined: Tue Dec 06, 2005 11:03 pm
Location: Berlin - Germany

Postby PWrong » Wed Aug 02, 2006 3:02 pm

In general, the equations of these cuts are high order polynomials. Toric sections are quartic curves, and mathworld describes them as looking like kidneys. http://mathworld.wolfram.com/ToricSection.html. I doubt it's possible to find a parametrisation for them.

The general cross sections of 4D toratopes would be really interesting, but even harder to work out. And mathematica isn't very good at plotting implicit equations.
User avatar
PWrong
Pentonian
 
Posts: 1530
Joined: Fri Jan 30, 2004 8:21 am
Location: Perth, Australia

Postby Marek14 » Wed Aug 02, 2006 5:05 pm

PWrong wrote:In general, the equations of these cuts are high order polynomials. Toric sections are quartic curves, and mathworld describes them as looking like kidneys. http://mathworld.wolfram.com/ToricSection.html. I doubt it's possible to find a parametrisation for them.

The general cross sections of 4D toratopes would be really interesting, but even harder to work out. And mathematica isn't very good at plotting implicit equations.


Toric sections, in general, are Cassini ovals (http://en.wikipedia.org/wiki/Cassini_oval). I'm not sure about parametrization.

While Mathematica might not be good in plotting implicit equations, there is a package named ImplicitPlot3D.m which does exactly this :)
Marek14
Tetronian
 
Posts: 864
Joined: Sat Jul 16, 2005 6:40 pm

Postby PWrong » Thu Aug 03, 2006 8:10 am

The site I linked to showed toric sections that aren't cassini ovals.

Since the torus is cylindrically symmetric about the z axis, we can use the plane z = a x + b as the most general plane. Then we get:

(sqrt(x^2+y^2) -R)^2 + (ax+b)^2 = r^2
User avatar
PWrong
Pentonian
 
Posts: 1530
Joined: Fri Jan 30, 2004 8:21 am
Location: Perth, Australia

Postby Keiji » Mon Aug 07, 2006 9:28 am

As requested, slices of the tiger:

ImageImageImageImageImageImageImageImageImageImageImageImage
User avatar
Keiji
Administrator
 
Posts: 1922
Joined: Mon Nov 10, 2003 6:33 pm
Location: Torquay, England

Postby bo198214 » Mon Aug 07, 2006 10:01 am

What? its constant in one direction? :shock:
bo198214
Tetronian
 
Posts: 690
Joined: Tue Dec 06, 2005 11:03 pm
Location: Berlin - Germany

Postby Keiji » Mon Aug 07, 2006 11:30 am

What do you mean by "it's constant in one direction"?
User avatar
Keiji
Administrator
 
Posts: 1922
Joined: Mon Nov 10, 2003 6:33 pm
Location: Torquay, England

Postby bo198214 » Mon Aug 07, 2006 12:27 pm

does not change in one direction, is the cartesian product of a shape with a line.

Arent that 4 equal pictures?

EDIT: oops the are lots to the right. Hey, Rob we ask you already to put the pictures below each other, to not destroy the frames!
bo198214
Tetronian
 
Posts: 690
Joined: Tue Dec 06, 2005 11:03 pm
Location: Berlin - Germany

Postby Marek14 » Thu Aug 10, 2006 1:06 pm

Rob, could you, please, tell me how do you render those pictures? I have a windows machine, and I would prefer to make the 5D pictures by myself instead of bothering you :(
Marek14
Tetronian
 
Posts: 864
Joined: Sat Jul 16, 2005 6:40 pm

Postby Keiji » Thu Aug 10, 2006 3:53 pm

http://povray.org/

Code: Select all
#version 3.6;
#include "colors.inc"

global_settings {assumed_gamma 1.0}

camera {
  location  <4,8,8>
  look_at   <0,0,0>
}

background { color White }

light_source {<-30, 30, -30>  color rgb <1, 1, 1> }

#declare a = 1; // parameters
#declare b = 1; // ...
#declare r = 0.2; // ...

#declare w = 0; // value of W for cross section

#declare fn_A = function(x,y,z) { pow(sqrt(x*x+y*y) - a,2) + pow(sqrt(z*z+w*w) - b,2) - r*r } // formula for tiger

isosurface {
  function { fn_A(x, y, z) }
  contained_by { box { -4, 4 } }
  accuracy 0.001
  max_gradient 9
  pigment {Blue}
  scale 2
}
User avatar
Keiji
Administrator
 
Posts: 1922
Joined: Mon Nov 10, 2003 6:33 pm
Location: Torquay, England

Previous

Return to Toratopes

Who is online

Users browsing this forum: No registered users and 0 guests

cron