POV-Ray : Newsgroups : povray.programming : Feature Idea: Rotational Coordinants Server Time
28 Jul 2024 16:32:34 EDT (-0400)
  Feature Idea: Rotational Coordinants (Message 1 to 7 of 7)  
From: Geoff Wedig
Subject: Feature Idea: Rotational Coordinants
Date: 17 Sep 2000 10:26:26
Message: <39c4d492@news.povray.org>
Ok, I was thinking about things that might be useful to implement, and I
thought ofmapping objects to the surface of a cylinder or sphere.  Doing
this would simply be a matter of specifying certain of our coordinants to be
rotational (in radians) rather than linear.  Ie, if mapping to a cylinder, x
would be rotation, y radius, z would not change (assuming the direction of
the cylinder is in the z direction).  Similarly, we can map to a sphere by
making two of the coordinants be rotational with the third radial.

Now, there are ways to do this with isosurfaces (I think, but my experience
with isos is very minimal)  using a function which tests against an object
(after transforming coordinants) and returns -1 if inside, 0 if outside, but
I'm not certain isos can handle functions like that (is there a function to
find the shortest distance to the surface of an arbitrary object?  That's
what we really need in this case)

The advantage of doing something like this should be obvious.  For example,
say we have the difference of a torus and a cylinder that makes the up
sloping section (sort of a volcano shape from the inside of the torus). 
I've found these very useful for making smooth curved transitions from a
flat surface to a plane.  With a rotational coordinant mapping, I could do
the same on a cylinder (useful for pipes, mugs, and so on).

So, since I am not a POV guru, does this exist in some form, or is it easier
than I think with iso surfaces?  Do people think this would be a useful
feature?

Geoff


Post a reply to this message

From: Chris Huff
Subject: Re: Feature Idea: Rotational Coordinants
Date: 17 Sep 2000 13:55:24
Message: <chrishuff-09959B.12572317092000@news.povray.org>
In article <39c4d492@news.povray.org>, Geoff Wedig 
<wed### [at] darwinepbicwruedu> wrote:

> Now, there are ways to do this with isosurfaces (I think, but my 
> experience with isos is very minimal)  using a function which tests 
> against an object (after transforming coordinants) and returns -1 if 
> inside, 0 if outside, but I'm not certain isos can handle functions 
> like that

This would be the object pattern. The isosurface algorithm has trouble 
finding the intersections and normals for these types of patterns, the 
sharp discontinuity causes problems.


> (is there a function to find the shortest distance to the surface of 
> an arbitrary object?  That's what we really need in this case)

That is what my proximity pattern calculates. However, it is slow, and 
noise in the result makes isosurfaces intolerably slow.


> So, since I am not a POV guru, does this exist in some form, or is it 
> easier than I think with iso surfaces?  Do people think this would be 
> a useful feature?

It is quite easy to do with isosurfaces once you have a function for the 
object, just substitute functions which calculate the 
cylinderical/spherical coordinates for the xyz coordinates. To do this 
with other primitives could require an isosurface calculation mode for 
most of them, and would probably be impossible for some, and would be 
less flexible than just using an isosurface.

-- 
Christopher James Huff
Personal: chr### [at] maccom, http://homepage.mac.com/chrishuff/
TAG: chr### [at] tagpovrayorg, http://tag.povray.org/

<><


Post a reply to this message

From: Pabs
Subject: Re: Feature Idea: Rotational Coordinants
Date: 18 Sep 2000 05:31:19
Message: <39C5E17E.E75F0130@hotmail.com>
Chris Huff wrote:

> That is what my proximity pattern calculates. However, it is slow, and
> noise in the result makes isosurfaces intolerably slow.

Chris - have U thought of changing this to be dependant on the type of
object with your method the default for new objects.
Sphere could be very fast - just a vector subtraction & VLength. -Don't know
about other objects though
Like Nathan's UV mapping patch add your new function to Method_Struct &
write a new version for all/most current objects
I'm using this in my upcoming object camera patch

Seeya
Pabs


Post a reply to this message

From: Chris Huff
Subject: Re: Feature Idea: Rotational Coordinants
Date: 18 Sep 2000 07:36:24
Message: <chrishuff-3BB912.06382518092000@news.povray.org>
In article <39C5E17E.E75F0130@hotmail.com>, Pabs <pab### [at] hotmailcom> 
wrote:

> Chris - have U thought of changing this to be dependant on the type 
> of object with your method the default for new objects. Sphere could 
> be very fast - just a vector subtraction & VLength. -Don't know about 
> other objects though
> Like Nathan's UV mapping patch add your new function to Method_Struct &
> write a new version for all/most current objects

I am currently right in the middle of doing exactly this...that is why 
the proximity pattern no longer works in MegaPOVPlus. Boxes, spheres, 
cylinders, cones and torii should be quite easy, as should be CSG unions 
of these...other objects will be more difficult, and will use a modified 
version of the sampling method at first.


> I'm using this in my upcoming object camera patch

What camera patch?

-- 
Christopher James Huff
Personal: chr### [at] maccom, http://homepage.mac.com/chrishuff/
TAG: chr### [at] tagpovrayorg, http://tag.povray.org/

<><


Post a reply to this message

From: Pabs
Subject: Re: Feature Idea: Rotational Coordinants
Date: 21 Sep 2000 05:00:38
Message: <39C9CDF1.6AD63974@hotmail.com>
Chris Huff wrote:

> > Chris - have U thought of changing this to be dependant on the type
> > of object with your method the default for new objects. Sphere could
> > be very fast - just a vector subtraction & VLength. -Don't know about
> > other objects though
> > Like Nathan's UV mapping patch add your new function to Method_Struct &
> > write a new version for all/most current objects
>
> I am currently right in the middle of doing exactly this...that is why
> the proximity pattern no longer works in MegaPOVPlus. Boxes, spheres,
> cylinders, cones and torii should be quite easy, as should be CSG unions
> of these...other objects will be more difficult, and will use a modified
> version of the sampling method at first.

When I first heard of the proximity pattern I wondered why U didn't do it
this way in the first place.

> > I'm using this in my upcoming object camera patch
> What camera patch?

You'll find out next week **probably** (I H8 deadlines)- basically just takes
the normal a point on an object, turns it into a ray & traces as per usual.
I may post an image on p.b.i tomorrow of one using a bicubic_patch.

--
Bye
Pabs


Post a reply to this message

From: Chris Huff
Subject: Re: Feature Idea: Rotational Coordinants
Date: 21 Sep 2000 07:16:43
Message: <chrishuff-C9BD29.06184821092000@news.povray.org>
In article <39C9CDF1.6AD63974@hotmail.com>, Pabs <pab### [at] hotmailcom> 
wrote:

> When I first heard of the proximity pattern I wondered why U didn't do it
> this way in the first place.

Because it is more difficult this way. :-)


> You'll find out next week **probably** (I H8 deadlines)- basically 
> just takes the normal a point on an object, turns it into a ray & 
> traces as per usual.
> I may post an image on p.b.i tomorrow of one using a bicubic_patch.

So it uses the surface of the object to determine where the rays go? 
Sounds interesting...

-- 
Christopher James Huff
Personal: chr### [at] maccom, http://homepage.mac.com/chrishuff/
TAG: chr### [at] tagpovrayorg, http://tag.povray.org/

<><


Post a reply to this message

From: Pabs
Subject: Re: Feature Idea: Rotational Coordinants
Date: 21 Sep 2000 20:29:12
Message: <39CAA797.3F908A81@hotmail.com>
Chris Huff wrote:

> > I may post an image on p.b.i tomorrow of one using a bicubic_patch.
>
> So it uses the surface of the object to determine where the rays go?
> Sounds interesting...

Examples of bicubic_patch images in p.b.i

Bye
Pabs


Post a reply to this message

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.