|
32 | 32 | (define wa (fls3apply/pos t va)) |
33 | 33 | (define wc (fls3apply/pos t vc)) |
34 | 34 | (define angle |
35 | | - (+ (acos (flv3bend-cos w1 wa wb)) |
36 | | - (acos (flv3bend-cos wa wb wc)) |
37 | | - (acos (flv3bend-cos wb wc w2)))) |
| 35 | + (+ (flacos (flv3bend-cos w1 wa wb)) |
| 36 | + (flacos (flv3bend-cos wa wb wc)) |
| 37 | + (flacos (flv3bend-cos wb wc w2)))) |
38 | 38 | (> (* angle (- 1.0 1e-8)) max-angle)) |
39 | 39 |
|
40 | 40 | (: maybe-add-edge (-> (Listof (edge (Pair Boolean FlV3))) |
|
85 | 85 | (define e12? |
86 | 86 | (and (not keep12?) |
87 | 87 | (or d12? |
88 | | - (and m1 m2 (> (acos (flv3cos m1 m2)) max-angle)) |
| 88 | + (and m1 m2 (> (flacos (flv3cos m1 m2)) max-angle)) |
89 | 89 | (arc-or-blend-split? blend v1 v12 v2 w1 (fls3apply/pos t v12) w2)))) |
90 | 90 |
|
91 | 91 | (define e23? |
92 | 92 | (and (not keep23?) |
93 | 93 | (or d23? |
94 | | - (and m2 m3 (> (acos (flv3cos m2 m3)) max-angle)) |
| 94 | + (and m2 m3 (> (flacos (flv3cos m2 m3)) max-angle)) |
95 | 95 | (arc-or-blend-split? blend v2 v23 v3 w2 (fls3apply/pos t v23) w3)))) |
96 | 96 |
|
97 | 97 | (define e31? |
98 | 98 | (and (not keep31?) |
99 | 99 | (or d31? |
100 | | - (and m3 m1 (> (acos (flv3cos m3 m1)) max-angle)) |
| 100 | + (and m3 m1 (> (flacos (flv3cos m3 m1)) max-angle)) |
101 | 101 | (arc-or-blend-split? blend v3 v31 v1 w3 (fls3apply/pos t v31) w1)))) |
102 | 102 |
|
103 | 103 | (let* ([es (maybe-add-edge es blend vtx1 vtx2 v1 v2 v12 d12? e12? d12)] |
|
212 | 212 | (define w1 (deform v1)) |
213 | 213 | (define w2 (deform v2)) |
214 | 214 | (define w3 (deform v3)) |
215 | | - (define angle (acos (flv3bend-cos w2 w3 w1))) |
| 215 | + (define angle (flacos (flv3bend-cos w2 w3 w1))) |
216 | 216 | (if (> angle acute-threshold/2) |
217 | 217 | (list* (edge vtx2 vtx3 (cons #t (blend v2 v3 0.5))) |
218 | 218 | (edge vtx3 vtx1 (cons #t (blend v3 v1 0.5))) |
|
235 | 235 | (define w31 (fls3apply/pos t v31)) |
236 | 236 | (define angle (if (< (flv3dist w23 w1) |
237 | 237 | (flv3dist w2 w31)) |
238 | | - (max (acos (flv3bend-cos w31 w1 w2)) |
239 | | - (acos (flv3bend-cos w2 w23 w31))) |
240 | | - (max (acos (flv3bend-cos w1 w2 w23)) |
241 | | - (acos (flv3bend-cos w23 w31 w1))))) |
| 238 | + (max (flacos (flv3bend-cos w31 w1 w2)) |
| 239 | + (flacos (flv3bend-cos w2 w23 w31))) |
| 240 | + (max (flacos (flv3bend-cos w1 w2 w23)) |
| 241 | + (flacos (flv3bend-cos w23 w31 w1))))) |
242 | 242 | (if (> angle acute-threshold/2) |
243 | 243 | (cons (edge vtx1 vtx2 (cons #t (blend v1 v2 0.5))) es) |
244 | 244 | es)) |
|
0 commit comments