POV-Ray : Newsgroups : povray.binaries.images : More materials based on proximity patterns Server Time
28 Apr 2024 17:22:32 EDT (-0400)
  More materials based on proximity patterns (Message 11 to 12 of 12)  
<<< Previous 10 Messages Goto Initial 10 Messages
From: Bald Eagle
Subject: Re: More materials based on proximity patterns
Date: 11 Oct 2017 21:45:00
Message: <web.59dec83df661679f5cafe28e0@news.povray.org>
I was thinking about this from entirely another angle:

Currently the object pattern can give us results based on inside vs outside of a
3D object.

Is there [no] ... could there be a way [in the future] to do something similar
to this where the _surface_ of the object is a result?

If this could be implemented in a way that a pattern function could take
advantage of that, then you could make an isosurface of any object, and then you
could scale it nonlinearly - which AFAIK is not currently possible.

http://www.econym.demon.co.uk/isotut/substitute.htm

It would also instantly provide a method to convert an object into a mesh using
one of the isosurface approximation methods.
And loads of people would LOVE to have that at their fingertips.

With regard to that aspect, if a surface pattern is too long off in the future,
is there a way to do a ray-object intersection "function" that returns the
crossing number
https://en.wikipedia.org/wiki/Point_in_polygon
AND an array that has the coordinates of the crossing points?

Because that would provide a powerful method to construct meshes, and do all
sorts of other analyses and manipulations on objects.

Just asking out of curiosity, since it seems these features aren't that
different from what's available already or happens internally.


Post a reply to this message

From: Le Forgeron
Subject: Re: More materials based on proximity patterns
Date: 12 Oct 2017 00:42:15
Message: <59def2a7$1@news.povray.org>
Le 12/10/2017 à 03:41, Bald Eagle a écrit :
> I was thinking about this from entirely another angle:
> 
> Currently the object pattern can give us results based on inside vs outside of a
> 3D object.
> 
> Is there [no] ... could there be a way [in the future] to do something similar
> to this where the _surface_ of the object is a result?

Computing the shortest distance from a point to an object might not be
trivial, it might require a new function for each shape (in addition to
the inside test and the computation of intersections with a ray).

And I'm not sure transformations are compatible with such gradient
field. (especially shearing transform). Traditionally, the ray is
applied the inverse transform of the object, computation is done, and
result is applied the transform to get back in SDL space. But when
transformation is not conserving distance, it is a big problem for a
*surface* pattern.

Neither what to do for CSG difference & intersection.
(CSG union & merge are easy: min() )

> 
> If this could be implemented in a way that a pattern function could take
> advantage of that, then you could make an isosurface of any object, and then you
> could scale it nonlinearly - which AFAIK is not currently possible.
> 
> http://www.econym.demon.co.uk/isotut/substitute.htm
> 
> It would also instantly provide a method to convert an object into a mesh using
> one of the isosurface approximation methods.
> And loads of people would LOVE to have that at their fingertips.
> 
> With regard to that aspect, if a surface pattern is too long off in the future,
> is there a way to do a ray-object intersection "function" that returns the
> crossing number
> https://en.wikipedia.org/wiki/Point_in_polygon
> AND an array that has the coordinates of the crossing points?

Did you read http://paulbourke.net/geometry/polygonise/ ?



> 
> Because that would provide a powerful method to construct meshes, and do all
> sorts of other analyses and manipulations on objects.

Did you see some experimentations in hgpovray :

> http://wiki.povray.org/content/User:Le_Forgeron#Tesselation_.26_mesh_play

6 ways to get a mesh from a solid.

And many transformations:
> http://wiki.povray.org/content/User:Le_Forgeron#Getting_a_new_mesh_from_a_mesh



> 
> Just asking out of curiosity, since it seems these features aren't that
> different from what's available already or happens internally.
> 
> 
> 
>


Post a reply to this message

<<< Previous 10 Messages Goto Initial 10 Messages

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