fix: Add three missing edges

This commit is contained in:
Glen Whitney 2025-09-22 08:38:29 -07:00
parent 02cf7580bc
commit 3afdd3a36b
3 changed files with 149 additions and 146 deletions

View file

@ -829,15 +829,15 @@ const_array!(ACRON554_COMMON: (&str, [f64; 3], bool, usize, &str) = [
("B_NE", [ HPHI, HPHI, RTHPHI], P, 2, "Z_E"),
("B_NW", [-HPHI, HPHI, RTHPHI], P, 2, ""),
("B_SW", [-HPHI, -HPHI, RTHPHI], P, 2, "Z_S"),
("B_SE", [ 0.812, -0.812, 0.89], F, 2, "Z_E,Z_S"),
("B_SE", [ 0.812, -0.812, 0.89], F, 2, "A_SE,Z_E,Z_S"),
("Y_NE", [ 0.11, 0.103, 1.019], F, 3, "B_NE"),
("Y_NW", [-0.103, 0.103, 1.02], F, 3, "B_NW"),
("Y_SE", [ 0.11, -0.11, 1.017], F, 3, "B_SE"),
("Y_SW", [-0.103, -0.11, 1.019], F, 3, "B_SW"),
("C_N", [ 0., 1., RTPHIPH], P, 4, "Y_NE,Y_NW"),
("C_W", [-1., 0., RTPHIPH], P, 4, "Y_NW,Y_SW"),
("C_E", [ 1.006, -0.006, 1.45], F, 4, "Y_NE,Y_SE"),
("C_S", [ 0.006, -1.006, 1.45], F, 4, "Y_SE,Y_SW"),
("C_E", [ 1.006, -0.006, 1.45], F, 4, "B_NE,B_SE,Y_NE,Y_SE"),
("C_S", [ 0.006, -1.006, 1.45], F, 4, "B_SE,B_SW,Y_SE,Y_SW"),
("D_NE", [ 0.2, 0.181, 2.011], F, 5, "Y_NE,C_N,C_E"),
("D_NW", [-0.181, 0.181, 2.014], F, 5, "Y_NW,C_N,C_W"),
("D_SE", [ 0.2, -0.2, 2.009], F, 5, "Y_SE,C_E,C_S"),

View file

@ -39,23 +39,23 @@ A_SW:
Z_E:
0.22640100987140263
-0.0000000000000011264771679683783
0.8216712192845821
0.5 │
0.36320050493570133
┌ ┐
0.22634143549538555
0.000032427771744506665
0.8216513780396574
│ 0.5 │
0.363170717377161
└ ┘
Z_S:
0.0000000000000011207778651773038
-0.22640100987140266
0.8216712192845821
0.5 │
0.3632005049357014
┌ ┐
-0.000032427771744220924
-0.22634143549538618
0.8216513780396576
│ 0.5 │
0.36317071737716133
└ ┘
B_NE:
@ -90,51 +90,51 @@ B_SW:
B_SE:
┌ ┐
0.809033099711693
│ -0.8090330997116932
│ 0.8991650349038145
0.8089673881587364
│ -0.8089673881587335
│ 0.8995105586041169
│ 0.5 │
│ 1.0587834364258994
│ 1.0589799582637938
└ ┘
Y_NE:
┌ ┐
0.1069938166551964
0.10687496051180567
│ 1.0184481498960403
0.10684030416478518
0.1069861535711018
│ 1.0181778574241942
│ 0.5 │
│ 0.5300532840864689
│ 0.5297735192825956
└ ┘
Y_NW:
┌ ┐
│ -0.10692428477988265
│ 0.10692428477988265
1.018330847132124
│ -0.10693925692260356
│ 0.10693925692260356
1.0182278452645257
│ 0.5 │
│ 0.5299316597860524 │
│ 0.5298299819167654 │
└ ┘
Y_SE:
┌ ┐
│ 0.10698231945637848
│ -0.10698231945639325
1.018535901893324
│ 0.10684605297358556
│ -0.10684605297358302
1.0181767492960683
│ 0.5 │
│ 0.5301529083990917
│ 0.5297580227088338
└ ┘
Y_SW:
┌ ┐
│ -0.10687496051180383
-0.1069938166551987
1.018448149896045
│ -0.10698615357110258
-0.10684030416478382
1.0181778574241929
│ 0.5 │
│ 0.5300532840864739
│ 0.5297735192825943
└ ┘
@ -159,220 +159,220 @@ C_W:
C_E:
┌ ┐
│ 0.999774682263142
│ 0.00007707371674579322
1.4560976171636484
│ 0.5 │
1.5598847602606936
└ ┘
│ 0.9997685166344451
│ 0.000045591796741388215
1.4555126531079483
0.5 │
1.5590202705588938
C_S:
┌ ┐
│ -0.00007707371679479347
│ -0.9997746822631508
│ 1.4560976171636524
│ -0.00004559179673933571
│ -0.9997685166344433
│ 1.4555126531079468
│ 0.5 │
│ 1.5598847602607082
│ 1.5590202705588896
└ ┘
D_NE:
┌ ┐
│ 0.19033806936716854
│ 0.19095328682585785
│ 2.0114149031061697
│ 0.19050130249898212
│ 0.19080920821293734
│ 2.0111349254444733
│ 0.5 │
│ 2.0592414502287557
│ 2.0586841044725492
└ ┘
D_NW:
┌ ┐
│ -0.19098096419177987
0.19098096419177987 │
2.011241314951004
│ -0.19087531658436754
0.1908753165843677 │
2.0111018697108243
│ 0.5 │
2.0590184768076125
2.058720870516732
└ ┘
D_SE:
┌ ┐
0.19032946838241013
│ -0.1903294683824241
2.0115648207047037
0.1904710244638656
│ -0.1904710244638643
2.011170408319603
│ 0.5 │
│ 2.0594218564511593
│ 2.0586783801164676
└ ┘
D_SW:
┌ ┐
│ -0.1909532868258615
│ -0.1903380693671672
2.011414903106175
│ 0.5 │
2.0592414502287664
└ ┘
│ -0.19080920821293662
│ -0.19050130249898098
2.011134925444472
0.5 │
2.0586841044725475
E_N:
┌ ┐
│ -0.0004604038856374817
│ 1.0676219893284662
2.4530572130770922
│ -0.0001774225161991373
│ 1.0673561656973407
2.453087108367921
│ 0.5 │
│ 3.5786536184595112
│ 3.5784389787247153
└ ┘
E_W:
┌ ┐
│ -1.0676219893284706
│ 0.00046040388565697025
│ 2.4530572130770927
│ -1.0673561656973403
│ 0.00017742251619961636
│ 2.4530871083679195
│ 0.5 │
3.5786536184595152 │
3.578438978724712 │
└ ┘
E_E:
1.0666707731054204
│ 0.00046707469035518474
2.4538581237635935
0.5 │
3.5796028507332176
┌ ┐
1.0669548967200053
│ 0.0001843766584768728
2.4532662028373866
│ 0.5 │
3.5784510553790545
└ ┘
E_S:
┌ ┐
│ -0.0004670746903934693
-1.0666707731054261
2.4538581237635966
│ 0.5 │
3.5796028507332323
└ ┘
│ -0.00018437665847651806
-1.0669548967200044
2.453266202837385
0.5 │
3.57845105537905
F_NE:
┌ ┐
0.2796758584560578
0.28103193693793593
│ 3.003332401794294
0.28011657185554717
0.280597474289424
│ 3.003049209443169
│ 0.5 │
│ 4.588601770269869
│ 4.587753011062896
└ ┘
F_NW:
┌ ┐
-0.2810301396616794
│ 0.28103013966168067
│ 3.003103384288446
-0.280598407806719
│ 0.28059840780671874
│ 3.002988046197754
│ 0.5 │
│ 4.588292426736586
│ 4.587705454166589
└ ┘
F_SE:
┌ ┐
0.2796768046605061
│ -0.2796768046605201
3.003549612841133
0.28011643423019444
│ -0.2801164342301949
3.0031051243209257
│ 0.5 │
│ 4.588874270244861
│ 4.587785491049536
└ ┘
F_SW:
┌ ┐
-0.2810319369379494
│ -0.2796758584560562
3.0033324017942995
│ 0.5 │
4.588601770269887
└ ┘
-0.2805974742894247
│ -0.28011657185554784
3.003049209443168
0.5 │
4.587753011062893
G_1:
┌ ┐
│ 0.4992113404748246
│ 1.2078950246429414
│ 3.3078353127534763
│ 0.4997377212516245
│ 1.2073683664308739
│ 3.3077679987306667
│ 0.5 │
│ 6.324999358939364
│ 6.324404048677748
└ ┘
G_2:
┌ ┐
│ 1.2063182040451104
│ 0.5007887810363889
│ 3.308363220828225 │
│ 1.2068449832232118
│ 0.5002622274345682
│ 3.307880423181695 │
│ 0.5 │
6.325629722163805 │
6.3244041808325075 │
└ ┘
G_4:
1.2063180313441202
│ -0.49921120092990906
│ 3.3087390625721245
0.5 │
6.326084592820001
┌ ┐
1.2068444751045393
│ -0.4997377595067899
│ 3.307966697528916
│ 0.5 │
6.324427820224868
└ ┘
G_5:
┌ ┐
0.49921120092986965
│ -1.2063180313441402
3.3087390625721245
0.4997377595067881
│ -1.2068444751045408
3.307966697528914
│ 0.5 │
│ 6.326084592820007
│ 6.324427820224864
└ ┘
G_7:
┌ ┐
│ -0.5007887810364288
│ -1.2063182040451044
3.3083632208282268
│ -0.5002622274345697
│ -1.2068449832232129
3.307880423181691
│ 0.5 │
│ 6.325629722163823
│ 6.324404180832497
└ ┘
G_8:
┌ ┐
-1.207895024642962
│ -0.4992113404748007
│ 3.307835312753477
-1.2073683664308756
│ -0.4997377212516256
│ 3.307767998730663
│ 0.5 │
6.32499935893938
6.3244040486777395
└ ┘
G_10:
┌ ┐
│ -1.2078955260488684
0.5007885331479526
│ 3.307456458408049
│ -1.2073693671510268
0.50026206687508
│ 3.307678829535478
│ 0.5 │
6.324533930139645 │
6.3243704479462215 │
└ ┘
G_11:
┌ ┐
│ -0.5007885331479277
│ 1.2078955260488742
3.3074564584080495
│ -0.5002620668750811
│ 1.2073693671510257
3.30767882953548
│ 0.5 │
│ 6.324533930139641
│ 6.324370447946225
└ ┘

View file

@ -30,15 +30,15 @@ acron_data = [
("B_NE", [ HPHI, HPHI, RTHPHI], P, 2, "Z_E"),
("B_NW", [-HPHI, HPHI, RTHPHI], P, 2, ""),
("B_SW", [-HPHI, -HPHI, RTHPHI], P, 2, "Z_S"),
("B_SE", [ 0.812, -0.812, 0.89], F, 2, "Z_E,Z_S"),
("B_SE", [ 0.812, -0.812, 0.89], F, 2, "A_SE,Z_E,Z_S"),
("Y_NE", [ 0.11, 0.103, 1.019], F, 3, "B_NE"),
("Y_NW", [-0.103, 0.103, 1.02], F, 3, "B_NW"),
("Y_SE", [ 0.11, -0.11, 1.017], F, 3, "B_SE"),
("Y_SW", [-0.103, -0.11, 1.019], F, 3, "B_SW"),
("C_N", [ 0., 1., RTPHIPH], P, 4, "Y_NE,Y_NW"),
("C_W", [-1., 0., RTPHIPH], P, 4, "Y_NW,Y_SW"),
("C_E", [ 1.006, -0.006, 1.45], F, 4, "Y_NE,Y_SE"),
("C_S", [ 0.006, -1.006, 1.45], F, 4, "Y_SE,Y_SW"),
("C_E", [ 1.006, -0.006, 1.45], F, 4, "B_NE,B_SE,Y_NE,Y_SE"),
("C_S", [ 0.006, -1.006, 1.45], F, 4, "B_SE,B_SW,Y_SE,Y_SW"),
("D_NE", [ 0.2, 0.181, 2.011], F, 5, "Y_NE,C_N,C_E"),
("D_NW", [-0.181, 0.181, 2.014], F, 5, "Y_NW,C_N,C_W"),
("D_SE", [ 0.2, -0.2, 2.009], F, 5, "Y_SE,C_E,C_S"),
@ -63,6 +63,7 @@ acron_data = [
]
E = 0.0
n_struts = 11 # for the pinned vertices, which all have length exactly 1
for vi in range(0, len(acron_data)):
start_id = acron_data[vi][0]
start = vertices[start_id]
@ -79,4 +80,6 @@ for vi in range(0, len(acron_data)):
(end[0]-start[0])**2 + (end[1]-start[1])**2 + (end[2]-start[2])**2)
print(f"{start_id}-{end_id}: {dist} {dist-1}")
E += fabs(dist-1)
n_struts += 1
print(n_struts, "unit edges")
print(f"----> Total distortion E={E}")