To LUGNET HomepageTo LUGNET News HomepageTo LUGNET Guide Homepage
 Help on Searching
 
Post new message to lugnet.cadOpen lugnet.cad in your NNTP NewsreaderTo LUGNET News Traffic PageSign In (Members)
 CAD / 15823
15822  |  15824
Subject: 
Re: Colinear Vertices
Newsgroups: 
lugnet.cad
Date: 
Tue, 9 Dec 2008 21:00:29 GMT
Viewed: 
6139 times
  
In lugnet.cad, Michael Heidemann wrote:
In lugnet.cad, Philippe Hurbain wrote:
I am struggling to improve Intersector that sometimes creates quads with
_almost_ colinear vertices. An obvious solution is to split quads into two
triangles, but this increase size of generated file. Converted the quad into a
single triangle by suppressing the aligned vertex is not an option imho since it
leaves a teeny gap (this also creates to T-junctions that should be avoided).

Question is, is it really annoying? LDDP at normal setting complains at a
threshold of 0.0001 (but I don't now really what is measured). LDview sets a
warning only for completely aligned vertices.

Is there any benefit of avoiding almost degenerated quads?

If they're on a curved surface, you'll get higher quality out of LDView half the
time if you split them into triangles.  (I say half the time, because OpenGL
splits them into triangles in order to render them, and half the time they'll be
split the "right" way, and the other half the "wrong" way.)  If the split ends
up with one tiny triangle and one much bigger triangle, the smooth shading ends
up looking wrong in some circumstances.  Note that this will happen when LDView
doesn't decide that they're co-linear.  If LDView decides that they're
co-linear, it will simply convert the quad into a triangle (with the associated
T-junction).


As far as I can see the threshold is the number of digits that are used to
determine wheather a value is the same as the other.
So if you use 6.0 and 6.0001 with a threshold of 0.0001 the value are
interpreted to be the same. That makes sense if we use at maximum three digits.
LDView (3.2) has a threshold of 0.0000001, so 6 and 6.0000001 are interpreted to
be the same.

Actually, LDView pretends that the three points are a triangle, then calculates
the surface normal for that triangle.  If that normal comes out with a 0 length,
it declares the vertices to be co-linear.  So its threshold is based on floating
point round-off while calculating the surface normal.

--Travis



Message has 2 Replies:
  Re: Colinear Vertices
 
--snip-- (...) I assume that you divide by the vector lengths first (as in normalise them before taking the cross-product) but if you don't then you should. Tim (16 years ago, 9-Dec-08, to lugnet.cad)
  Re: Colinear Vertices
 
(...) Thanks, Travis. BTW, are there guidelines for part authors that would improve smooth shading? What about precision in coincidence between conditional lines and matching polygon sides? I have seen _many_ instances where a quad should blend into (...) (16 years ago, 11-Dec-08, to lugnet.cad)

Message is in Reply To:
  Re: Colinear Vertices
 
(...) As far as I can see the threshold is the number of digits that are used to determine wheather a value is the same as the other. So if you use 6.0 and 6.0001 with a threshold of 0.0001 the value are interpreted to be the same. That makes sense (...) (16 years ago, 9-Dec-08, to lugnet.cad)

39 Messages in This Thread:









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

This Message and its Replies on One Page:
Nested:  All | Brief | Compact | Dots
Linear:  All | Brief | Compact
    

Custom Search

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