Club Delphi  
    FTP   CCD     Enlaces   Buscar   Trucos   Trabajo   Foros

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

Respuesta
 
Herramientas Desplegado
  #1  
Antiguo 18-07-2006
pattyka pattyka is offline
Miembro
 
Registrado: jun 2006
Posts: 26
pattyka Va por buen camino
Wink triangulo de 45 grados

Alguien me podria explicar???... Por favor... Necesito dibujar un triangulo con los eventos del mouse (mouse up y down)... porfavor... si alguin sabe
Responder Con Cita
  #2  
Antiguo 19-07-2006
Avatar de epuigdef
epuigdef epuigdef is offline
Miembro
 
Registrado: jul 2005
Posts: 193
epuigdef Va por buen camino
Buenas!

Lo podrías explicar un poco más? Es que estaba a punto de pegarte un rollo sobre trigonometría, pero no sé si te va a servir. Qué es exactamente lo que necesitas?

Edu
Responder Con Cita
  #3  
Antiguo 19-07-2006
pattyka pattyka is offline
Miembro
 
Registrado: jun 2006
Posts: 26
pattyka Va por buen camino
Wink

Sorry :S:S ... necesito dibujar en un paintbox un triangulo de 45 grados usando los eventos del mouse (soy primeriza en esto :S:S)...
Responder Con Cita
  #4  
Antiguo 19-07-2006
Avatar de epuigdef
epuigdef epuigdef is offline
Miembro
 
Registrado: jul 2005
Posts: 193
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
  #5  
Antiguo 19-07-2006
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.329
Lepe cantidad desconocida en este momento
Una respuesta muy elegante epuigdef.

Yo como simple que soy, me hubiese ayudado de un cuadrado con el mismo lado que el triángulo, despues hallo el punto medio de un lado y desde ahí lanzo dos líneas al lado opuesto. Sin darle muchas vueltas al asunto, creo que quedaría un Triángulo como el que se pide:
Código:
    |------|
    |  /\  |
    | /  \ |
    |/    \|
    |------|
Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #6  
Antiguo 19-07-2006
Avatar de epuigdef
epuigdef epuigdef is offline
Miembro
 
Registrado: jul 2005
Posts: 193
epuigdef Va por buen camino
Buenas!

El problema que tiene tu solución es que no se ha hablado de las longitudes de los lados. En tu caso estás suponiendo que contruyes un triángulo isósceles, con dos lados de 45º y dos lados iguales /los que "suben en diagonal".

El problema pude ser más complejo, porque imagina que mantienes el primer ángulo a 45ª, y el lado inferior a la longitud dada.

Ahora dibuja el segundo lado a una longitud diferente, y une los dos extremos que te quedan libres. Ahí tienes un triángulo con un ángulo de 45ª que no está inscrito en un cuadrado...

Un saludo

Edu
Responder Con Cita
  #7  
Antiguo 19-07-2006
yeison Cristman yeison Cristman is offline
Miembro
 
Registrado: jul 2006
Posts: 52
yeison Cristman Va por buen camino
Question DELPHI SQL y el DBImage1 ayudenme..!!!!

Tengo mi aplicacion para un colegio y quiero cargar la foto de cada estudiante tengo en mi tabla de sql llamada estudiante un campo llamado foto pero no se como hacer que se grabe la foto del estudiante. en mi formulario de delphi atraves del Query llame el campo foto y lo coloque en el formulario y le introduje el siguiente codigo. en el evento Onclik.

Código Delphi [-]
 
procedure TF_Estudiantes.DBImageClick(Sender: TObject);
begin
if OpenDialog_Estudiante.Execute then
  begin
    dbImage_Estudiante.Picture.LoadFromFile(OpenDialog_Estudiante.Filename);
    Caption := OpenDialog_Estudiante.Filename;
  end;

yo cargo la foto pero no se graba en la tabla de sql el campo foto es tipo image. donde esta el problema tengo poco tiempo por favor ayudeme alguien de foro.........!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!111

Última edición por dec fecha: 19-07-2006 a las 20:15:45.
Responder Con Cita
  #8  
Antiguo 20-07-2006
Avatar de Ñuño Martínez
Ñuño Martínez Ñuño Martínez is offline
Moderador
 
Registrado: jul 2006
Ubicación: Zona Libre de Madrid, Reino de Dick
Posts: 4.681
Ñuño Martínez Va por buen camino
Yeison Cristman, creo que te has equivocado de hilo.
Responder Con Cita
  #9  
Antiguo 20-07-2006
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.329
Lepe cantidad desconocida en este momento
yeison Cristman ya que te has tomado la molestia de crear 4 o cinco hilos con este mismo mensaje, ahora te invitamos a que los borres todos excepto donde Neftali y delphi.com.ar te han contestado.

Pulsa en Editar Mensaje y despues el botón de borrado del tema.

Como comprenderás este mensaje tuyo no tiene nada que ver con el tema inicial del hilo, y tampoco aporta la solución, sólo "incordia".

Saludos.
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
Respuesta


Herramientas
Desplegado

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 08:58:54.


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