Use splitCubicIntoTwo() more
Shaves another 5%.
This commit is contained in:
parent
dff2cd8669
commit
8a13ef1edf
@ -163,8 +163,11 @@ def cubic_approx_spline(p, n, tolerance):
|
|||||||
return quad
|
return quad
|
||||||
|
|
||||||
spline = [p[0]]
|
spline = [p[0]]
|
||||||
ts = [i / n for i in range(1, n)]
|
if n == 2:
|
||||||
segments = splitCubicAtT(p[0], p[1], p[2], p[3], *ts)
|
segments = splitCubicIntoTwo(p[0], p[1], p[2], p[3])
|
||||||
|
else:
|
||||||
|
ts = [i / n for i in range(1, n)]
|
||||||
|
segments = splitCubicAtT(p[0], p[1], p[2], p[3], *ts)
|
||||||
for i in range(len(segments)):
|
for i in range(len(segments)):
|
||||||
spline.append(cubic_approx_control(segments[i], i / (n - 1)))
|
spline.append(cubic_approx_control(segments[i], i / (n - 1)))
|
||||||
spline.append(p[3])
|
spline.append(p[3])
|
||||||
|
Loading…
x
Reference in New Issue
Block a user