6 votos

¿Cómo calcular el punto Fermat en un triángulo de manera más eficiente?

Soy consciente de esta cuestión, pero el mío es un poco más específico.
Quiero encontrar las coordenadas del punto de Fermat para un triángulo dado. Suponiendo que ningún ángulo en un triángulo es mayor de 120 grados, hay un algoritmo para hacer eso que dice algo como esto:

  1. Construir triángulos equiláteros en los dos lados de nuestro (original) del triángulo.
  2. Conecte el nuevo vértices con el opuesto vértices del triángulo original.
  3. Encontrar el punto en el que la conexión de las líneas se cruzan - ese es el punto de Fermat de nuestro triángulo original.

(resumen de la Wikipedia)

Ahora, yo quiero hacer esto mediante programación, así que no puedo hacerlo por el dibujo. Sería ideal si tuviera una fórmula para las coordenadas del punto de Fermat, pero he tratado de Google y no la encuentro.

De todos modos, lo que tengo pensado hacer es escribir un programa que hace algo como esto:

  1. Calcular las coordenadas del tercer vértice de los triángulos equiláteros de dos lados del triángulo original.
  2. Calcular las ecuaciones de las líneas que conectan los nuevos vértices con el opuesto vértices del triángulo original. Puedo hacer esto porque dos punto únicamente determinan una línea.
  3. Dadas las dos ecuaciones que tengo en el paso 2, calcular las coordenadas de la intersección de esas líneas.

Me estoy perdiendo algo? El hecho de que no soy capaz de encontrar una fórmula para esto me hace pensar que soy yo, porque, si lo que yo estoy tratando de hacer es correcta, ¿por qué no hay una fórmula directa? Quiero decir, ¿qué estoy haciendo en cada paso es, básicamente, el uso de una fórmula en lo que me dieron en el paso anterior, así que ¿por qué no hay una fórmula para ir de el paso 0 (coordenadas del triángulo original) paso 3 (coordenadas del punto de Fermat)?

Además, si no hay una fórmula, y si no me falta nada, hay una forma más simple de hacer lo que estoy tratando de hacer?

3voto

Cory Charlton Puntos 3323

Leer más sobre el Vinculado página de la Wikipedia, tenemos dos casos:

Caso 1: el triángulo tiene un ángulo $\ge120^{\circ}$: el punto de Fermat es el obtuso ángulo de vértice.

Caso 2: el triángulo no tiene un ángulo de $\ge120^{\circ}$: el punto de Fermat es la primera isogonic centro. Siguiendo el enlace de esta página, nos encontramos con que punto tiene coordenadas trilineales $\csc(A+120^{\circ}):\csc(B+120^{\circ}):\csc(C+120^{\circ})$. Si, como yo, usted no está familiarizado con coordenadas trilineales, siga el enlace a su página de la wikipedia, donde podemos encontrar un método para convertir trilineal de coordenadas cartesianas:

Tomando vértice $C$ como el origen, encontrar vectores $\vec{A}$ e $\vec{B}$ correspondiente a los vértices $A$ e $B$ respectivamente. Dado longitudes de los lados $a, b, c$ correspondiente en la forma habitual a los lados del triángulo, respectivamente, frente vértices $A, B, C$, un trilineal coordinar $x:y:z$ se convierte en un vector en coordenadas cartesianas por $$\vec{P}=\frac{ax}{ax+by+cz}\vec{A}+\frac{by}{ax+by+cz}\vec{B}.$$

En resumen, tiene una función definida a tramos de que los controles de ángulo y de tamaño, si es mayor de 120 grados, devuelve la $\vec{P}$, además de una corrección de la $\vec{C}$ que representa la ubicación de $C$ si no es conveniente tener $C$, en el origen. Usted podría incrustar el cálculo de $\vec{A}$ e $\vec{B}$ en la fórmula para tener un único resultado de la función. Ese cálculo es necesario sólo si usted no tiene ya disponemos de las coordenadas de los vértices, y es elemental trig.

0 votos

Las coordenadas trilineales anteriores son incorrectas: deberían ser $$\csc(A+60^{\circ}):\csc(B+60^{\circ}):\csc(C+60^{\circ}).$$

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X