POV-Ray : Newsgroups : povray.binaries.images : Victorian House Server Time
17 May 2024 14:12:10 EDT (-0400)
  Victorian House (Message 21 to 25 of 25)  
<<< Previous 10 Messages Goto Initial 10 Messages
From: clipka
Subject: Re: Victorian House
Date: 12 Oct 2017 10:40:30
Message: <59df7ede$1@news.povray.org>
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

From: Alain
Subject: Re: Victorian House
Date: 12 Oct 2017 12:40:53
Message: <59df9b15@news.povray.org>


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

From: And
Subject: Re: Victorian House
Date: 13 Oct 2017 03:20:00
Message: <web.59e0690894b981917abd256f0@news.povray.org>
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

From: Stephen
Subject: Re: Victorian House
Date: 13 Oct 2017 07:53:50
Message: <59e0a94e$1@news.povray.org>
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

From: Le Forgeron
Subject: Re: Victorian House
Date: 13 Oct 2017 08:33:50
Message: <59e0b2ae$1@news.povray.org>
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

<<< Previous 10 Messages Goto Initial 10 Messages

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