makhidkarun / traveller_pyroute

Traveller trade route generator
MIT License
14 stars 5 forks source link

Star.distance() values look wrong #50

Closed CyberiaResurrection closed 1 year ago

CyberiaResurrection commented 1 year ago

Can't remember where/when I first noticed the forward/reverse mismatch, but noting down here for reference.

Forward distance is the result of calling starA.distance(starB), and reverse distance is the result of calling starB.distance(starA). Manual distance is from manually counting the distance between A to B.

At the very least, a distance value should be independent of direction (ie, whatever the forward and reverse distances are between a given pair of stars, they should be equal). Distance values should also be invariant under translation - shifting the start and endpoints by the same amount shouldn't change the distance value.

Star A Star B Forward Distance (pc) Reverse Distance (pc) Manual Distance (pc)
Core 0104 Core 2209 37 37 21
Lishun 0104 Lishun 2209 37 37 21
Core 0105 Core 0525 26 26 22
Vland 0105 Vland 0525 26 26 22
Core 0205 Core 1315 25 25 15
Dagudashaag 0205 Dagudashaag 1315 25 25 15
Core 0204 Core 1215 25 26 16
Zarushagar 0204 Zarushagar 1215 25 26 16
Core 0105 Core 1216 28 28 17
Massilia 0105 Massilia 1216 28 28 17
Core 0204 Core 2208 33 34 20
Delphi 0204 Delphi 2208 33 34 20
Core 0204 Core 0725 28 28 23
Fornast 0204 Fornast 0725 28 28 23
Core 0105 Core 2210 37 37 21
Antares 0105 Antares 2210 37 37 21
Core 0910 Core 1407 5 5 5
Core 0910 Core 1507 6 6 6
Core 0910 Core 1412 10 10 5
Core 0910 Core 1513 12 11 6
Core 0910 Core 0914 5 4 5
Core 0910 Core 0915 6 5 6
Core 0910 Core 1410 8 8 5
Core 0910 Core 1510 9 6 6
CyberiaResurrection commented 1 year ago

Updated table after latest pushes as at this writing:

Asterisked values have been changed by commits in attached PR

Star A Star B Forward Distance (pc) Reverse Distance (pc) Manual Distance (pc)
Core 0104 Core 2209 37 37 21
Lishun 0104 Lishun 2209 37 37 21
Core 0105 Core 0525 26 26 22
Vland 0105 Vland 0525 26 26 22
Core 0205 Core 1315 25 25 15
Dagudashaag 0205 Dagudashaag 1315 25 25 15
Core 0204 Core 1215 26* 26 16
Zarushagar 0204 Zarushagar 1215 26* 26 16
Core 0105 Core 1216 28 28 17
Massilia 0105 Massilia 1216 28 28 17
Core 0204 Core 2208 34* 34 20
Delphi 0204 Delphi 2208 34* 34 20
Core 0204 Core 0725 28 28 23
Fornast 0204 Fornast 0725 28 28 23
Core 0105 Core 2210 37 37 21
Antares 0105 Antares 2210 37 37 21
Core 0910 Core 1407 5 5 5
Core 0910 Core 1507 6 6 6
Core 0910 Core 1412 10 10 5
Core 0910 Core 1513 12 12* 6
Core 0910 Core 0914 5 5* 5
Core 0910 Core 0915 6 6 6
Core 0910 Core 1410 8 8 5
Core 0910 Core 1510 9 9* 6
CyberiaResurrection commented 1 year ago

51 has been merged, fixing the underlying wonkiness.