1
0
mirror of https://github.com/JustinSDK/dotSCAD.git synced 2025-08-14 10:44:48 +02:00

rewrote to use polygon

This commit is contained in:
Justin Lin
2017-05-07 15:05:22 +08:00
parent dcc05778e2
commit a442ef68e0

View File

@@ -15,18 +15,19 @@ include <__private__/__frags.scad>;
module circular_sector(radius, angles) { module circular_sector(radius, angles) {
frags = __frags(radius); frags = __frags(radius);
r = radius / cos(180 / frags); a_step = 360 / frags;
step = -360 / frags;
m = floor(angles[0] / a_step) + 1;
points = concat([[0, 0]], n = floor(angles[1] / a_step);
[for(a = [angles[0] : step : angles[1] - 360])
[r * cos(a), r * sin(a)] points = concat(
[[0, 0], radius * [cos(angles[0]), sin(angles[0])]],
[
for(i = [m:n])
radius * [cos(a_step * i), sin(a_step * i)]
], ],
[[r * cos(angles[1]), r * sin(angles[1])]] [radius * [cos(angles[1]), sin(angles[1])]]
); );
difference() { polygon(points);
circle(radius);
polygon(points);
}
} }