Improve orig sphere matching to builtin, at small scales.

This commit is contained in:
Garth Minette 2020-12-28 03:31:51 -08:00
parent 4af7fe8e05
commit 53fae5a3b2
2 changed files with 5 additions and 5 deletions

View file

@ -1213,11 +1213,11 @@ module spheroid(r, d, circum=false, style="aligned", anchor=CENTER, spin=0, orie
if (style=="orig") { if (style=="orig") {
merids = [ for (i=[0:1:vsides-1]) 90-(i+0.5)*180/vsides ]; merids = [ for (i=[0:1:vsides-1]) 90-(i+0.5)*180/vsides ];
path = [ path = [
let(a = merids[0]) [0, r*sin(a)], let(a = merids[0]) [0, sin(a)],
for (a=merids) r * [cos(a), sin(a)], for (a=merids) [cos(a), sin(a)],
let(a = select(merids,-1)) [0, r*sin(a)] let(a = select(merids,-1)) [0, sin(a)]
]; ];
rotate(180) rotate_extrude(convexity=2,$fn=sides) polygon(path); scale(r) rotate(180) rotate_extrude(convexity=2,$fn=sides) polygon(path);
} else { } else {
vnf = spheroid(r=r, circum=circum, style=style); vnf = spheroid(r=r, circum=circum, style=style);
vnf_polyhedron(vnf, convexity=2); vnf_polyhedron(vnf, convexity=2);

View file

@ -8,7 +8,7 @@
////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////
BOSL_VERSION = [2,0,490]; BOSL_VERSION = [2,0,491];
// Section: BOSL Library Version Functions // Section: BOSL Library Version Functions