rotation - trazar - ¿Cómo puedo encontrar el ángulo de rotación del eje mayor de una elipse dado su rectángulo delimitador?
metodos para trazar una elipse (3)
Tengo una elipse centrada en (0,0) y el rectángulo delimitador es x = [-5,5], y = [-6,6]. La elipse intersecta el rectángulo en (-5,3), (- 2.5,6), (2.5, -6) y (5, -3)
No sé nada más sobre la elipse, pero lo único que necesito saber es en qué ángulo rota el eje principal.
Parece que la respuesta debe ser realmente simple, pero simplemente no la veo ... ¡gracias por la ayuda!
- Establecer el ángulo de la elipse = 0
- Calcule los 4 puntos de intersección
- Calcular el error entre los puntos de intersección calculados y los deseados (es decir, sumar las 4 distancias).
- Si el error es demasiado grande, use el método secante o Newton-Rhapson para calcular un nuevo ángulo para la elipse y vaya a 2.
Usé un enfoque similar para resolver otro problema de elipse:
http://successfulsoftware.net/2008/07/18/a-mathematical-digression/
http://successfulsoftware.net/2008/08/25/a-mathematical-digression-revisited/
Ver también:
El gradiente de la elipse es idéntico al gradiente de la intersección con el rectángulo delimitador a lo largo de un lado de la elipse. En tu caso, esa es la línea de (-2.5,6) a (5, -3), el lado superior de tu elipse. Esa línea tiene una caída vertical de 9 y una carrera horizontal de 7.5.
Así que terminamos con el siguiente triángulo rectángulo.
(-2.5,6)
*-----
|/x
| /
| /
9 | /
| /
| x/
+------* (5,-3)
7.5
El ángulo que estamos buscando es x, que es el mismo en ambas ubicaciones.
Podemos calcularlo como:
-1
tan (9/7.5)
lo que nos da un ángulo de -50.19 grados
Si (0, 0) es el centro, entonces la ecuación de Tu elipse es:
F (x, y) = Ax ^ 2 + Por ^ 2 + Cxy + D = 0
Para cualquier elipse dada, no todos los coeficientes A, B, C y D están determinados de manera única. Uno puede multiplicar la ecuación por cualquier constante distinta de cero y obtener una nueva ecuación de la misma elipse.
4 puntos Tienes, da 4 ecuaciones, pero dado que esos puntos son dos pares de puntos simétricos, esas ecuaciones no serán independientes. Obtendrás 2 ecuaciones independientes. Puedes obtener 2 ecuaciones más usando el hecho de que la elipse es tangente al rectángulo en puntos de manguera (así es como yo lo entiendo).
Entonces, si F (x, y) = Ax ^ 2 + By ^ 2 + Cxy + D Sus condiciones son:
dF / dx = 0 en puntos (-2.5,6) y (2.5, -6)
dF / dy = 0 en puntos (-5,3) y (5, -3)
Aquí hay cuatro ecuaciones lineales que obtienes
F(5, -3) = 5^2 * A + (-3)^2 * B + (-15) * C + D = 0
F(2.5, -6) = (2.5)^2 * A + (-6)^2 * B + (-15) * C + D = 0
dF(2.5, -6)/dx = 2*(2.5) * A + (-6) * C = 0
dF(5, -3)/dy = 2*(-3) * B + 5 * C = 0
Después de un poco de limpieza:
25A + 9B - 15C + D = 0 //1
6.25A + 36B - 15C + D = 0 //2
5A - 6C = 0 //3
- 6B + 5C = 0 //4
Todavía no todas las 4 ecuaciones son independientes y eso es algo bueno. El conjunto es homogéneo y si fueran independientes obtendría una solución única pero inútil A = 0, B = 0, C = 0, D = 0.
Como dije antes, los coeficientes no están determinados de manera única, por lo que puede establecer uno de los coeficientes que desee y deshacerse de una ecuación. Por ejemplo
25A + 9B - 15C = 1 //1
5A - 6C = 0 //3
- 6B + 5C = 0 //4
De eso obtienes: A = 4/75, B = 1/27, C = 2/45 (D es por supuesto -1)
Ahora, para llegar al ángulo, aplique la transformación de las coordenadas:
x = ξcos(φ) - ηsin(φ)
y = ξsin(φ) + ηcos(φ)
(No pude resistirme a usar esas letras :))
a la ecuación F (x, y) = 0
F(x(ξ, η), y(ξ, η)) = G(ξ, η) =
A (ξ^2cos^2(φ) + η^2sin^2(φ) - 2ξηcos(φ)sin(φ))
+ B (ξ^2sin^2(φ) + η^2cos^2(φ) + 2ξηcos(φ)sin(φ))
+ C (ξ^2cos(φ)sin(φ) - η^2cos(φ)sin(φ) + ξη(cos^2(φ) - sin^2(φ))) + D
Usando esas dos identidades:
2cos(φ)sin(φ) = sin(2φ)
cos^2(φ) - sin^2(φ) = cos(2φ)
Obtendrá el coeficiente C ''que representa el producto ξη en G (ξ, η) para que sea:
C ''= (BA) sin (2φ) + Ccos (2φ)
Ahora su pregunta es: ¿para qué ángulo disappe desaparece el coeficiente C ''(es igual a cero)
Hay más de un ángulo φ ya que hay más de un eje. En el caso del eje principal B ''> A''