Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Gráficos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

 
 
Herramientas Buscar en Tema Desplegado
  #4  
Antiguo 19-07-2006
Avatar de epuigdef
epuigdef epuigdef is offline
Miembro
 
Registrado: jul 2005
Posts: 196
Poder: 21
epuigdef Va por buen camino
Pues, a ver, me parece que sí te voy a pegar el rollo de la trigonometría:

Un triángulo se define por la longitud de sus tres lados (normalmente se nombrean como a, b y c) y los grados de sus tres ángulos (nombrados como A, B y C). El lado a es el opuesto al ángulo A, y así sucesivamente

Para dibujar un triángulo necesitas saber tres de estos 6 datos, y lo que me ha despistado es que sólos sabemos uno: El ángulo de 45 grados.

Vamos a poner un ejemplo: Supongamos que sabes este ángulo: A= 45º, y también sabemos dos lados a y b.

Para calcular los otros tres datos tenemos los teoremas del seno y del coseno:

Teorema del seno:

a / sin (A) = b / sin(B) = c / sin(C)


Teorema del coseno:

a^2 = b^2 + c^2 - 2 * b * c * cos(A)
b^2 = a^2 + c^2 - 2 * a * c * cos(B)
c^2 = a^2 + b^2 - 2 * a * b * cos(B)

Vale, pues con estas fórmulas podemos encontrar los datos que nos faltan.


Una vez tenemos esto, el problema está en dibujar las líneas en las coordenadas correctas. Para ello vamos a partir de una posición fija (p.e. la coordenada 100, 100) que va a ser uno de los treas puntos del triángulo.

Para obtener el segundo punto vamos a sumar la lado 'a' a la coordenada x, por tanto el segundo punto va a estar en (100+a, 100)

Jugando un poco con la trigo, podemos encontrar que la coordenada x del punto que nos falta es:

100 - c * sin(90 - A)

y la coordenada y de este punto es

100 - c * sin(A)

Por lo tanto, tendrías que dibujar las líneas entre los siguientes puntos:


(100, 100)

(100 + a, 100)

( 100 - c * sin (90 - A) , 100 - c * sin(A) )


Donde todos los valores 100 corresponden al punto de inicio del triángulo.

Uf! Espero que te sirva!

Edu
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Trabajar con angulos (grados, minutos, segundos) onlytk Varios 6 15-11-2005 23:49:33
Como rotar x grados un bitmap ( o grafico en general ) manoley23 Gráficos 2 28-07-2003 17:23:38


La franja horaria es GMT +2. Ahora son las 15:32:30.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi