![](/i/fill.gif) |
![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
ABX wrote:
> On Thu, 24 Apr 2003 11:51:09 -0400, Christopher James Huff
> <cja### [at] earthlink net> wrote:
>
>>Your reasoning process seems to have been "it will make a
>>rounded box, and here's a rounded box macro".
>
>
> That's me who suggested that macro. When I refered to it I wasn't sure if he is
> interested in METHOD or RESULT of his description. Since there was no way to
> duplicate METHOD in universal way I could only help with referring tool where
> similiar RESULT he described was achived. As to the newuser who come here to
> achive something I showed him shortest way to achive RESULT he described in
> example. I thought it could save him learning of full POV SDL power.
> I'm still not sure if he is rather interested in RESULT of specific case of his
> sum or in general METHOD. I hope my hints helped him and I hope you are not
> angry that I answered instead of licensed TAG member ;-)
>
> ABX
Actually I was interested in the general possibility of suming up
objects, so rather in METHOD. The general interest grew out of some
special RESULTS, as for example adding a sphere to a polytope. This can
be achieved with unions (merges) of plane intersections, cylinders and
spheres.
Achill
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Christopher James Huff wrote:
> In article <3EA### [at] ma tum de>, Achill <ach### [at] ma tum de>
> wrote:
>
>
>>I saw on http://www.f-lohmueller.de/pov_tut/csg/povcsg1e.htm that CSG
>>operations may be used with all shapes which have a clear defined
>>"inside" and "outside", in particular with solids. My idea was that it
>>should be possible to determine "inside" and "outside" of the sum (at
>>least for the sum of solids) as well...?!?
>>
>>I must admit, I do not know how povray "knows" to distiguish "inside"
>>and "outside".
>
>
> It can check whether a given point is inside or outside the object,
> using a hard-coded object-specific algorithm. How does that help? It
> doesn't get you any closer to summing objects.
>
Knowing now that inside and outside are determined by an individual
"hard-coded" algorithm, I see why there is propably no way (at least
none I can think of) to write a general sum for objects.
Thank you very much for your patience and helpful explanations.
Achill
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
This might actually be approximated in the following manner:
Given a sphere (A) and a cube(B) in CSG, normalise them at <0,0,0>.and
construct a mesh equivilent for each. Create an alogrithm that, for each
vertice in A, finds an equivelant vertice (or set of vertices) in B and
builds a new mesh using these results. If I am visualing this properly,
this might give the effect of a 'rounded cube' for this example.
--
Alan Walkington
Technical Staff
United Defense, San Jose
"Achill" <ach### [at] ma tum de> wrote in message
news:web.3ea6ac9f97d4f590e54f3efb0@news.povray.org...
> Is there a (CSG-like?) possibility to create the vector sum of objects or
at
> least of simple solids?
>
> Thanks for your help.
>
> Achill
>
>
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Alan Walkington wrote:
> This might actually be approximated in the following manner:
>
> Given a sphere (A) and a cube(B) in CSG, normalise them at <0,0,0>.and
> construct a mesh equivilent for each. Create an alogrithm that, for each
> vertice in A, finds an equivelant vertice (or set of vertices) in B and
> builds a new mesh using these results. If I am visualing this properly,
> this might give the effect of a 'rounded cube' for this example.
Adding mesh approximations of solids should be possible, like adding
polytopes. The "vertices" and some more useless points (which have to be
excluded, for example with the help of a "convex hull algorithm") are
given by all possible sums of vertices from the input sets.
That seems to be a bigger project though... :-)
Achill
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
"Achill" <ach### [at] ma tum de> wrote in message
news:3EA### [at] ma tum de...
<snip>
> Adding mesh approximations of solids should be possible, like adding
> polytopes. The "vertices" and some more useless points (which have to be
> excluded, for example with the help of a "convex hull algorithm") are
> given by all possible sums of vertices from the input sets.
>
> That seems to be a bigger project though... :-)
>
Bigger than what?
You are suggesting to create a "sum of a set A with a sphere of radius r,
centered at <0,0,0>, which gives the set of all points "within distance
r of A".
Aren't there an infinite number of points within a solid, or for that
matter, on the surface of a solid?
That sounds like a pretty big project to me. ...
You will have to use some approximation ... some definition of a smallest
cell .. to give yourself a finite number of points within the solid. A mesh
is just doing that to the surface rather than the volume. How is that more
complicated?
Alan
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
In article <3EA### [at] ma tum de>, Achill <ach### [at] ma tum de>
wrote:
> Converting arbitrary point sets into meshes or surfaces is a difficult
> task (known as "surface reconstruction"). Are there algorithms for this
> task used with (or in) povray?
I am aware of the difficulties, but there don't seem to be many
alternatives...as far as I can tell, you would only be able to use the
vertex information and would get a field of points, losing all
"connectivity" information. POV does not use any algorithms like this
and they would probably be difficult and slow to implement in the scene
description language. As I mentioned, it is possible to test rays
against a point field instead...this may be a better idea, but would
require implementing a point field primitive for POV.
--
Christopher James Huff <cja### [at] earthlink net>
http://home.earthlink.net/~cjameshuff/
POV-Ray TAG: chr### [at] tag povray org
http://tag.povray.org/
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Alan Walkington wrote:
> "Achill" <ach### [at] ma tum de> wrote in message
> news:3EA### [at] ma tum de...
> <snip>
>
>>Adding mesh approximations of solids should be possible, like adding
>>polytopes. The "vertices" and some more useless points (which have to be
>>excluded, for example with the help of a "convex hull algorithm") are
>>given by all possible sums of vertices from the input sets.
>>
>>That seems to be a bigger project though... :-)
>>
>
> Bigger than what?
I guess it would take some time to implement and develop corresponding
algorithms for meshes (with certain nice properties). So it is "bigger"
than anything that I could realize within the next few years...
> You are suggesting to create a "sum of a set A with a sphere of radius r,
> centered at <0,0,0>, which gives the set of all points "within distance
> r of A".
That was only a very special example of a "sum of two sets".
> Aren't there an infinite number of points within a solid, or for that
> matter, on the surface of a solid?
> That sounds like a pretty big project to me. ...
That is why I suggested to use an approximation with meshes.
> You will have to use some approximation ... some definition of a smallest
> cell .. to give yourself a finite number of points within the solid. A mesh
> is just doing that to the surface rather than the volume. How is that more
> complicated?
Mesh approximations of the surface of a solid is all you need to build
an approximation of the sum. This is not "more complicated". It is the
only idea I have for the moment, which could lead to a general sum
(approximation) of solids. Might be an illusion...?!?
Achill
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
On Thu, 24 Apr 2003 21:45:00 +0200, Achill <ach### [at] ma tum de> wrote:
> Converting arbitrary point sets into meshes or surfaces is a difficult
> task (known as "surface reconstruction"). Are there algorithms for this
> task used with (or in) povray?
If your set are "contignous" subsets of 3D space and you can express that set
with some function where for elements (coordinates) from set this functions
gives negative value then you can use isosurface{} object. parametric{} object
can be also in area of your interest.
ABX
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
The convex hull would be correct for convex objects only. Used for the
Minkowski sum of a torus and a sphere, this would give a rounded disk,
not a "rounded torus", because the hole of the torus would be eliminated
by the construction of the convex hull.
Sputnik
--
-------------------------------------
e-mail: fr### [at] computermuseum fh-kiel de
-------------------------------------
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
The same concept is used for pen styles in 2D drawing programs: the center
of the pen is moved along a path, and all points reachable with the pen
shape from the current location on this path are painted with the drawing
color, i.e. all painted points are obtained by location_vector+shape_vector
for all possible location_vectors and shape_vectors.
A practical application of the Minkowski sum would be as a *great* morphing
device. For example
minkowski_sum {
object { StartObject scale 1-clock }
object { FinalObject scale clock }
}
would give a smooth transition from StartObject to FinalObject. The
transition could be controlled by more complex blending functions. Given
blending functions, usually with Blend(0)=0 and Blend(1)=1 or even
Blend(0)=<0,0,0> and Blend(1)=<1,1,1>, I'm dreaming of
minkowski { StartObject*(1-Blend1(clock)) + FinalObject*Blend2(clock) }
Another interesting effect would be
minkowski { BaseObject + object { PaddingObject rotate Rotation(clock) } }
At least for meshes this should be possible, especially for convex shapes.
Sputnik
--
-------------------------------------
e-mail: fr### [at] computermuseum fh-kiel de
-------------------------------------
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |