|
|
Am 19.06.2010 18:08, schrieb SharkD:
> On 6/18/2010 7:40 AM, clipka wrote:
>> What's your inside_vector? Does it happen to be pointing along the blue
>> line (whatever axis that may be)? If so, try changing that to something
>> pretty random.
>
> I'm a bit confused by input_vector. Is it a vector or a point? I have
> simply been placing it at the exact center of each mesh, which sometimes
> happens to be the origin.
As the name suggests, inside_vector (not input_vector, btw) is indeed a
vector.
POV-Ray's implementation of intersection and difference CSG uses two
operations: Computing intersections between a ray and the member
objects, and testing whether such an intersection point is inside the
other member objects.
For most object types, the inside-test is defined via a mathematical
formula (for instance, for a sphere you just test whether the distance
between the point in question and the center is smaller than the
sphere's radius). For meshes, this is not so easy; so instead, POV-Ray
shoots a "random" test ray from the point in question and tests how many
times it intersects the mesh: If the number of intersections is odd, the
point must be inside, otherwise outside.
inside_vector specifies the "random" direction in which to shoot that
test ray. Theoretically the direction should not matter, but in rare
cases this algorithm might lead to artifacts - which then can be made to
disappear by choosing a different test ray direction.
An inside_vector of <0,0,0> is equivalent to specifying no inside_vector
at all, i.e. leaving the mesh non-solid.
Post a reply to this message
|
|