|
|
|
|
|
|
| |
| |
|
|
|
|
| |
| |
|
|
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
|
|
| |
| |
|
|
|
|
| |
| |
|
|
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
|
|
| |
| |
|
|
|
|
| |
| |
|
|
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
|
|
| |
| |
|
|
|
|
| |
| |
|
|
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
|
|
| |
| |
|
|
|
|
| |
| |
|
|
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
|
|
| |
| |
|
|
|
|
| |
| |
|
|
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
|
|
| |
| |
|
|
|
|
| |
| |
|
|
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
|
|
| |
| |
|
|
|
|
| |
|
|