When we control the event,we control your lives
 
IndexTrợ giúpTìm kiếmThành viênNhó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
Tue Aug 13, 2013 4:18 pm by minhlap

» authentischen Hermes Lindy Taschen
Wed Jan 23, 2013 11:15 am by cangliang

» Hermes Bag
Wed Jan 23, 2013 11:14 am by cangliang

» Hermes Evelyn pm
Wed Jan 23, 2013 11:13 am by cangliang

» Hermes Kelly bag billig
Mon Jan 21, 2013 8:57 am by cangliang

» Hermes Constance Bag
Mon Jan 21, 2013 8:56 am by cangliang

» Discout Hermes Belt
Mon Jan 21, 2013 8:55 am by cangliang

» Christian Louboutin Love Flats
Tue Jan 15, 2013 12:25 pm by cangliang

» Christian Louboutin Love Flats
Tue 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
December 2016
MonTueWedThuFriSatSun
   1234
567891011
12131415161718
19202122232425
262728293031 
CalendarCalendar
Diễn Đàn
Affiliates
free forum


Share | 
 

 Affine file

Xem chủ đề cũ hơn Xem chủ đề mới hơn Go down 
Tác giảThông điệp
minhlap
Admin - Quản trị viên
Admin - Quản trị viên


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

Bài gửiTiêu đề: Affine file   Sat 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
Xem lý lịch thành viên http://minhlap.allgoo.us
 
Affine file
Xem chủ đề cũ hơn Xem chủ đề mới hơn Về Đầu Trang 
Trang 1 trong tổng số 1 trang
 Similar topics
-
» Tải game Ngọc Rồng Online cho Điện Thoại và Máy Tính

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