A elipse: definición
Exercicio
Unha elipse é o conxunto de todos os puntos do plano para os que a suma das súas distancias a dous puntos fixos, chamados focos, é constante. Comproba que na elipse de ecuación:
() todos os seus puntos verifican a definición.
Imos crear unha interacción coa que o usuario escolle un punto da elipse e para este punto se calculan as súas distancias aos focos a súa suma.
Declaramos a variable , introducimos os valores dos semieixes e e calculamos o valor da semidistancia focal tendo en conta que :
var ('t') a = 5 b = 4 c = (a^2 - b^2)^(1/2)
As ecuacións paramétricas da elipse son:
x(t) = a*cos(t) y(t) = b*sin(t)
Engadimos unha liña coas instrucións para utilizar a interacción:
show("Move o deslizador para variar o punto P da elipse")
e creamos a gráfica da elipse:
elipse = parametric_plot((x(t), y(t)), (t, 0, 2*pi), color='#556B2F') eixes = line([(-a,0), (a,0)], color='darkgrey', thickness=0.5) eixes += line([(0,-b), (0,b)], color='darkgrey', thickness=0.5) focos = point([(c,0), (-c,0)], color='brown', size='25', zorder=90) texto = text("F", (c,-0.4), color='black') texto += text("F'", (-c,-0.4), color='black')
Engadimos unha interacción para que o usuario seleccione o valor do parámetro que define un punto da elipse. Este parámetro, que será seleccionado mediante un deslizador, toma valores entre e , e dámoslle como valor por defecto.
@interact def _(t = slider(0, 2*pi, label='t', default=0)):
As coordenadas e do punto da elipse para o valor de seleccionado veñen determinadas polas ecuacións paramétricas da elipse:
Px = x(t) Py = y(t)
e a súa representación gráfica é:
puntoP = point((Px, Py), color='#556B2F', size='50', zorder=99) lineas = line([(-c,0), (Px,Py), (c,0)], color='darkgrey', linestyle='dotted', thickness=1)
Dado que as coordenadas do punto da elipse son e as dos focos son e , e tendo en conta que a distancia entre dous puntos e é , calculamos a distancia entre o punto e cada un dos focos:
dist_PF = ((Px - c)^2 + Py^2)^(1/2) dist_PFprima = ((Px + c)^2 + Py^2)^(1/2)
Finalmente mostramos por pantalla o resultado:
show("Coordenadas do punto P: " + "(" + str(n(Px, digits=2)) + ", " + str(n(Py, digits=2)) + ")") show("Distancia do punto P ao foco F: " + "d(P,F) = " + str(n(dist_PF, digits=3))) show("Distancia do punto P ao foco F': " + "d(P,F') = " + str(n(dist_PFprima, digits=3))) show("Suma das distancias: " + "d(P,F) + d(P,F') = " + str(n(dist_PF + dist_PFprima, digits=3))) show(elipse + eixes + focos + puntoP + lineas + texto, frame=false, axes=false)
Proba a interacción e varía os valores dos semieixes para comprobar que, de acordo coa súa definición, nunha elipse a suma das distancias de cada un dos seus puntos aos focos é constante, e sempre é igual a .