Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Graficar coordenadas polares

Estas en el tema de Graficar coordenadas polares en el foro de C/C++ en Foros del Web. Hola amigos de nuevo aca jejej creo q el post anterior no fue muy especifico, pero estube investigando un poco y la palabra correcta para ...
  #1 (permalink)  
Antiguo 16/09/2008, 21:08
Avatar de baxi2990  
Fecha de Ingreso: agosto-2008
Ubicación: Quetzaltenango - Guatemala
Mensajes: 340
Antigüedad: 15 años, 8 meses
Puntos: 2
Graficar coordenadas polares

Hola amigos de nuevo aca jejej creo q el post anterior no fue muy especifico, pero estube investigando un poco y la palabra correcta para hacer lo q qiero hacer es graficar coordenadas polares.

Lo que quiero hacer es lo siguiente, me dan una distancia y un angulo entonces quiero graficar una recta a el angulo dado y tomara la distancia tambien la da el usuario, siempre parten del origen del plano cartesiano, tengo la libreria allegro pero no encuentro info para poder hacer esto o si hay otra forma de hacerlo les agradeceria mucho.
  #2 (permalink)  
Antiguo 18/09/2008, 06:15
Avatar de Fayca  
Fecha de Ingreso: abril-2008
Mensajes: 164
Antigüedad: 16 años, 1 mes
Puntos: 2
Respuesta: Graficar coordenadas polares

hola, si no importa que sea en modo texto tal ves esta función te pueda sirvir
inline
void xy(int x, int y){std::cout << "\E[" << y << ";" << x << "H";}

creeo que a simple vista es facil saver como funcióna, solo le pasas por parametros
las cordenadas
  #3 (permalink)  
Antiguo 18/09/2008, 22:09
 
Fecha de Ingreso: junio-2008
Mensajes: 63
Antigüedad: 15 años, 10 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);
  #4 (permalink)  
Antiguo 19/09/2008, 12:09
Avatar de baxi2990  
Fecha de Ingreso: agosto-2008
Ubicación: Quetzaltenango - Guatemala
Mensajes: 340
Antigüedad: 15 años, 8 meses
Puntos: 2
Respuesta: Graficar coordenadas polares

Gracias Fayca y yackcae por contestar y presisamente lo hice asi como decia yackcae en este caso me preocupaba como era q le iva a dar la inclinación a mi vector pero como sabiendo q todos parten del centro (cero) solo tenia q averiguar x2 Y y2 para indicarle donde terminar y sin preocuparme del angulo, en allegro para colocar una linea es

x1=SCREEN_W/2;
y1=SCREEN_H/2;

line(screen, x1,y1,x2+100,y2-100,color de la linea);

donde x2 y y2 seran las coordenadas que le pasen, pero para esto el angulo se tendra q convertir a radianes para que funcione.

gracias por todo!!!!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:59.