To LUGNET HomepageTo LUGNET News HomepageTo LUGNET Guide Homepage
 Help on Searching
 
Post new message to lugnet.cad.devOpen lugnet.cad.dev in your NNTP NewsreaderTo LUGNET News Traffic PageSign In (Members)
 CAD / Development / 4324
4323  |  4325
Subject: 
Re: Some Words To BFC
Newsgroups: 
lugnet.cad.dev
Date: 
Tue, 4 Apr 2000 14:40:14 GMT
Reply-To: 
rui.martins@link{StopSpammers}.pt
Highlighted: 
(details)
Viewed: 
1763 times
  
Michael Lachmann wrote:

My suggestion is to keep the BFC statements as simple as possible. Meaning we
should rather correct wrong defined
parts than letting the software correct wrong definitions!!!!

  That's why I droped out of the BFC discussion a long time ago, we are
making this a big issue with proposals for a new extension when we could
make things much simpler.

I also have taken a rest somewhere in discussion, due to lack of time.
the simpler the better.

  If you know that a part is wrong, instead of adding a "0 INVERSE"
statement (or whatever you call it now) you just change the orientation,
I guess that Steve should be able to add a command that inverts the
sequence of points of a quad/tri to LDAO easily (if he has enough free
time). This way a program will only have to check for inverse matrixes
on files that are outside the ldraw/parts directory.

Well it seems that you (Leonardo, maybe someone else) didn't understand the
difference between an invert matrix and the goal of the current "0 BFC INVERT"
command (I believe the previous meta-command is what is in the spec).

Several people have already explained this, but I will make an attempt to
clarify it:

- The problem is that a specific file (cylinder primitives for example) can be
used in an inverted way without actually inverting it.

Just think about a hollow tube/pipe which you want to implement using the
cylinder primitive. You will use the same primitive twice, first for the outer
radius, and secondly for the inner radius.
Now, The primitive should be defined to be facing outwards, i.e. all the faces
which are used to represent the cylinder will have a calculate normal, pointing
outwards form the surface.
So, if you use the same primitive to define the outer an inner surface, then we
have a problem, because the outer surface has the normals pointing outwards
(which is OK), but the inner surface has the normals pointing in the same
direction, and they should be pointing inwards (pointing to the virtual line
which represents the tube/pipe/cylinder axis).
Since this is wrong, when you try to render this object in BFC enabled, the
inside surface will be clipped out, because of it's normals directions.

A solution would be to have all primitives (and files alike) represented in both
ways (but this is NOT necessary, since we can invert the normal on the fly, if
someone gives a tip to the rendering program), which takes us to the second
solution (tip the program), i.e. issue a "0 BFC INVERT" metacommand, before the
actual file reference.

Now something that maybe confusing some of you is the fact that in this
particular example (hollow pipes using cylinder primitives) we could actually
use an inverted matrix, because the primitive is simetrical about it's axis, but
there are cases where this doesn't apply, that's why we need the "0 BFC INVERT"
meta-command.

P.S.
Maybe I should make a drawing to clraify this up. If someone want's me too I
will.

In my research about this problems, I'm on the virge of success of conceiving
an algorythm which will be able to find out the correct direction of face
normals (this is the Solid Modeling problem I mentioned in a previous mail)

See ya

Rui Martins



Message is in Reply To:
  Re: Some Words To BFC
 
(...) That's why I droped out of the BFC discussion a long time ago, we are making this a big issue with proposals for a new extension when we could make things much simpler. If you know that a part is wrong, instead of adding a "0 INVERSE" (...) (24 years ago, 4-Apr-00, to lugnet.cad.dev)  

61 Messages in This Thread:






















Entire Thread on One Page:
Nested:  All | Brief | Compact | Dots
Linear:  All | Brief | Compact
    

Custom Search

©2005 LUGNET. All rights reserved. - hosted by steinbruch.info GbR