[LSC] LDraw coplanarity check

Michael Heidemann mikeheide at web.de
Wed Nov 14 17:01:03 EST 2007


This answers my question why we need it.

It would be a good idea to have a value to change in LDView like in LDDP
where I can adjust the accurance. After that we only have to specify a
value for parts and primitives and 48'er primitives.

mikeheide

Travis Cobbs schrieb:

> I wasn't in on the beginning of this conversation, but based on what

> I've seen, I'd like to thrown in my two cents.

>

> First of all, Philo is right when he points out that gaps are a

> problem that isn't related to non-planar quads (other than the fact

> that closing gaps often leads to non-planar quads). It seems to me

> that his sine calculation is the only thing that really matters. The

> reason that non-planar quads are bad is that there's no "right" way to

> render them. The quad is split into two triangles at render time, and

> the split is arbitrary; which two triangles to choose? If the two

> triangles are at different angles, this will be visible. If the quad

> is planar, there's no problem. The size of the quad has no impact on

> the rendering error, though.

>

> LDView's calculations for "non-flat" quads use the dot product of the

> normalized surface normals of the two triangles in the quad (using

> every combination of two triangles, actually). If that's <= 0 for any

> of the normal pairs, the quad is concave. If it's <= 0.9 for any of

> the normal pairs, LDView considers the quad to be non-flat. Unless I

> did the math wrong, that means LDView considers a quad to be flat as

> long as the two triangles are within 25 degrees of being the same.

> Ouch! Maybe I should go back and tighten that up.

>

> Can a math person confirm that? (I'm doing acos(0.9) = 25.8 degrees.

> Is this the right calculation? If so, then for 1-degree accuracy, I'd

> need 0.9 to change to 0.9998.) Also, what should be considered

> "acceptable" here. Is 1 degree too tight?

>

> --Travis

>

> On Nov 14, 2007 12:56 PM, Philo <philohome at free.fr

> <mailto:philohome at free.fr>> wrote:

>

> I got further on this one and made some experiments...

>

> First I tested -dist and -det from LDDP with a slightly non planar

> quad

> at different scales. Here are the results:

> 4 16 0 0 10 1000 0 0 1000 1000 0 0 1000 0

> 0 // -dist = 10 -det = 10000000 -sine = 0.014

> 4 16 0 0 1 100 0 0 100 100 0 0 100 0

> 0 // -dist = 1 -det = 10000 -sine = 0.014

> 4 16 0 0 0.1 10 0 0 10 10 0 0 10 0

> 0 // -dist = 0.1 -det = 10 -sine = 0.014

> 4 16 0 0 0.01 1 0 0 1 1 0 0 1 0

> 0 // -dist = 0.01 -det = 0.01 -sine = 0.014

>

> As you can see, -dist returns a value proportional to the size of the

> quad, while -det provides a value proportional to the cube of the

> size!!!

>

> I then crufted an Excel sheet

> (http://www.brickshelf.com/gallery/Philo/Misc/coplanarity2.xls)

> with the

> angular criteria I proposed, which properly provides a nice constant

> figure (-sine in the results above). I also tested the same quad in

> different position and orientation with the same result (within

> calculation precision)

>

> Tested with real life value (see bottom of excel sheet), I also

> get very

> consistent values, all below 10^-3 (that's a 0.06 degree angle!)

>

> > My mathematics are not so good that I fully understand what you are

> > writing. But if we measure an angle, what is about huge parts? Same

> > angle (that is good for us) but big gap in the part.

>

> I don't think this is a problem. I mean - gaps should not happen of

> course, but generally we adjust quad apexes to match neighbour

> surfaces

> (precisely to close gaps) and in the process get a non-planar surface.

> While gaps can be easily spotted with the eyes while reviewing parts,

> planarity needs a measurement tool.

>

> Orion, would it be difficult to implement that within LDDP? I'd

> like to

> be able to test the sine criteria on a larger scale with real parts.

>

> Philo

>

> _______________________________________________

> LSC mailing list

> LSC at ldraw.org <mailto:LSC at ldraw.org>

> http://five.pairlist.net/mailman/listinfo/lsc

>

>

> ------------------------------------------------------------------------

>

> _______________________________________________

> LSC mailing list

> LSC at ldraw.org

> http://five.pairlist.net/mailman/listinfo/lsc

>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://five.pairlist.net/pipermail/lsc/attachments/20071114/6a474fe2/attachment.htm>


More information about the LSC mailing list