mirror of
https://github.com/JustinSDK/dotSCAD.git
synced 2025-08-21 05:52:16 +02:00
remove center param
This commit is contained in:
@@ -1,16 +1,16 @@
|
|||||||
use <__comm__/__frags.scad>
|
use <__comm__/__frags.scad>
|
||||||
use <ptf/ptf_rotate.scad>
|
use <ptf/ptf_rotate.scad>
|
||||||
|
|
||||||
function great_circle_arc(p1, p2, center = [0, 0, 0]) =
|
function great_circle_arc(p1, p2) =
|
||||||
let(
|
let(
|
||||||
radius = norm(p1 - center),
|
radius = norm(p1),
|
||||||
normal_vt = cross(p2, p1),
|
normal_vt = cross(p2, p1),
|
||||||
a = acos(p2 * p1 / pow(radius, 2)),
|
a = acos(p2 * p1 / pow(radius, 2)),
|
||||||
steps = round(a / (360 / __frags(radius)))
|
steps = round(a / (360 / __frags(radius)))
|
||||||
)
|
)
|
||||||
steps == 0 ? [p1, p2] :
|
steps == 0 ? [p1, p2] :
|
||||||
let(a_step = a / steps)
|
let(a_step = a / steps)
|
||||||
[for(i = [0:steps]) ptf_rotate(p1, a_step * i, normal_vt) + center];
|
[for(i = [0:steps]) ptf_rotate(p1, a_step * i, normal_vt)];
|
||||||
|
|
||||||
/*
|
/*
|
||||||
use <experimental/great_circle_arc.scad>
|
use <experimental/great_circle_arc.scad>
|
||||||
|
Reference in New Issue
Block a user