|
|
|
|
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Am 12.10.2017 um 08:36 schrieb And:
> clipka <ano### [at] anonymousorg> wrote:
>> Am 11.10.2017 um 16:35 schrieb And:
>>
>>>>> So I see that it states an "inside_vector <0,0,1> "(from poseray) in the last
>>>>> item in each mesh2 object. It does not contain sufficient information.
>>>>
>>>> With that statement, the mesh should work fine in CSG difference (or
>>>> intersection or union, for that matter).
>>>>
>>>> Not sure what you mean by "it does not contain sufficient information".
>>>
>>> Because there is just one vector <0,0,1> at the end, I suppose that it should
>>> be a lot of vectors. Maybe each face have one vector, and should vary from face
>>> to face, I don't know。。。 I suppose it should look like
>>> that.
>>
>> No; there is only one `inside_vector` per mesh; it tells POV-Ray that in
>> order to test whether a given point is inside the mesh or not, it should
>> shoot a ray in the direction specified by that parameter, and count the
>> number of surfaces encountered in that direction. If the count is odd,
>> the point must be inside the mesh; if the count is even, the point must
>> be outside.
>
> Well, that it seems poseray adds a symbolic vector, because <0,0,1> does not
> inside my model in fact. And it shouldn't get such an information because the
> mesh was output from sketchup it does not contain that, moreover most of the
> mesh 3d model does not have a well construct that contain a inside/ outside
> distinction.
As described above, `inside_vector` does not specify a location, but
rather a direction (in this case parallel to the z axis).
The "given point" mentioned above will arise from the rendering
algorithm, more specifically the algorithm used to render CSG
differences, intersections or merges. As part of this algorithm, POV-Ray
frequently needs to answer the question, "this point I've found on the
surface of object A, is it inside or outside object B?"
The procedure I described earlier, which makes use of `inside_vector` as
a direction, is how POV-Ray tries to answers this question for cases
where object B is a mesh (or mesh2).
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
>
> Well, that it seems poseray adds a symbolic vector, because <0,0,1> does not
> inside my model in fact. And it shouldn't get such an information because the
> mesh was output from sketchup it does not contain that, moreover most of the
> mesh 3d model does not have a well construct that contain a inside/ outside
> distinction.
>
It's not a sympolic vector, it's a DIRECTION vector.
To see if ANY point is inside the mesh, POV-Ray shoot a ray from that
point in the direction of the inside_vector.
With the default vector rovided, the test ray is parallel to the Z axis
toward +Z.
It's similar to the normal vector of a plane.
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
clipka <ano### [at] anonymousorg> wrote:
> Am 12.10.2017 um 08:36 schrieb And:
> > clipka <ano### [at] anonymousorg> wrote:
> >> Am 11.10.2017 um 16:35 schrieb And:
> >>
> >>>>> So I see that it states an "inside_vector <0,0,1> "(from poseray) in the last
> >>>>> item in each mesh2 object. It does not contain sufficient information.
> >>>>
> >>>> With that statement, the mesh should work fine in CSG difference (or
> >>>> intersection or union, for that matter).
> >>>>
> >>>> Not sure what you mean by "it does not contain sufficient information".
> >>>
> >>> Because there is just one vector <0,0,1> at the end, I suppose that it should
> >>> be a lot of vectors. Maybe each face have one vector, and should vary from face
> >>> to face, I don't know。。。 I suppose it should look like
> >>> that.
> >>
> >> No; there is only one `inside_vector` per mesh; it tells POV-Ray that in
> >> order to test whether a given point is inside the mesh or not, it should
> >> shoot a ray in the direction specified by that parameter, and count the
> >> number of surfaces encountered in that direction. If the count is odd,
> >> the point must be inside the mesh; if the count is even, the point must
> >> be outside.
> >
> > Well, that it seems poseray adds a symbolic vector, because <0,0,1> does not
> > inside my model in fact. And it shouldn't get such an information because the
> > mesh was output from sketchup it does not contain that, moreover most of the
> > mesh 3d model does not have a well construct that contain a inside/ outside
> > distinction.
>
> As described above, `inside_vector` does not specify a location, but
> rather a direction (in this case parallel to the z axis).
>
> The "given point" mentioned above will arise from the rendering
> algorithm, more specifically the algorithm used to render CSG
> differences, intersections or merges. As part of this algorithm, POV-Ray
> frequently needs to answer the question, "this point I've found on the
> surface of object A, is it inside or outside object B?"
>
> The procedure I described earlier, which makes use of `inside_vector` as
> a direction, is how POV-Ray tries to answers this question for cases
> where object B is a mesh (or mesh2).
Hmm...it seems ok, if mesh shape is closed. But just like Alain said, need to
slightly change it.
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
On 12/10/2017 10:00, And wrote:
> Stephen <mca### [at] aolcom> wrote:
>>
>> Which is probably because Sketchup was designed to upload content to
>> Google Earth. Not to a quality renderer.
>> Which is not a criticism of Sketchup. It produces good results as your
>> images show.
>>
>> --
>>
>> Regards
>> Stephen
>
>
> Thomas de Groot <tho### [at] degrootorg> wrote:
>> On 11-10-2017 7:46, And wrote:
>>> I downloaded a sketchup 3d model on the 3d warehouse. Last week I processed it
>>> to a section view, and output to povray, then rendered this picture.
>>>
>>
>> Nice!! Didn't know the site, but I am sure to visit in future
>>
>> --
>> Thomas
>
>
>
> By the way, many models of 3d warehouse were made for google earth in the past.
> So its models lack details. But there are still many authors upload detailed
> models.
>
So I noticed. A big improvement since I last visited the site.
--
Regards
Stephen
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Le 12/10/2017 à 18:41, Alain a écrit :
> Le 17-10-12 à 02:36, And a écrit :
>
>>
>> Well, that it seems poseray adds a symbolic vector, because <0,0,1>
>> does not
>> inside my model in fact. And it shouldn't get such an information
>> because the
>> mesh was output from sketchup it does not contain that, moreover most
>> of the
>> mesh 3d model does not have a well construct that contain a inside/
>> outside
>> distinction.
>>
>
> It's not a sympolic vector, it's a DIRECTION vector.
> To see if ANY point is inside the mesh, POV-Ray shoot a ray from that
> point in the direction of the inside_vector.
> With the default vector rovided, the test ray is parallel to the Z axis
> toward +Z.
> It's similar to the normal vector of a plane.
And to finish the explanation: POV-Ray counts the number of
intersections from that point along that vector, to infinity.
When odd, the point is inside,
when even, the point is outside.
(Unless inside & outside were inverted)
Hence it's better for the vector to never be perpendicular to any normal
of the triangles of the mesh, should bad luck occurs for a point in the
exact plane of that triangle, the inside/outside test might be "fluffy".
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
|
|