Tiny (and I mean tiny!) length discrepancies using LIST with rotated entities after exploding

Hi there.

I noticed this by accident, but just want to see if a) this is something to do with LIST (and other info commands) or if the discrepancy is real and b) if it even matters. I doubt it does, given the amount is so small, but just interested regardless.

So, using CC3+ 3.94, I make a 100 x 100 box. I explode it. I do LIST on the 4 lines that result, and get the following:

+--Sheet: LAND ----------------------

|

|2D Line: color 240 () layer 25 (RELIEF/CONTOURS)

|  line style 0 (Solid) fill style 0 (Hollow)

|  line width 0.00000 tag # 16200 pen :0.000 mm 2nd color 240

|  from 1683.29321,1065.14209 to 1683.29321,1165.14209

|  length 100.00000, bearing 90.00000°

|

|2D Line: color 240 () layer 25 (RELIEF/CONTOURS)

|  line style 0 (Solid) fill style 0 (Hollow)

|  line width 0.00000 tag # 16201 pen :0.000 mm 2nd color 240

|  from 1683.29321,1165.14209 to 1783.29321,1165.14209

|  length 100.00000, bearing 0.00000°

|

|2D Line: color 240 () layer 25 (RELIEF/CONTOURS)

|  line style 0 (Solid) fill style 0 (Hollow)

|  line width 0.00000 tag # 16202 pen :0.000 mm 2nd color 240

|  from 1783.29321,1165.14209 to 1783.29321,1065.14209

|  length 100.00000, bearing 270.00000°

|

|2D Line: color 240 () layer 25 (RELIEF/CONTOURS)

|  line style 0 (Solid) fill style 0 (Hollow)

|  line width 0.00000 tag # 16203 pen :0.000 mm 2nd color 240

|  from 1783.29321,1065.14209 to 1683.29321,1065.14209

|  length 100.00000, bearing 180.00001°

|

+-----------------------------------------

As expected, the lengths of the lines are 100 units. (There is a .00001° discrepancy in the bearing of one of the lines. I really doubt this matters.)

I make another 100 x 100 box, rotate it arbitrarily, explode it, and do LIST again. This the output:

+--Sheet: LAND ----------------------

|

|2D Line: color 240 () layer 25 (RELIEF/CONTOURS)

|  line style 0 (Solid) fill style 0 (Hollow)

|  line width 0.00000 tag # 16204 pen :0.000 mm 2nd color 240

|  from 1877.97424,1024.91870 to 1838.47083,1116.78540

|  length 100.00005, bearing 113.26809°

|

|2D Line: color 240 () layer 25 (RELIEF/CONTOURS)

|  line style 0 (Solid) fill style 0 (Hollow)

|  line width 0.00000 tag # 16205 pen :0.000 mm 2nd color 240

|  from 1838.47083,1116.78540 to 1930.33752,1156.28882

|  length 100.00005, bearing 23.26809°

|

|2D Line: color 240 () layer 25 (RELIEF/CONTOURS)

|  line style 0 (Solid) fill style 0 (Hollow)

|  line width 0.00000 tag # 16206 pen :0.000 mm 2nd color 240

|  from 1930.33752,1156.28882 to 1969.84082,1064.42212

|  length 100.00001, bearing 293.26802°

|

|2D Line: color 240 () layer 25 (RELIEF/CONTOURS)

|  line style 0 (Solid) fill style 0 (Hollow)

|  line width 0.00000 tag # 16207 pen :0.000 mm 2nd color 240

|  from 1969.84082,1064.42212 to 1877.97424,1024.91870

|  length 99.99994, bearing 203.26812°

|

+-----------------------------------------

As seen above, all of the lines have a length other than 100.

Again, I doubt any of this matters at all, but just wondering if anyone knows why the imprecision creeps in on rotation. I've also noticed similar tiny difference on other operations done at angles that are off ortho (e.g. trimming). Is it just some rounding thing?

Thanks in advance!

Comments

  • MonsenMonsen Administrator 🖼️ 46 images Cartographer

    This is a precision error caused by the fact that computer numbers have a limited amount of precision (number of decimals). Lines are defined by their coordinates, and when you rotate things by an arbitrary angle, those coordinates won't be pretty whole integer numbers any more (assuming they started out as such), and they become subject to tiny precision errors because the number have more decimals than the computer can handle.

    Length and Bearing are values calculated from the coordinates, so when the coordinates have precision errors, so will these values.

    OverCriticalHit
  • Thanks, Monsen. Effectively, what does it mean in practice? Just ignore it because the error is so small it doesn't really affect anything?

  • MonsenMonsen Administrator 🖼️ 46 images Cartographer

    Yes. It's never going to matter on normal-sized map. This is an issue for all computer programs that deals with numbers. It is possible for a program to use higher precision than CC3+ uses when higher precicion is needed, but the current use is plenty good enough for CC3+ use, and was picked with performance in mind.

    OverCriticalHit
Sign In or Register to comment.