Subject:
|
Re: Colinear Vertices
|
Newsgroups:
|
lugnet.cad
|
Date:
|
Tue, 9 Dec 2008 21:00:29 GMT
|
Viewed:
|
6804 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
|
|
|
|