All pastes #274397 Raw Edit

Miscellany

public text v1 · immutable
·published 2006-12-10 18:18 UTC
rendered paste body
tCoordenada rotar_coordenada (tCoordenada origen, float angulo, tCoordenada centro_rotacion)
{
	tCoordenada coordenada;
	float alpha,dist,x,y;

	coordenada = ini_coordenada();

	alpha=angulo_segmento_abcisas (centro_rotacion,origen );
	dist=calcular_distancia (centro_rotacion,origen );

	girar (angulo);

	y=dist*sin((alpha+angulo)/180*PI);
	x=dist*cos((alpha+angulo)/180*PI);

	coordenada.longitud=centro_rotacion.longitud+x;
	coordenada.latitud=centro_rotacion.latitud+y;

	return coordenada;
}


void rotar_contorno ( tContorno *contorno, float angulo, tCoordenada centro_rotacion)
{
	int i;
	for (i=0; i<contorno->num_puntos_contorno;i++){
		contorno->contorno[i] = rotar_coordenada (contorno->contorno[i], angulo, centro_rotacion);
	}
		dibujar_contorno_mapa (*contorno);
}