コード例 #1
0
ファイル: D2d_matrixS.c プロジェクト: Sam-Makman/graphics
int D2d_negate_y (double a[3][3], double b[3][3]){
   double neg[3][3] ;
  D2d_make_identity(neg);
  neg[1][1]=-1;
  D2d_mat_mult(a,neg,a);
  D2d_mat_mult(b,b, neg);
return 1;
}
コード例 #2
0
ファイル: D2d_matrixS.c プロジェクト: Sam-Makman/graphics
int D2d_scale (double a[3][3], double b[3][3], double sx, double sy){
  double scale[3][3] ;
  D2d_make_identity(scale);
  scale[0][0] = sx;
  scale[1][1] = sy;
  D2d_mat_mult(a, scale, a);
  scale[0][0] = 1/sx;
  scale[1][1] = 1/sy;
  D2d_mat_mult(b, b, scale);
return 1;
}
コード例 #3
0
ファイル: D2d_matrixS.c プロジェクト: af3ld/ComputerGraphics
int D2d_negate_y(double a[3][3], double b[3][3]){

  double t[3][3];
  D2d_make_identity(t);
  t[1][1] = -1;

  D2d_mat_mult(a, t,a);
  D2d_mat_mult(b, b,t);

  return 1;
  
}
コード例 #4
0
ファイル: D2d_matrixS.c プロジェクト: af3ld/ComputerGraphics
int D2d_scale(double a[3][3], double b[3][3], double sx, double sy){

  double t[3][3];

  D2d_make_identity(t);

  t[0][0] = sx; t[1][1] = sy;
  D2d_mat_mult(a,  t,a);

  t[0][0] = 1/sx; t[1][1] = 1/sy;
  D2d_mat_mult(b,  b,t);
  
  return 1;
}
コード例 #5
0
ファイル: D2d_matrixS.c プロジェクト: Sam-Makman/graphics
int D2d_translate (double a[3][3], double b[3][3], double dx, double dy)
// a = translation*a  
// b = b*translation_inverse  
{
  double t[3][3] ;

  D2d_make_identity(t) ;

  t[0][2] =  dx ;  t[1][2] = dy ;  
  D2d_mat_mult(a,  t,a) ;

  t[0][2] = -dx ;  t[1][2] = -dy ;
  D2d_mat_mult(b,  b,t) ;

  return 1 ;
}
コード例 #6
0
ファイル: D2d_matrixS.c プロジェクト: Sam-Makman/graphics
int D2d_rotate (double a[3][3], double b[3][3], double radians){
  double rotate[3][3], r2[3][3] ;
  D2d_make_identity(rotate);
  D2d_make_identity(r2);
  rotate[0][0] = cos(radians);
  rotate[0][1] = -sin(radians);
  rotate[1][0] = sin(radians);
  rotate[1][1] = cos(radians);
  D2d_mat_mult(a, rotate, a);
  r2[0][0] = cos(-radians);
  r2[0][1] = -sin(-radians);
  r2[1][0] = sin(-radians);
  r2[1][1] = cos(-radians);
    D2d_mat_mult(b,b,r2 );
  return 1;
}
コード例 #7
0
ファイル: D2d_matrixS.c プロジェクト: af3ld/ComputerGraphics
int D2d_rotate(double a[3][3], double b[3][3], double rads){

  double t[3][3] = {  
    {cos(rads), -sin(rads), 0} , 
    {sin(rads), cos(rads), 0},
    {0,0,1}
  };

  D2d_mat_mult(a,  t,a);

  double q[3][3] =  { 
    {cos(rads), sin(rads), 0} , 
    {-sin(rads), cos(rads), 0},
    {0,0,1}
  };
  
  D2d_mat_mult(b,  b,q);
  

  return 1;
}