POV-Ray : Newsgroups : povray.unofficial.patches : csg error with megapov's solid mesh? Server Time
2 Sep 2024 06:14:36 EDT (-0400)
  csg error with megapov's solid mesh? (Message 21 to 30 of 35)  
<<< Previous 10 Messages Goto Latest 10 Messages Next 5 Messages >>>
From: Warp
Subject: Re: csg error with megapov's solid mesh?
Date: 30 Aug 2000 10:14:04
Message: <39ad16ac@news.povray.org>
Ron Parker <ron### [at] povrayorg> wrote:
: You missed a step.  After you finish all the surfaces, you have to make sure 
: they're correctly oriented.  Even if it's just one surface, you have to 
: make sure you haven't inverted it.

  Well, this is an interesting question. How do you determine for a closed
mesh surface, which side is inside and which one is outside?
  What about open mesh surfaces?

-- 
main(i,_){for(_?--i,main(i+2,"FhhQHFIJD|FQTITFN]zRFHhhTBFHhhTBFysdB"[i]
):_;i&&_>1;printf("%s",_-70?_&1?"[]":" ":(_=0,"\n")),_/=2);} /*- Warp -*/


Post a reply to this message

From: Warp
Subject: Re: csg error with megapov's solid mesh?
Date: 30 Aug 2000 10:15:13
Message: <39ad16f1@news.povray.org>
ryan constantine <rco### [at] yahoocom> wrote:
: what kind of meshes does this work on?  can it convert from regular to
: mesh2?

  It reads a pov-file with meshes and writes and identical pov-file with
the same meshes, except that all the triangles are smooth_triangles. Everything
else is preserved.

-- 
main(i,_){for(_?--i,main(i+2,"FhhQHFIJD|FQTITFN]zRFHhhTBFHhhTBFysdB"[i]
):_;i&&_>1;printf("%s",_-70?_&1?"[]":" ":(_=0,"\n")),_/=2);} /*- Warp -*/


Post a reply to this message

From: Ron Parker
Subject: Re: csg error with megapov's solid mesh?
Date: 30 Aug 2000 11:09:23
Message: <slrn8qq9m6.1rd.ron.parker@fwi.com>
On 30 Aug 2000 10:14:04 -0400, Warp wrote:
>Ron Parker <ron### [at] povrayorg> wrote:
>: You missed a step.  After you finish all the surfaces, you have to make sure 
>: they're correctly oriented.  Even if it's just one surface, you have to 
>: make sure you haven't inverted it.
>
>  Well, this is an interesting question. How do you determine for a closed
>mesh surface, which side is inside and which one is outside?
>  What about open mesh surfaces?

Open mesh surfaces are impossible, but that's because the term "inside" has
no meaning for one.

For a closed mesh surface, fire a ray from outside the bounding box and check
the normal.

Some "well-behaved" "closed" surfaces will still fail; a 3-d projection of a
klein bottle, for example, would fail.  Those are the fault of the modeler
and shouldn't concern us.

-- 
Ron Parker   http://www2.fwi.com/~parkerr/traces.html
My opinions.  Mine.  Not anyone else's.


Post a reply to this message

From: Chris Huff
Subject: Re: csg error with megapov's solid mesh?
Date: 30 Aug 2000 12:00:35
Message: <chrishuff-ABD1CB.11020830082000@news.povray.org>
In article <slr### [at] fwicom>, ron### [at] povrayorg 
wrote:

> Open mesh surfaces are impossible, but that's because the term 
> "inside" has no meaning for one.

A height field is an open mesh surface with an "inside". :-)
Of course, it has a specific definition of "insideness", which I think 
is "Any point below the surface".

-- 
Christopher James Huff
Personal: chr### [at] maccom, http://homepage.mac.com/chrishuff/
TAG: chr### [at] tagpovrayorg, http://tag.povray.org/

<><


Post a reply to this message

From: Ron Parker
Subject: Re: csg error with megapov's solid mesh?
Date: 30 Aug 2000 13:06:43
Message: <slrn8qqgi7.204.ron.parker@fwi.com>
On Wed, 30 Aug 2000 11:02:08 -0500, Chris Huff wrote:
>In article <slr### [at] fwicom>, ron### [at] povrayorg 
>wrote:
>
>> Open mesh surfaces are impossible, but that's because the term 
>> "inside" has no meaning for one.
>
>A height field is an open mesh surface with an "inside". :-)
>Of course, it has a specific definition of "insideness", which I think 
>is "Any point below the surface".

Lots of open surfaces have "insides."  Consider, for example, an open cylinder
or a clipped object.  But those are a matter of definition and might not do
what you expect them to in CSG.

-- 
Ron Parker   http://www2.fwi.com/~parkerr/traces.html
My opinions.  Mine.  Not anyone else's.


Post a reply to this message

From: ryan constantine
Subject: Re: csg error with megapov's solid mesh?
Date: 30 Aug 2000 13:49:17
Message: <39AD491D.A12D94A3@yahoo.com>
what are the benefits of smooth triangles?  do they have explicit
normals in the file?

Warp wrote:
> 
> ryan constantine <rco### [at] yahoocom> wrote:
> : what kind of meshes does this work on?  can it convert from regular to
> : mesh2?
> 
>   It reads a pov-file with meshes and writes and identical pov-file with
> the same meshes, except that all the triangles are smooth_triangles. Everything
> else is preserved.
> 
> --
> main(i,_){for(_?--i,main(i+2,"FhhQHFIJD|FQTITFN]zRFHhhTBFHhhTBFysdB"[i]
> ):_;i&&_>1;printf("%s",_-70?_&1?"[]":" ":(_=0,"\n")),_/=2);} /*- Warp -*/


Post a reply to this message

From: ryan constantine
Subject: Re: csg error with megapov's solid mesh?
Date: 30 Aug 2000 13:51:42
Message: <39AD49B0.67B80009@yahoo.com>
thanks everybody.  i haven't started yet, but i think you have given me
enough information to do what i want.

ryan constantine wrote:
> 
> i posted a closeup of a section of the xwing scene i posted last month.
> it shows the torpedo tube area, but the pieces used to cut out of the
> mesh show up as semi-transparent objects (which are kind of hard to
> see).  i'm not sure what is going on.  the two tubes (one on each side)
> are each cut with a cylinder and a sphere.  the four items are in one
> csg union together under a difference with the mesh fuselage.  should i
> union each set seperately so one tube is cut at a time?  does it matter
> that the left tube doesn't touch the right tube but they are in the same
> union?  might adjusting the inside_vector help?  and if i animate the
> ship's movement, will i need to change the inside_vector to prevent such
> errors?
> 
> and on another note, is it possible to texture individual triangles in a
> solid mesh, or do i need to convert to mesh2?  if so how?  or can i use
> uv mapping?  how?
> 
>   TIA.


Post a reply to this message

From: Warp
Subject: Re: csg error with megapov's solid mesh?
Date: 30 Aug 2000 18:51:43
Message: <39ad8fff@news.povray.org>
Ron Parker <ron### [at] povrayorg> wrote:
: For a closed mesh surface, fire a ray from outside the bounding box and check
: the normal.

  And hope that the ray hits the mesh? If it doesn't, shoot another ray? What
if after shooting 100 rays you still haven't hit the mesh? :)

  I think there should be a more "secure" way of doing it.

  I was thinking about how to make sure that the mesh really is closed. I think
that it's enough to check that every triangle has three and only three
adjacent triangles.
  It's not usual, but very possible that a triangle has more than three
adjacent triangles, but I think that in that case we are in trouble.

-- 
main(i,_){for(_?--i,main(i+2,"FhhQHFIJD|FQTITFN]zRFHhhTBFHhhTBFysdB"[i]
):_;i&&_>1;printf("%s",_-70?_&1?"[]":" ":(_=0,"\n")),_/=2);} /*- Warp -*/


Post a reply to this message

From: Warp
Subject: Re: csg error with megapov's solid mesh?
Date: 30 Aug 2000 18:55:54
Message: <39ad90fa@news.povray.org>
ryan constantine <rco### [at] yahoocom> wrote:
: what are the benefits of smooth triangles?

  This should be obvious when you see a mesh rendered with regular triangles
and then with smooth triangles.
  For examples, see:
http://iki.fi/warp/PovUtils/smooth.html

:  do they have explicit
: normals in the file?

  Yes.

  Although the mesh smoother calculates single normals for each vertex,
it's perfectly possible that in a pov mesh there could be different normals
for the same vertex, one for each triangle (actually there is, but they
are often the same vector, but they could be different).

-- 
main(i,_){for(_?--i,main(i+2,"FhhQHFIJD|FQTITFN]zRFHhhTBFHhhTBFysdB"[i]
):_;i&&_>1;printf("%s",_-70?_&1?"[]":" ":(_=0,"\n")),_/=2);} /*- Warp -*/


Post a reply to this message

From: Warp
Subject: Re: csg error with megapov's solid mesh?
Date: 30 Aug 2000 19:05:10
Message: <39ad9326@news.povray.org>
Oh, and there's another problem with the ray-shooting technique:

  Even if your ray hits the mesh, if the mesh consists of separate parts
(all closed) you'll only be able to fix the part that the ray hit. The other
parts will still have the problem.

-- 
main(i,_){for(_?--i,main(i+2,"FhhQHFIJD|FQTITFN]zRFHhhTBFHhhTBFysdB"[i]
):_;i&&_>1;printf("%s",_-70?_&1?"[]":" ":(_=0,"\n")),_/=2);} /*- Warp -*/


Post a reply to this message

<<< Previous 10 Messages Goto Latest 10 Messages Next 5 Messages >>>

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