宿題手伝います
■ このスレッドは過去ログ倉庫に格納されています
0145デフォルトの名無しさん
NGNG完成しません。どなたかお助けを!
(1)三角形の頂点の座標を入力させ、それらの値をa[3][2]に代入する。
(2)直線lがx軸となす角theta(=t)をたずね、それをラジアンに換算した値を変数phiに代入する。
(3)配列bは2×2の行列で頂点(x,y)は点(x',y')に移し、(2)で得られたphiから配列bの
要素を求める。
(ちなみにx'=xcos2t+ysin2t y'=xsin2t-ycos2t)
(4)配列a,bを用いて対称変換後の頂点の座標を計算し、結果を配列c[3][2]に代入する。
(5)配列aと配列cの要素をプリントする。
#include <stdio.h>
#include <math.h>
void kan(float x[3][2],float y[2][2],float z[3][2])
#define pai 3.14
int main(void)
{
int i;
float a[3][2],b[2][2],c[3][2],theta,phi;
for(i=0;i<3;i++)
{
scanf("%d,%d",&a[i][0],&a[i][1]);
}
scanf("%d",&theta);
phi=(pai*theta)/180;
b[0][0]=cos(2*phi);
b[0][1]=sin(2*phi);
b[1][0]=sin(2*phi);
b[1][1]=-cos(2*phi);
kan(a,b,c);
for(i=0;i<3;i++)
{
for(j=0;j<2;j++)
{
printf("%f",a[i][j]);
}
printf("/n");
}
void kan (float x[3][2],float y[2][2],float z[3][2])
{
int i;
for(i=0;i<3;i++)
{
z[i][0]=y[0][0]*x[i][0]+y[0][1]*x[i][1];
z[i][1]=y[1][0]*x[i][0]+y[1][1]*x[i][1];
}
}
■ このスレッドは過去ログ倉庫に格納されています