Reta - Reta

Construção

Lugar geométrico

Quando R percorre uma reta, os pontos médios das quatro interseções
criam seus próprios lugares geométricos.

Ao aproximar simultaneamente retas paralelas usando o recurso de “offset,” com o rastro 
ativado, a cor correspondente à reta mais próxima permanece, resultando nas bissetrizes.

Incentro

No caso de três retas, podemos visualizar o incentro
e os exincentros do triângulo que elas determinam.

Esqueleto

Usando bissetrizes e círculos, podemos
visualizar o eixo medial de um polígono como
uma fronteira (segmentos e arcos de parábolas)
entre os rastros sobreviventes.

Disco bitangente

Eixo medial

Construção das bissetrizes
de duas retas (que se cruzam).

dr - ds = 0

P10 = (-1, 8)
P9 = (2, 5)
c = Line(P10, P9)
P1 = (4, -1)
P11 = (4, 8)
b_1 = AngularBisector(P9, P10, P11)
s_1 = Line(P11, P1)
d, c_1 = AngularBisector(s_1, c)
P8 = (2, 2)
P7 = (-2, 2)
P3 = (-4, 1)
m_2 = LineBisector(P3, P7)
I = (-2, 3)
O = (-6, 3)
r = Line(O, I)
I' = Mirror(I, O)
k = Circle(O, I)
op1 = false
offset = 7 (slider from 0 to 10, step 0.02)
op5 = false
op4 = false
op2 = false
op3 = false
grafo1 = Voronoi(A1:A10)
D = (-3, 7)
s = Line(O, D)
sp = OrthogonalLine(O, s)
rp = OrthogonalLine(O, r)
P2 = (-4, -1)
P4 = (-6, 1)
P5 = (-6, 5)
P6 = (-2, 9)
puntos = Join({CellRange(P1,P11,"point"), {P1}})
polígono2 = Polygon(CellRange(P1,P11,"point"))
n = AngularBisector(P4, P5, P6)
q = AngularBisector(P10, P11, P1)
t_2 = AngularBisector(P3, P4, P5)
b = AngularBisector(P5, P6, P7)
H = Intersect(b, n)
k_1 = AngularBisector(P1, P2, P3)
l_1 = Line(P6, P7)
m_1 = LineBisector(P2, P3)
n_1 = AngularBisector(P11, P1, P2)
p_1 = Line(P7, P8)
K: (-2.75, 1)
q_1 = Line(P2, P1)
T = Intersect(l_1, q_1)
r_1 = LineBisector(P7, T)
U: (-39 / 16, 0.5)
Z = Intersect(p_1, s_1)
t_1 = LineBisector(P8, Z)
a_1 = Line(P9, p_1)
A_1 = Intersect(t_1, a_1)
c_2 = Parabola(P9, s_1)
C_1 = Intersect(c_2, d)
f_2 = Segment(P6, H)
G: (-4, 3)
g_2 = Segment(H, G)
L = Intersect(p_1, m_2)
h_2 = Segment(L, K)
V: (39 / 16, 0.5)
i_2 = Segment(U, V)
W: (3, 2)
j_2 = Segment(W, A_1)
D_1 = Intersect(b_1, d)
k_2 = Segment(C_1, D_1)
l_2 = Segment(D_1, P10)
parábola3 = CurveCartesian(3 - t^(2) / 4, 2 + t, t, -1.5, 0)
parábola4 = CurveCartesian(3 - t^(2) / 4, 5 + t, t, 0, 0.82843)
n_2 = Segment(C_1, D_1)
parábola1 = CurveCartesian(-3 - t^(2) / 4, 1 - t, t, -2, -1)
parábola2 = CurveCartesian(-3 + t^(2) / 4, 2 - t, t, 1, 1.5)
l1: {f_2, g_2, parábola1, h_2, parábola2, i_2, parábola3, j_2, parábola4, n_2, l_2}
F = Point(l1)
J = ClosestPoint(polígono2, F)
d_2 = Circle(F, J)
verEjeMedio = false
h = Segment(P5, H)
i = Segment(P4, G)
p_2 = Segment(P2, U)
q_2 = Segment(P1, V)
r_2 = Segment(D_1, P11)
P = Point(r)
t = Line(D, P)
rt = OrthogonalLine(O, t)
brt2, brt1 = AngularBisector(r, t)
brs, brs2 = AngularBisector(s, r)
In = Intersect(brt2, brs)
Ex1 = Intersect(brt2, brs2)
Ex2 = Intersect(brt1, brs)
Ex3 = Intersect(brt1, brs2)
B_1 = Intersect(brs, t)
e_2 = Circle(In, B_1)
s_2 = Circle(Ex2, B_1)
F_1 = Intersect(brt2, s)
c_3 = Circle(Ex1, F_1)
a_2 = Line(In, Ex3)
G_1 = Intersect(a_2, r)
d_3 = Circle(Ex3, G_1)
R = Point(r)
e = Circle(O, R)
A_2, B = Intersect(e, s)
C, E = Intersect(e, r)
M = Midpoint(B, R)
N = Midpoint(B, E)
Q = Midpoint(E, A_2)
S = Midpoint(A_2, R)
lugar1 = Locus(M, R)
lugar2 = Locus(S, R)
A = Point(r)
f = Circle(O, A)
E_1, H_1 = Intersect(f, s)
g = Segment(E, B)
j = Segment(B, R)
l = Segment(A_2, R)
m = Segment(E, A_2)
I_1, J_1 = Intersect(f, r)
p = Segment(A, H_1)
a = Segment(H_1, J_1)
f_1 = Segment(J_1, E_1)
g_1 = Segment(E_1, A)
K_1 = Midpoint(p)
L_1 = Midpoint(a)
M_1 = Midpoint(f_1)
N_1 = Midpoint(g_1)
h_1 = Line(N_1, L_1)
i_1 = Line(M_1, K_1)
anima = true
polígono2' = Polygon(CellRange(P1,P11,"point"))
ec1:=Xr - Xs = 0
offset': 10 - offset
r1 = Translate(r, Vector[(offset' * UnitOrthogonalVector[r])])
r2 = Translate(r, Vector[((-offset') * UnitOrthogonalVector[r])])
s2 = Translate(s, Vector[((-offset') * UnitOrthogonalVector[s])])
s1 = Translate(s, Vector[(offset' * UnitOrthogonalVector[s])])
t1 = Translate(t, Vector[(offset' * UnitOrthogonalVector[t])])
t2 = Translate(t, Vector[((-offset') * UnitOrthogonalVector[t])])
círculos = Sequence(Circle[puntos(k), offset'], k, 1, 11)
cir3: círculos(3)
cir7: círculos(7)
cir8: círculos(8)
cir9: círculos(9)
vectores = Sequence(Vector[((-offset') * UnitVector[((-y(puntos(k + 1) - puntos(k))), x(puntos(k + 1) - puntos(k)))])], k, 1, 11)
segmentos = Sequence(Segment[puntos(k) + vectores(k), puntos(k + 1) + vectores(k)], k, 1, 11)
seg1: segmentos(1)
seg2: segmentos(2)
seg3: segmentos(3)
seg5: segmentos(5)
seg6: segmentos(6)
seg7: segmentos(7)
seg8: segmentos(8)
seg9: segmentos(9)
seg10: segmentos(10)
seg11: segmentos(11)
seg4: segmentos(4)

Tool: OpSuma
Elige O y luego dos puntos
Input: O, A, B
Output: O'

C = Midpoint(A, B)
O' = Mirror(O, C)

Tool: OpResta
Elige O, el primer punto y el segundo punto
Input: O, A, B
Output: O'

B' = Mirror(B, O)
C = Midpoint(A, B')
O' = Mirror(O, C)

Tool: OpProducto
Elige O e I, y luego dos puntos
Input: O, I, A, B
Output: E

I' = Mirror(I, O)
B' = Mirror(B, O)
c = Semicircle(I', I)
d = Semicircle(B', B)
f = Line(O, I)
g = OrthogonalLine(O, f)
C = Intersect(c, g, 1)
h = Line(C, A)
D = Intersect(d, g, 1)
i = Line(D, h)
E = Intersect(f, i)

Tool: OpDivisión
Elige O e I, y luego el primer punto y el segundo punto
Input: O, I, A, B
Output: E

f = Line(O, I)
g = OrthogonalLine(O, f)
I' = Mirror(I, O)
c = Semicircle(I', I)
Binv = Mirror(B, c)
Binv' = Mirror(Binv, O)
e = Semicircle(Binv', Binv)
F = Intersect(e, g, 1)
C = Intersect(c, g, 1)
h = Line(C, A)
i = Line(F, h)
E = Intersect(f, i)