(・∀・)C/C++の宿題やらせてください。ver10
■ このスレッドは過去ログ倉庫に格納されています
0398デフォルトの名無しさん
NGNG#include <stdio.h>
#include <math.h>
double * mmul44(double * am, double * lm, double * rm, int rc)
{
int i, j, k;
for(i=0; i<4; i++) for(j=0; j<rc; j++) for(k=0; k<4; k++)
am[i*rc+j] += lm[k+i*4]*rm[j+k*rc];
return am;
}
int main()
{
int i;
double theta1=1.0, theta2=2.0;
double cs1=cos(theta1), sn1=sin(theta1), cs2=cos(theta2), sn2=sin(theta2);
double T[16]={cs1,-sn1,0,0, sn1,cs1,0,0, 0,0,1,0, 0,0,0,1};
double U[16]={cs2,-sn2,0,1, sn2,cs2,0,0, 0,0,1,0, 0,0,0,1};
double b[4] ={2,0,0,1}, a[4],tmp[16];
mmul44(a,mmul44(tmp,T,U,4),b,1);
printf("a=TUb\n");
for(i=0; i<4; i++) printf(" %f\n",a[i]);
return 0;
}
■ このスレッドは過去ログ倉庫に格納されています