Autor Tema: Para programacion grafica: tangente a una circunferencia

0 Usuarios y 1 Visitante están viendo este tema.

16 Octubre, 2006, 11:14 am
Leído 2924 veces

Wolfito

  • Nuevo Usuario
  • Mensajes: 5
  • Karma: +0/-0
Hola, lei un post anterior sobre la tangente, pero en este caso estoy pintando una circunferencia en Java simplemente pasando las coordenadas (x,y) del centro y el radio. Tengo que pintar objetos en el borde y con una angulo q determinaria la tangente.

El calculo tiene que ser, entonces, a partir de los siguientes datos:
 radio,
 las coordenadas (x,y) y del centro, y
 las coordenadas (x,y) donde interesa pintar el objeto

Muchas gracias, saludos
Wolfito

16 Octubre, 2006, 12:04 pm
Respuesta #1

Luis Fuentes

  • el_manco
  • Administrador
  • Mensajes: 46,712
  • País: es
  • Karma: +1/-0
  • Sexo: Masculino
Hola

 No estoy seguro de saber exactamente que pides.

 Entiendo que dado (a,b) el centro de la circunferencia y un punto P=(c,d) de la misma, quieres determinar la tangente a la circunferencia en el punto P.  ¿Es esto?

 ¿Qué quieres exactamente de la tangente?¿El vector tangente?¿La ecuación implícita de la recta tangente?¿La paramétrica?

 Por ejemplo la paramétrica sería:

\( (x,y)=(c,d)+\lambda (d-b,a-c) \)

Saludos.


16 Octubre, 2006, 03:18 pm
Respuesta #2

Wolfito

  • Nuevo Usuario
  • Mensajes: 5
  • Karma: +0/-0
Hola

 No estoy seguro de saber exactamente que pides.

 Entiendo que dado (a,b) el centro de la circunferencia y un punto P=(c,d) de la misma, quieres determinar la tangente a la circunferencia en el punto P.  ¿Es esto?

 ¿Qué quieres exactamente de la tangente?¿El vector tangente?¿La ecuación implícita de la recta tangente?¿La paramétrica?

 Por ejemplo la paramétrica sería:

\( (x,y)=(c,d)+\lambda (d-b,a-c) \)

Saludos.



Hola,

Concretamente lo que necesito es el ángulo que forma el "eje x positivo" con un punto dado en la circunferencia, suponiendo que el ángulo es 0 cuando (x = radio, y = 0)

Saludos

16 Octubre, 2006, 06:04 pm
Respuesta #3

Luis Fuentes

  • el_manco
  • Administrador
  • Mensajes: 46,712
  • País: es
  • Karma: +1/-0
  • Sexo: Masculino
Hola

 Ayyyy.. intenta precisar más. Datos (este,este y este). incógnitas: este.

 Además que el ángulo que forma un punto con una recta no tiene sentido. Supongo que te refieres al ángulo que forma el radio uniendo el punto con el centro con el eje OX.

 Dada una circunferencia de centro (a,b) y un punto (c,d) de la misma el ángulo (c,d) que pides es:

 ang=ArcTan((d-b)/(c-a))

 ahora bien el ordenador te dará un ángulo normalmente entre (-pi/2,pi/2), debes de ajustarlo:

 * si (d-b)>=0 y (c-a)>=0 entonces lo dejas igual.
 
 * si (d-b)>=0 y (c-a)<=0 entonces tomas pi/2+ang.

 * si (d-b)<=0 y (c-a)>=0 entonces tomas 2pi+ang

 * si (d-b)<=0 y (c-a)<=0 entonces tomas pi/2+ang

Saludos.

16 Octubre, 2006, 07:23 pm
Respuesta #4

Wolfito

  • Nuevo Usuario
  • Mensajes: 5
  • Karma: +0/-0
Hola, especifico un poco más. Concretamente es para pintar en la pantalla una figura que dé la sensación de estar rotando alrededor del centro de la circunferencia. Probé la fórmula que me diste, pero siempre me da la misma orientación y la figura no rota. ¿Quizás me expliqué mal y es otra fórmula?

16 Octubre, 2006, 07:54 pm
Respuesta #5

darkxer0x

  • Aprendiz
  • Mensajes: 344
  • Karma: +0/-0
  • Sexo: Masculino
Para dibujar circunferencias en java, tienes que trabajar en polares (o en complejos si t gusta más).
En cuanto a lo del efecto de rotar, lo suyo es poner como un punto destacado que se vaya moviendo. Mira esto: http://www.walter-fendt.de/ph14s/generator_s.htm
En los circulos, veras una cosa blanca moviendose.
P.D. Una cosa. Por que no te coges el flash, dibujas una circunferencia, y le das al efecto de rotar. Luego te coges el codigo actionscript, que es muy parecido al java, y voila.
Profesor: Si x es congruente con 1 (modulo 11), ¿Cuanto vale x?
Alumna: Ehmmm, ¿0?
Profesor: ¿Como