Ecuación para calcular por, y en la circunferencia

Agradezco de antemano si Alguien me podría orientar en como calcular las coordenadas por, y en cualquier cuadrante de un objeto que recorre el borde de una circunferencia.

2 Respuestas

Respuesta

Para trazar el contorno del radar, luego de aquí con el mismo código podes construir la línea que va rotando en la pantalla del radar, solo tienes que meter el código dentro de un Timer

ConvRAD=0.01745329

altCompas= Radio del circulo del Radar 

LineRadio.X1 = X1Form 'Ubica la x1 de la linea en el centro del canvas
LineRadio.Y1 = Y1Form 'Ubica la y1 de la linea en el centro del canvas
'Trazamos la linea desde el centro
LineRadio.Y2 = (Sin(Angulo * ConvRAD) * altCompas) + LineRadio.Y1
LineRadio.X2 = (Cos(Angulo * ConvRAD) * altCompas) + LineRadio.X1
TraceCX1 = LineRadio.X2
TraceCY1 = LineRadio.Y2
Angulo = Angulo + Cangulo 'Cangulo debe tener el valor de incremento
LineRadio.Y2 = (Sin(Angulo * ConvRAD) * altCompas) + LineRadio.Y1
LineRadio.X2 = (Cos(Angulo * ConvRAD) * altCompas) + LineRadio.X1
LineRadio.Visible = True
PicTracePolarSol. Line (TraceCX1, TraceCY1)-(LineRadio. X2, LineRadio. Y2)

Guillenet74

Respuesta
1
La ecuación de la circunferencia es la siguiente:
(x-a)*(x-a)+(y-b)*(y-b)=R*R
En esta ecuación los parámetros a y b son las coordenadas del centro, y R es el radio de la circunferencia. Por ejemplo:
x*x+(y-2)*(y-2)=4
Aquí tenemos una circunferencia de radio 2 y con centro en el punto (0,2).
Espero que te sirva la respuesta y si algo no te ha quedado claro no dudes en preguntármelo.
Thorin
Hola thorin, gracias por contestar, tu explicación me sirvió para comprender lo del centro(a, b), resulta que la ecuación ya la estaba utilizando sin saberlo, te explico estoy trabajando en un programa que simule la pantalla del radar, en la cual ya cree el eje de coordenadas y la ecuación la utilizo para que me de la distancia a que se encuentre cualquier punto al centro y angulo = cos ^-1 (x/R) pero para simular el barrido del haz del radar tengo que crear una linea de tamaño del radio de centro (x1, y1)=0 y darle las coordenadas x2, y2 del extremo que va ha rotar sobre el perímetro para determinado tiempo, y ahí es donde estoy atascado que no se la ecuación que me determinara los valores de x2, y2 para cada instante . Disculpa la molestia, esperando que puedas ayudarme.
Atentamente. alelanve
Creo que he entendido tu problema. Lo que necesitas es la función de la circunferencia pero en función del tiempo, ¿no?. Pues bien. La mejor manera que creo que lo puedes hacer es en función del ángulo que forme la línea del barrido con el eje POR, llamémosle Alfa a este ángulo.
En ese caso las coordenadas vendrían dadas por las siguientes ecuaciones:
x=RcosAlfa
y=RsenAlfa
Con esto puedes dar valores al ángulo alfa con la frecuencia que tú quieras para que gire más o menos deprisa. Conseguirás un punto a la distancia R del centro que gira alrededor de dicho centro.
Para conseguir la línea del barrido supongo que valdrá dando diferentes valores de R para el mismo ángulo.
Si necesitas algo más me preguntas otra vez.
Gracias por tu respuesta Thorin, estoy trabajando en ella con esa ecuación es la que trato de que me de el angulo(Marcación) a la cual se encuentra cualquier objeto del centro, pero no consigo como decirle que saque el coseno a la -1 de x/R, por casualidad sabes otra fórmula para realizar esto, disculpa la molestia pero esto lo estudié hace 15 años y más nunca lo repasé. Gracias de antemano
alelanve
Veamos. Coseno a la -1 es arcocoseno que se escribe arccos. Si el programa que utilizas contiene esta función ya lo tienes resuelto.
Si no es así, me lo dices de nuevo que intento otro procedimiento.
Thorin
Hola Thorin, disculpa que no te he respondido pero es que estaba navegando, el programa con que trabajo es Visual basic y para calcular el arccoseno me recomienda esto Arccos(X) = Atn(-X / Sqr(-X * X + 1)) + 2 * Atn(1), no se si eso es correcto, lo probé pero igual algo no va bien, debe ser algo con los cuadrantes, o la conversión en radianes y luego a grados.
La ecuación que te recomienda el Visual Basic es correcta.
Entiendo que te de problemas por el motivo de los cuadrantes. El problema es que, por ejemplo, 60º y 300º tienen el mismo coseno y si luego calculas el arcocoseno solo te da uno de los dos ángulos (en este caso te daría 60).
Para solucionarlo haz lo siguiente en función de la coordenada Y:
* Si Y es positivo: toma el angulo que te dé la operación.
* Si Y es negativo: haces 360 menos el angulo que te dé la operación y te dará el angulo que buscas.
Si te da errores me dices.
Thorin.
Hola Thorin, gracias por tu respuesta, era eso, lo que pasa es que en el radar el 0 es el eje Y+; 90 eje X+;180 Y- y 270 X-, y yo estaba convirtiendo sin tomar en cuenta los cuadrantes, ahora funciona bien excepto para Y=0 osea 0 y 180 en matemáticas o 90 y 270 en el radar que me dice error (estas dividiendo por 0), si pongo un condicional preguntando antes de la fórmula del arcocoseno si Y=0 entonces pregunto si X>0 then grado=90 y si X<0 then grado=270, la pregunta es si hay alguna forma matematica para eliminar este error para estos valores
Matemáticamente la tangente de 90 y 270 es infinito. Por eso no puedes calcular sus arcotangente. Por eso te decía yo que usaras arcocoseno o arcoseno, pero si no no importa. Hazlo con las condiciones que planteas.
Hola Thorin, tus ayudas fueron más que excelentes pero por ahora debo para el proyecto, más adelante si quieres me das tu e-mail para mandarte el código del programa y tus datos para colocarlos en agradecimientos cuando algún día finalice el proyecto, muchas gracias de nuevo
estamos en contacto [email protected]

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas