Ver Mensaje Individual
  #3 (permalink)  
Antiguo 18/09/2008, 22:09
yackcae
 
Fecha de Ingreso: junio-2008
Mensajes: 63
Antigüedad: 15 años, 11 meses
Puntos: 2
Respuesta: Graficar coordenadas polares

Bien es lo mismo que ya te escribí antes pero cambia solo un poco, no se cuales son las funciones de allegro, por lo que pondré un código lo más genérico posible, tendrás que adaptarlo:
Código:
void dibujar_linea(float distancia, float angulo)
{
	int x, y;
	angulo=angulo*0.017453; // Convierte gradianes en radianes, si el ángulo te lo dan en radianes comenta esta linea.
	angulo=angulo*-1; // Se invierte el angulo, porque en el sistema de coordenadas polares la coordenada angular va en contra de las agujas del reloj.
	x=distancia*cos(angulo); // Conversión de coordenadas polares a rectangulares
	y=distancia*sin(angulo); // Conversión de coordenadas polares a rectangulares
	line(0, 0, x, y); // Dibuja la linea desde el punto central (0,0) hasta el punto final (x,y)
}
En la Wikipedia indica como se hacen estos cálculos:
http://es.wikipedia.org/wiki/Coordenadas_polares

La función line la cambias por la función que dibuja lineas en allegro.

He asumido que el punto central es 0,0 si no es así solo tienes que sumarle a la función de dibujo de la linea el punto central, por ejemplo si el punto central está en 100,100 es line(100, 100, 100+x, 100+y);