Red de conocimientos turísticos - Conocimientos sobre calendario chino - Utilice el lenguaje C para realizar la transformación de gráficos bidimensionales.

Utilice el lenguaje C para realizar la transformación de gráficos bidimensionales.

Deberías echar un vistazo primero. Probablemente esta sea la idea. Si no entiendes, pregúntame.

#includelt;stdio.hgt;

#includelt;math.hgt;

#includelt;iostreamgt;

usando el espacio de nombres std ;

punto de estructura

{

flotante x;

flotante y;

};

void Translation(point*pt, float xp, float yp, int num)//num representa el número de puntos

{

for(int i=0; ilt; num; i )

{

(pt i)-gt;

(pt i)-gt;

}

}

escala vacía(punto *pt, float xs, float ys, int num)

{

for(int i=0;ilt;num;i)

{

(pt i)-gt;x*=xs;

(pt i)-gt;y*=ys;

}

}

rotación vacía(punto *pt, ángulo flotante, int num)

{

int a[2][2];

angle=angle/180*3.141592657;

a[0][ 0]=cos(ángulo);

a[0][1]=-sin(ángulo);

a[1][0]=sin(ángulo);

a[1][1]=cos(ángulo);

punto* temp;

for(int i=0; ilt; num; i)

{

temp-gt; x=(pt i)-gt;

temp-gt; y=(pt i)-gt; y;

(pt i)-gt;x=temp-gt;x*a[0][0] a[0][1]*temp-gt;y;

(pt i)-gt;y*=temp-gt;x*a[1][0] a[1][1]*temp-gt;y;

}

}

int main()

{

int i=0, N, modo, ángulo, xp, yp, xk, yk, num;

coutlt;lt;"ingrese el número de punto "lt;lt;endl;

scanf("d",amp;N);

num=N;

punto pt[10];

mientras(N--)

{

printf(" por favor ingrese puntos(x,y):\n");

scanf("ff",amp;pt[i].x,amp;pt[i].y);

i;

}

printf("por favor, introduzca movimientos\n");

printf("0 significa traducción:\n") ;

imprimirf(

"1 representa escala:\n");

printf("2 representa rotación:\n");

scanf("d", amp; mode);

cambiar(modo)

{

caso 0:

printf("ingrese la traducción en las direcciones x e y respectivamente:\ n");

cingt;gt;xpgt;gt;yp;

traducción(pt, xp,yp,num);

romper;

p>

caso 1:

printf("ingrese la escala en las direcciones x e y respectivamente:\n");

scanf("ff ",amp;xk , amp; yk);

escala(pt, xk, yk, num);

descanso;

caso 2:

printf("ingrese el ángulo:\n");

scanf("f", amp; ángulo);

rotación(pt, ángulo, num );

break;

}

printf("después de la traducción o escala o rotación:\n");

for( int i=0; ilt; num; i )

printf("f f\n", pt[i].x, pt[i].y);

}