When we control the event,we control your lives
 
Trang ChínhTìm kiếmĐăng kýĐăng Nhập
Tìm kiếm
 
 

Display results as :
 
Rechercher Advanced Search
Latest topics
» Tô màu theo vùng quét
Affine file Icon_minitimeTue Aug 13, 2013 4:18 pm by minhlap

» authentischen Hermes Lindy Taschen
Affine file Icon_minitimeWed Jan 23, 2013 11:15 am by cangliang

» Hermes Bag
Affine file Icon_minitimeWed Jan 23, 2013 11:14 am by cangliang

» Hermes Evelyn pm
Affine file Icon_minitimeWed Jan 23, 2013 11:13 am by cangliang

» Hermes Kelly bag billig
Affine file Icon_minitimeMon Jan 21, 2013 8:57 am by cangliang

» Hermes Constance Bag
Affine file Icon_minitimeMon Jan 21, 2013 8:56 am by cangliang

» Discout Hermes Belt
Affine file Icon_minitimeMon Jan 21, 2013 8:55 am by cangliang

» Christian Louboutin Love Flats
Affine file Icon_minitimeTue Jan 15, 2013 12:25 pm by cangliang

» Christian Louboutin Love Flats
Affine file Icon_minitimeTue Jan 15, 2013 12:25 pm by cangliang

Navigation
 Portal
 Diễn Đàn
 Thành viên
 Lý lịch
 Trợ giúp
 Tìm kiếm
January 2020
MonTueWedThuFriSatSun
  12345
6789101112
13141516171819
20212223242526
2728293031  
CalendarCalendar
Diễn Đàn
Affiliates
free forum


Share
 

 Affine file

Go down 
Tác giảThông điệp
minhlap
Admin - Quản trị viên
Admin - Quản trị viên
minhlap

Tổng số bài gửi : 129
Points : 374
Reputation : 5
Join date : 22/07/2009
Age : 30
Đến từ : TP Hồ Chí Minh

Affine file Empty
Bài gửiTiêu đề: Affine file   Affine file Icon_minitimeSat Dec 12, 2009 6:53 pm

#pragma once
#include
#include
#include
typedef float matrix33 [3][3];
// hang so PI
#define M_PI 3.14159265358979
// macro doi tu do --> radian
#define RAD(goc) ((goc)*(M_PI/180.0))
// macro doi tu radian --> goc
#define GOC(rad) ((rad)*180.0/M_PI)
// ham lam tron
#define ROUND(n) ((int)(n+0.5))
void matrix_zezo(matrix33 m)
{
for(int i=0;i<3;i++)
for(int j=0;j<3;j++)
m[i][j]=0;
}
void matrix_id(matrix33 m)
{
matrix_zezo(m);
m[0][0]=m[1][1]=m[2][2]=1;
}
void mul_matrix(float x,float y,matrix33 m,float &xout,float &yout)
{
xout = x*m[0][0] +y*m[1][0] + m[2][0];
yout = x*m[0][1] +y*m[1][1] + m[2][1];
}
void mul_matrix(matrix33 ma,matrix33 mb,matrix33 mout)
{
matrix33 mtmp;matrix_zezo(mtmp);
for(int i=0;i<3;i++)
{
for(int j=0;j<3;j++)
{
float sum=0;
for(int k=0;k<3;k++)
{
sum+=ma[i][k]*mb[k][j];
}//k
mtmp[i][j] =sum;
}//j
}//i
memcpy(mout,mtmp,sizeof(mtmp));
}
void matrix_translate(matrix33 m,float dx,float dy)
{
matrix33 mtmp;matrix_id(mtmp);
mtmp[2][0]=dx;mtmp[2][1]=dy;
mul_matrix(m,mtmp,m);
}
void matrix_scale(matrix33 m,float sx,float sy)
{
matrix33 mtmp;matrix_id(mtmp);
mtmp[0][0]=sx;mtmp[1][1]=sy;
mul_matrix(m,mtmp,m);
}
void matrix_rotate(matrix33 m,float angle)
{
matrix33 mtmp;matrix_id(mtmp);
mtmp[0][0]=(float)cos(RAD(angle));mtmp[0][1]=(float)sin(RAD(angle));
mtmp[1][0]=(float)-sin(RAD(angle));mtmp[1][1]=(float)cos(RAD(angle));
mul_matrix(m,mtmp,m);
}
void matrix_rotate(matrix33 m,float angle,float x,float y)
{
matrix_translate(m,-x,-y);
matrix_rotate(m,angle);
matrix_translate(m,x,y);
}
void matrix_reflectiion(matrix33 m,float ox,float oy)
{
matrix33 mtmp;matrix_id(mtmp);
mtmp[0][0]=ox;mtmp[1][1]=oy;
mul_matrix(m,mtmp,m);
}
void matrix_shear(matrix33 m,float shx,float shy)
{
matrix33 mtmp;matrix_id(mtmp);
mtmp[0][1]=shx;mtmp[1][0]=shy;
mul_matrix(m,mtmp,m);

}
vui longtest lai

_________________
minhlapit
Về Đầu Trang Go down
https://minhlap.forumvi.com
 
Affine file
Về Đầu Trang 
Trang 1 trong tổng số 1 trang

Permissions in this forum:Bạn không có quyền trả lời bài viết
minhlap.allgoo.us :: Lập trình :: Lập Trình Hướng Đối Tượng,Đồ Họa OpenGL C, C++-
Chuyển đến