2D 座標架
Author: 藍邦偉  老師

$Q_1$

$Q_1$

$P_1$

$Q_2$

$Q_2$

$P_2$

$B$

$A$

$A$

$ O $

$Step=%v$

$外公切線尺規作圖 $

$B$

Reset

Q_1 = (-1.0180160914334602, 1.053956452114761)
Q1 = DynamicCoordinates(Q_1, floor(x(Q_1)), floor(y(Q_1)))
Q3: Q1
list1 = Sequence(Circle[Q1, k], k, 1, 5)
P1 = Point(list1)
r1 = Segment(Q1, P1)
c_1 = Circle(Q1, r1)
Q_2 = (4.310351455547024, 2.4099209533176813)
Q2 = DynamicCoordinates(Q_2, floor(x(Q_2)), floor(y(Q_2)))
Q4: Q2
list2 = Sequence(Circle[Q2, k], k, 1, 5)
P2 = Point(list2)
r2 = Segment(Q2, P2)
r: abs(r1 - r2)
C = Circle(If[r1 > r2, Q1, Q2], r)
L_1, L_2 = Tangent(Q4, C)
B = Intersect(C, L_2)
f = Line(Q3, B)
P, Q = Intersect(c_1, f)
t2 = 0 (slider from 0 to 1, step 0.02)
A = Intersect(C, L_1)
e = Line(Q3, A)
L, N = Intersect(c_1, e)
t4 = 1 (slider from 0 to 1, step 0.02)
e_8, e_7 = Tangent(Q3, C)
P_a = Intersect(C, e_7, 1)
e_0 = Line(Q4, P_a)
c_2 = Circle(Q2, r2)
K, P_c = Intersect(c_2, e_0)
u_9 = Vector((x(Corner[1]), 0), (x(Corner[3]), 0))
v_7 = Vector((0, y(Corner[1])), (0, y(Corner[3])))
O = (0, 0)
Q_4: 0.8 * Corner[1] + 0.2 * Corner[2]
Q_3: (x(Q_4), y(Corner[4]))
poly1, q_1, q_2, q_4, q_3 = Polygon(Corner[1], Q_4, Q_3, Corner[4])
s = 0 (slider from 0 to 7, step 1)
P_1 = (-2.6795500576961917, 1.053956452114761)
P_2 = (3.8328991663910665, 2.276234312354011)
α = 0 rad (slider from 0 to 360*°, step 0.1*°)
R1 = Rotate(P1, α, Q1)
R2 = Rotate(P2, -α, Q2)
c_a = CircleArc(Q1, P1, R1)
c_b = CircleArc(Q2, R2, P2)
R_1: If[r1 > r2, Q1, Q2] + (abs(r1 - r2), 0)
β = 0 rad (slider from 0 to 6.283185307179586, step 0.1*°)
R = Rotate(R_1, β, If[r1 > r2, Q1, Q2])
Q': Q1 + (r1, 0)
a_5 = Segment(Q3, Q')
a_0 = Segment(R_1, Q')
t = 0 (slider from 0 to 2.5, step 0.01)
A_1: Q2 + t * Vector[Q2, A]
A_2: Q2 - t * Vector[Q2, A]
B_2: Q2 - t * Vector[Q2, B]
B_1: Q2 + t * Vector[Q2, B]
u_1 = Vector(Q4, A_1)
u_2 = Vector(Q4, A_2)
u_3 = Vector(Q4, B_1)
u_4 = Vector(Q4, B_2)
t1 = 0 (slider from 0 to 1, step 0.02)
A_3: Q3 + t1 * Vector[Q3, A]
B_3: Q3 + t1 * Vector[Q3, B]
v_1 = Vector(Q3, A_3)
v_2 = Vector(Q3, B_3)
a_k = Segment(Q3, A)
a_h = Segment(Q3, B)
D_1 = Intersect(c_1, a_k)
D_2 = Intersect(c_1, a_h)
L_5 = Line(D_2, L_2)
L_6 = Line(D_1, L_1)
D1 = 0
D_A: D_1 + t2 * Vector[Q4, A_1]
D_C: D_1 - t2 * Vector[Q4, A_1]
D2 = 0
D_B: D_2 - t2 * Vector[Q4, B_1]
D_D: D_2 + t2 * Vector[Q4, B_1]
w_5 = Vector(D_2, D_D)
w_6 = Vector(D_2, D_B)
w_7 = Vector(D_1, D_A)
w_8 = Vector(D_1, D_C)
E_1, D = Intersect(c_2, L_5)
E_2, E = Intersect(c_2, L_6)
a_1 = Segment(D_1, Q3)
a_2 = Segment(Q3, D_2)
a_3 = Segment(Q4, E_1)
a_4 = Segment(Q4, E_2)
γ = Angle(Q3, D_1, E_2)
δ = Angle(Q3, D_2, E_1)
ε = Angle(D_2, E_1, Q4)
ζ = Angle(Q4, E_2, D_1)
c = CircleArc(If[r1 > r2, Q1, Q2], R_1, R)
d = Segment(R, If[r1 > r2, Q1, Q2])
a: s ≟ 7
A_5: B + t2 * Vector[B, Q]
z_2 = Vector(B, A_5)
A_4: A + t2 * Vector[A, N]
b_5 = Segment(A_4, Q3)
b_6 = Segment(Q3, A_5)
L_3 = Line(A_4, L_1)
L_4 = Line(A_5, L_2)
F_1, F = Intersect(c_2, L_3)
F_2, G = Intersect(c_2, L_4)
b_3 = Segment(F_1, Q4)
b_4 = Segment(Q4, F_2)
t3 = 0 (slider from 0 to 2, step 0.01)
G_1: A_4 + t3 * Vector[A_4, F_1]
G_2: A_4 - t3 * Vector[A_4, F_1]
G_4: A_5 - t3 * Vector[A_5, F_2]
G_3: A_5 + t3 * Vector[A_5, F_2]
w_1 = Vector(A_4, G_2)
w_2 = Vector(A_4, G_1)
w_3 = Vector(A_5, G_4)
w_4 = Vector(A_5, G_3)
H = Intersect(L_3, L_4)
η = Angle(Q3, A_4, F_1)
θ = Angle(Q4, F_1, H)
ι = Angle(Q3, A_5, H)
κ = Angle(Q4, F_2, H)
P_b = Intersect(C, e_8, 1)
e' = Line(Q4, P_b)
M, P_d = Intersect(c_2, e')
b_1 = Line(P_d, e_8)
b_2 = Line(P_c, e_7)
P_e = Intersect(c_1, b_2)
P_f = Intersect(c_1, b_1)
N_1: Q1 + t * Vector[Q1, P_a]
N_2: Q1 - t * Vector[Q1, P_a]
N_3: Q1 + t * Vector[Q1, P_b]
N_4: Q1 - t * Vector[Q1, P_b]
I: Q2 + (r2, 0)
u_5 = Vector(Q3, N_1)
u_6 = Vector(Q3, N_3)
u_7 = Vector(Q3, N_2)
u_8 = Vector(Q3, N_4)
J_3: Q2 + t1 * Vector[Q2, P_a]
J_4: Q2 + t1 * Vector[Q2, P_b]
v_3 = Vector(Q4, J_3)
v_4 = Vector(Q4, J_4)
e_1 = Segment(Q2, P_a)
e_2 = Segment(Q2, P_b)
J_2: P_b + t2 * Vector[P_b, P_d]
J_1: P_a + t2 * Vector[P_a, P_c]
v_5 = Vector(P_a, J_1)
v_6 = Vector(P_b, J_2)
R_0: Q2 + (r2 - r1, 0)
b = Segment(I, R_0)
J_5: P_c + t3 * Vector[P_c, P_e]
J_6: P_c - t3 * Vector[P_c, P_e]
J_8: P_d - t3 * Vector[P_d, P_f]
J_7: P_d + t3 * Vector[P_d, P_f]
z_5 = Vector(P_c, J_5)
z_6 = Vector(P_c, J_6)
z_7 = Vector(P_d, J_7)
z_8 = Vector(P_d, J_8)
e_3 = Segment(P_c, Q4)
e_4 = Segment(Q4, P_d)
e_5 = Segment(P_e, Q3)
e_6 = Segment(Q3, P_f)
J = Intersect(b_1, b_2)
λ = Angle(Q4, P_c, J)
μ = Angle(Q3, P_e, J)
ν = Angle(Q3, P_f, J)
ξ = Angle(Q4, P_d, J)
z_1 = Vector(A, A_4)