Le photographe
Author: Daniel Mentrard

http://dmentrard.free.fr/GEOGEBRA/index.htm

La Torre Eiffel tiene 324 m (aquí HB) de altura con sus antenas.  La máquina de fotografiar tiene un objetivo 
cuyo ángulo de abertura es de 42°.  Calcular la distancia mínima OH para que la torre se vea entera en el objetivo.

El objetivo

Moved el punto A

Una pequeña ayuda

En el triángulo OHB, rectángulo en H, sabemos el lado opuesto
HB y queremos saber el lado contiguo al ángulo de 42°.

H = (-2.0899999999999985, -4.438000000000001)
b = Line(H, xAxis)
A = Point(b)
D = Rotate(H, 318.0*°, A)
h = Line(A, D)
c = Line(H, yAxis)
F = Intersect(h, c)
r = Segment(F, H)
d = 8 (slider from -5 to 50, step 0.1)
e = Circle(H, d)
B, E = Intersect(e, c)
i1 = Segment(H, B)
rap: i1 / r
C = (10.498, -1.553272727272727)
f = Circle(H, d / 5.0)
G, H_1 = Intersect(f, b)
a = Line(G, c)
g = Line(B, xAxis)
I = Intersect(a, g)
α = Angle(D, A, H)
k = Circle(A, 1.0)
i = AngularBisector(H_1, A, B)
J, K = Intersect(k, i)
p = Circle(A, 0.3)
j = OrthogonalLine(A, i)
L, M = Intersect(p, j)
l = Line(M, i)
m = Line(J, j)
N = Intersect(m, l)
n = Segment(F, A)
q = Segment(A, H)
s = Circle(C, d / 4.0)
t = Line(C, yAxis)
O, P = Intersect(s, t)
c1 = Circle(O, C)
a1 = Line(C, xAxis)
Q, R = Intersect(c1, t)
S, T = Intersect(s, a1)
b1 = Line(R, a1)
d1 = Line(S, t)
U = Intersect(d1, b1)
f1 = Circle(C, r / 2.0)
W, Z = Intersect(f1, a1)
g1 = Circle(C, rap / 1.2)
A1, B1 = Intersect(g1, a1)
h1 = Line(A1, t)
C1 = Intersect(h1, b1)
poly1, u, c1_1, a1_1, s_1 = Polygon(U, C1, A1, S)
e1 = Line(B1, h1)
V = Intersect(b1, e1)
l1 = Line(T, t)
F1 = Intersect(l1, b1)
poly2, f1_1, v, b1_1, t_1 = Polygon(F1, V, B1, T)
k1 = Circle(C, 4.0 * rap)
D1, E1 = Intersect(k1, t)
j1 = Line(D1, b1)
G1 = Intersect(d1, j1)
H1 = Intersect(l1, j1)
poly3, g1_1, h1_1, f1_2, u_1 = Polygon(G1, H1, F1, U)
m1 = Segment(U, F1)
n1 = Segment(F1, T)
p1 = Segment(T, S)
q1 = Segment(S, U)
I1 = Midpoint(m1)
J1 = Midpoint(n1)
K1 = Midpoint(I1, C)
r1 = Circle(K1, J1)
L1 = Midpoint(q1)
s1 = Segment(F1, S)
M1, N1 = Intersect(r1, s1)
t1 = Segment(U, T)
O1, P1 = Intersect(r1, t1)
Q1 = Midpoint(F1, J1)
R1 = Midpoint(I1, F1)
S1 = Midpoint(K1, M1)
U1 = Midpoint(S1, M1)
c2 = CircleArc(U1, Q1, R1)
V1 = Midpoint(K1, N1)
A2 = Midpoint(p1)
W1 = Midpoint(U, I1)
Z1 = Midpoint(U, L1)
B2 = Midpoint(K1, U)
d2 = CircleArc(B2, W1, Z1)
B2' = Mirror(B2, K1)
W1' = Mirror(W1, K1)
Z1' = Mirror(Z1, K1)
e2 = Arc(Mirror[Circle[B2, W1], K1], W1', Z1')
U1' = Mirror(U1, K1)
Q1' = Mirror(Q1, K1)
R1' = Mirror(R1, K1)
f2 = Arc(Mirror[Circle[U1, Q1], K1], Q1', R1')
C2 = Midpoint(M1, P1)
D2 = Midpoint(C2, M1)
E2 = Midpoint(C2, P1)
I2 = Midpoint(C2, D2)
J2 = Midpoint(C2, E2)
a2 = Segment(J1, C2)
b2 = Segment(C2, I2)
g2 = Segment(C2, J2)
J1' = Mirror(J1, K1)
C2' = Mirror(C2, K1)
h2 = Segment(J1', C2')
C2'_1 = Mirror(C2, K1)
I2' = Mirror(I2, K1)
i2 = Segment(C2'_1, I2')
C2'_2 = Mirror(C2, K1)
J2' = Mirror(J2, K1)
j2 = Segment(C2'_2, J2')
o = true