Professional Documents
Culture Documents
______________________________________________________________________________________
TRNG HBKHN
KHOA C KH
c lp - T do - Hnh phc
-------------
-------------------------
***------------
NHI
V THIT K N
***----------------------
NH C
p: C in t 1 K49
B mn: C hc ng dng
PHAN BI KH I
1. u thit k
p trnh m phng hot ng cu rbt Scara 4 bc t do.
2 .Cc s liu ban u
3 .Ni dung thuyt minh v tnh ton
n gm cc phn chnh sau:
A. Mc ch ca n tin hc ng dng
Tm hiu
- Tm hiu v 1 robot c th s dng trong cng nghip(Robot Scara)
- Tm hiu v cc c cu hot ng ca Robot cc khu hot ng ca
Rbt.
- Tm hiu v ng hc v m hnh 3D ca Robot m phng hot ng ca
Robot
- Tm hiu cch xy dng chng trnh iu khin cho robot
B. Nhim v ca em trong n tin hc ng dng l xy dng chng trnh m
phng hot ng ca robotScara 4 bc t do.
1
N TT NGHIP
______________________________________________________________________________________
,
2
N TT NGHIP
______________________________________________________________________________________
. Cc kt qu nhn c
..
Ngy 09 thng 11 nm 2008
Ch nhim b mn
N TT NGHIP
______________________________________________________________________________________
MC LC
MC LC ..................................................................................................................... 4
LI NI U
......9
GII THIU TNG QUAN V ROBOT CNG NGHP V M PHNG
HOT NG
.11
CHNG I: CC C NG C XY DNG BI TON
PHNG HOT
NG CA ROBOT ................................................................................................... 13
1.1. Gii thiu v Open GL
..
.....13
..
...14
1.1.1. c im ca OpenGL
1.1.2. Cc th vin h tr lp trnh
OpenGL
..
20
.......
23
24
N TT NGHIP
______________________________________________________________________________________
.27
PHNG 32
..32
...39
61
65
74
PHNG ............................................ 75
KT LUN ................................................................................................................... 81
N TT NGHIP
______________________________________________________________________________________
DANH
C CC HNH V TRONG N
H
1.1 : M
OpenGL.................16
H 1. 2 :
M
OpenGL......................................16
H 1. 3 :M
.......................17
H
1. 4 :M
.......................18
H
1.5: M
OpenGL.19
H
2.1
:
B
..33
H
1.9
:
G
d
AutoCAD..30
H
1.7
:
C
2007.28
H
2.2 :
...34
H 1.
6
:M
1
OpenGL...20
H
1.10:
G
d
MFC..31.
v
v
: 2
H
1.8
:M
...29
dw
dWorks
v
j
MFC
1 ..
H
2.3
:
T
2..34
H
2.4
:
T
3...35
H
2.5
:T
...36.
N TT NGHIP
______________________________________________________________________________________
H
2.6
:
T
537
H
2.7
:
H
MFC.37.
P j
H
2.8
:
C y
MFC.38.
H
2.9
:
C
MFC.39
P j
d
H
2.10
:
T
OpenGL...40.
H
2.11
:
C
..45.
H
2.12
:
C
47.
H
2.13 : C
....48.
2.15 : C
2.16 : T
2.17 : C
2.18 : T
O P
O D s
O Sz
H
2.14 : C
50
GL
GL
GL
GL
GL 53.
P j
MFC .54
O T
O T
y O
GL..55
.56
H
2.19
:
T
Symbol....57
H
2.20 : C y
N w
OpenGL57
H
2.21
:
V
..58.
2.22 : V
..59
2.23 : V
..59
H
2.24
:
360.
N TT NGHIP
______________________________________________________________________________________
H
2.24
:
3.60.
H
2.25 : M
2007.61
H
2.26
:
C y
File.*STL..62
H
2.27
:
C y
.*STL..63
H
2.28
:
C
ASCII...64.
H
2.29
:
C y
.*STL65
H
2.30: C
f
v
dW
.*
STL
s
y..66
H
2.31
:
T
XchangeWorks.66.
H
2.32:
P
2000....67.
H
2.33: H
2.34 : I
2.35: H
2.36: T
2.37 : K
d/U
/X
dA
CAD
...68
..68
O
*.s d
FF
.69
3D70
s .71
H
2.38 : M
OpenGL..74.
3.1 : R
..75.
3.1 : R
.76.
3.2 : R
3.3 : R
3.4 : R
3.5 : R
....77.
E
s ..78.
S .79
3
.....80
N TT NGHIP
______________________________________________________________________________________
N TT NGHIP
______________________________________________________________________________________
I NI U
Robot cng nghip l l nh vc c nghin cu v pht trin mnh trn
th gii. nc ta l nh vc ny cn mi m ngy nay trong mi trng sn xut
hin i, hu ht cc quy trnh c thc hin b ng cc my chuyn dng. Vi cc
phng php ny, lm gim r rt chi ph sn xut cc sn phm cng nghip
ph hp vi a s ngi tiu dng. Tuy nhin mi my cng c, c thit k
thc hin nguyn cng cho trc, mi khi cn thay i kiu m u sn phm, th ton
b dy chuyn sn xut phi c ci to li. Vic sa i rt tn k m. Kiu t
ng ho ny l kiu t ng ho cng v rt tn k m.
Do vy, m trn th gii c phng php sn xut tin tin tin l ch to
ra cc loi Robot c a vo quy trnh ch to thc hin nhiu nguyn cng
nh: chuyn ti vt t v cc thit b trong cc dy chuyn hin i, hn im, sn
phun v l p rp trong cng nghip t
.. . Do cc c cu hot ng c iu
N TT NGHIP
______________________________________________________________________________________
N TT NGHIP
______________________________________________________________________________________
PHNG HOT NG
BT
PHNG.
12
N TT NGHIP
______________________________________________________________________________________
Hnh 1.1
Logo OpenGL
13
N TT NGHIP
______________________________________________________________________________________
N TT NGHIP
______________________________________________________________________________________
N TT NGHIP
______________________________________________________________________________________
ngh a.
Hm ny cung cp cc chc nng v im (tc l tng
Vertex c v ring)
GL_LINE
GL_LINE_STRIP
GL_LINE_LOOP
GL_TRIANGLES
GL_QUADS
16
N TT NGHIP
______________________________________________________________________________________
GL_TRIANGLE_FAN
Di y l mt s hm th hin cc i tng c bn
17
N TT NGHIP
______________________________________________________________________________________
18
N TT NGHIP
______________________________________________________________________________________
19
N TT NGHIP
______________________________________________________________________________________
glVertex3f(-1.0f,-1.0f,0.0f);
glColor3f(1.0f,1.0f,0.0f);
glVertex3f( 1.0f,-1.0f,0.0f);
glColor3f(1.0f,0.0f,1.0f);
glVertex3f( 1.0f, 1.0f,0.0f);
glColor3f(1.0f,1.0f,1.0f);
glVertex3f(-1.0f, 1.0f,0.0f);
glEnd();
glColor3f(1.0f,1.0f,0.0f);
//Back Face
glBegin(GL_POLYGON);
glVertex3f(-1.0f,-1.0f,-1.0f);
glVertex3f(-1.0f, 1.0f,-1.0f);
glVertex3f( 1.0f, 1.0f,-1.0f);
glVertex3f( 1.0f,-1.0f,-1.0f);
glEnd();
glColor3f(1.0f,0.0f,1.0f);
//Left Face
glBegin(GL_POLYGON);
glVertex3f(-1.0f,-1.0f, 0.0f);
glVertex3f(-1.0f, 1.0f, 0.0f);
glVertex3f(-1.0f, 1.0f,-1.0f);
glVertex3f(-1.0f,-1.0f,-1.0f);
glEnd();
glColor3f(0.0f,1.0f,0.0f);
//Right Face
glBegin(GL_POLYGON);
glVertex3f(1.0f,-1.0f, 0.0f);
glVertex3f(1.0f,-1.0f,-1.0f);
glVertex3f(1.0f, 1.0f,-1.0f);
glVertex3f(1.0f, 1.0f, 0.0f);
glEnd();
glColor3f(0.0f,1.0f,1.0f);
//Top Face
glBegin(GL_POLYGON);
glVertex3f(-1.0f,
glVertex3f( 1.0f,
glVertex3f( 1.0f,
glVertex3f(-1.0f,
glEnd();
1.0f,
1.0f,
1.0f,
1.0f,
0.0f);
0.0f);
-1.0f);
-1.0f);
glColor3f(0.0f,0.0f,1.0f);
//Bottom Face
glBegin(GL_POLYGON);
glVertex3f(-1.0f,
glVertex3f(-1.0f,
glVertex3f( 1.0f,
glVertex3f( 1.0f,
glEnd();
-1.0f,
-1.0f,
-1.0f,
-1.0f,
0.0f);
-1.0f);
-1.0f);
0.0f);
20
N TT NGHIP
______________________________________________________________________________________
}
21
N TT NGHIP
______________________________________________________________________________________
GLfloat diffuse1[] = { 0.5f,0.5f,0.5f};
GLfloat specular1[] = { 1.0f,0.0f,0.0f};
GLfloat position1[] = { 0.0f,0.0f,5.0f,0.0};
glLightfv(GL_LIGHT0,
glLightfv(GL_LIGHT0,
glLightfv(GL_LIGHT0,
glLightfv(GL_LIGHT0,
GL_AMBIENT, ambient1);
GL_DIFFUSE, diffuse1);
GL_SPECULAR, specular1);
GL_POSITION, position1);
glEnable(GL_LIGHT0);
//Specify a single positional spotlight
GLfloat ambient2[] = { 1.0f,1.0f,0.0f};
GLfloat diffuse2[] = { 1.0f,0.0f,0.0f};
GLfloat position2[] = { 1.0f,0.0f,5.0f,1.0};
GLfloat direction2[] = {0.0f,0.0f,-5.0f};
glLightfv(GL_LIGHT1, GL_AMBIENT, ambient2);
glLightfv(GL_LIGHT1, GL_DIFFUSE, diffuse2);
glLightfv(GL_LIGHT1, GL_POSITION, position2);
glLightfv(GL_LIGHT1, GL_SPOT_DIRECTION, direction2);
glLightf(GL_LIGHT1, GL_SPOT_CUTOFF, 15.0f);
glEnable(GL_LIGHT1);
}
N TT NGHIP
______________________________________________________________________________________
23
N TT NGHIP
______________________________________________________________________________________
glDisable(GL_TEXTURE_2D);
}
24
N TT NGHIP
______________________________________________________________________________________
Hiu ng sng m
::glFogi(GL_FOG_MODE, GL_EXP);
GLfloat fog_color[4] = {0.2f,0.2f,0.2f,0.0f};
::glFogfv(GL_FOG_COLOR, fog_color);
::glFogf(GL_FOG_DENSITY, 0.25);
25
N TT NGHIP
______________________________________________________________________________________
N TT NGHIP
______________________________________________________________________________________
N TT NGHIP
______________________________________________________________________________________
th vin h tr giao tip vi OpenGL trong chng trnh ng dng. Qu trnh khi
to bao gm: nh ngh a mt kiu cu trc d liu ho ph hp vi qun l thng
tin v nh dng im nh v la chn cc thng s ph hp vi h thng. Cc
thng s ny bao gm: kiu im nh (RGBA hay color index), b m hon i
n hay k p (single/double buffer), phn gii mu s c, kh nng h tr b m
chiu su (depth buffer), b m stencil(stencil buffer), b m
tch lu
N TT NGHIP
______________________________________________________________________________________
N TT NGHIP
______________________________________________________________________________________
3 chiu c bn khc nh: Hnh nn, hnh t din hnh thp nh din...Tuy nhin
trong thc t cc i tng thc t ni chung v cc c cu my ni ring rt phc
tp nhng cng c th xy dng t cc a gic nh c s.
Vic xy dng i tng 3 chiu phc tp b ng OpenGL c thc hin nh sau :
- Thit k cc m hnh 3 chiu b ng mt phn mm nh h tr thit k
chuyn dng nh AutoCAD hay SolidWork, 3D Max..
- S dng cc lnh trong cc phn mm xut i tng 3 chiu ra cc
dng tp tin nh phn hay ASCII (American Standard Code for Information
Interchange) c cha cc thng tin ca i tng di dng cc nh v quy t c ni
cc nh thnh a gic. V d cc tp tin *.BDF, *.SLT,*.NVT
- c thng tin cc i tng t cc tp tin v s dng cc hm v i
tng c bn ca OpenGL xy dng li i tng 3 chiu c bn ban u.
V vy y chnh l c s cho xy dng cc bi ton m phng hot ng ca
ROBOT.
30
N TT NGHIP
______________________________________________________________________________________
31
N TT NGHIP
______________________________________________________________________________________
Mode c th l:
GL_MODELVIEW
GL_PROJECTION
GL_TEXTURE
v ma trn bin i
32
N TT NGHIP
______________________________________________________________________________________
right,
GLdouble
bottom,GLdouble
top,
33
N TT NGHIP
______________________________________________________________________________________
34
N TT NGHIP
______________________________________________________________________________________
(0,0,0)
v
im
(x,y,z).V
d:
glRatated(45,0,0,1);
35
N TT NGHIP
______________________________________________________________________________________
FC.
36
N TT NGHIP
______________________________________________________________________________________
37
N TT NGHIP
______________________________________________________________________________________
CHNG 2
XY DNG CHNG TRNH
PHNG
FC m phng hot ng
38
N TT NGHIP
______________________________________________________________________________________
39
N TT NGHIP
______________________________________________________________________________________
40
N TT NGHIP
______________________________________________________________________________________
2.4 : T
N TT NGHIP
______________________________________________________________________________________
42
N TT NGHIP
______________________________________________________________________________________
43
N TT NGHIP
______________________________________________________________________________________
44
N TT NGHIP
______________________________________________________________________________________
N TT NGHIP
______________________________________________________________________________________
46
N TT NGHIP
______________________________________________________________________________________
47
N TT NGHIP
______________________________________________________________________________________
#include <afxdisp.h>
// MFC Automation classes
#include <afxdtctl.h>
// MFC support for Internet Explorer 4 Common
Controls
#ifndef _AFX_NO_AFXCMN_SUPPORT
#include <afxcmn.h>
// MFC support for Windows Common Controls
#endif // _AFX_NO_AFXCMN_SUPPORT
Open
GL
yu
cu
WS_CLIPSIBLINGS
ca
v
phi
vy
c
cn
kiu
WS_CLIPCHILDREN
phi
thm
vo
v
hm
function
trong
lp
CDoanTinhocView
tn
BOOL
48
N TT NGHIP
______________________________________________________________________________________
pixelDesc.cDepthBits=32;
pixelDesc.cStencilBits=0;
pixelDesc.cAuxBuffers=0;
pixelDesc.iLayerType= PFD_MAIN_PLANE;
pixelDesc.bReserved=0;
pixelDesc.dwLayerMask=0;
pixelDesc.dwVisibleMask=0;
pixelDesc.dwDamageMask=0;
m_GLPixelIndex = ChoosePixelFormat( hDC,&pixelDesc);
if (m_GLPixelIndex==0)
{
m_GLPixelIndex = 1;
//
}
if(DescribePixelFormat(hDC,m_GLPixelIndex,sizeof(PIXELFORMATDESCRIPTOR),
&pixelDesc)==0)
{
return FALSE;
}
}
if (SetPixelFormat( hDC,m_GLPixelIndex,&pixelDesc)==FALSE)
{
return FALSE;
}
return TRUE;
glCullFace(GL_BACK);
//
protected
variable
49
N TT NGHIP
______________________________________________________________________________________
50
N TT NGHIP
______________________________________________________________________________________
V m lnh ca n nh sau :
51
N TT NGHIP
______________________________________________________________________________________
//------------------------------------------------------------------------//
void CDoanTinhocView::OnDestroy()
{
if(wglGetCurrentContext()!=NULL)
wglMakeCurrent(NULL,NULL);
if( m_hGLContext!=NULL)
{
wglDeleteContext(m_hGLContext);
m_hGLContext=NULL;
}
CView::OnDestroy();
}
//-----------------------------------------------------------------------------//
52
N TT NGHIP
______________________________________________________________________________________
53
N TT NGHIP
______________________________________________________________________________________
hnh
(ma
trn
chiu
va
chn
bi
hm
54
N TT NGHIP
______________________________________________________________________________________
V m lnh nh sau :
//----------------------------------------------------------------------------------//
void CDoanTinhocView::OnPaint()
{
CPaintDC dc(this); // device context for painting
//------------------------------------------------------------------------------//
glLoadIdentity();
glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
glTranslatef(0.0f,0.0f,-6.0f);
glRotatef(-45.0f,0.0f,1.0f,0.0f);
glRotatef(30.0f,1.0f,0.0f,-1.0f);
glBegin(GL_QUADS);
// mat thu nhat
glColor3f(0.0f,1.0f,0.0f);
glVertex3f(1.0f,1.0f,-1.0f);
glVertex3f(-1.0f,1.0f,-1.0f);
glVertex3f(-1.0f,1.0f,1.0f);
glVertex3f(1.0f,1.0f,1.0f);
// mat thu hai
glColor3f(1.0f,0.5f,0.0f);
glVertex3f(1.0f,-1.0f,1.0f);
glVertex3f(-1.0f,-1.0f,1.0f);
glVertex3f(-1.0f,-1.0f,-1.0f);
glVertex3f(1.0f,-1.0f,-1.0f);
// mat thu ba
glColor3f(1.0f,0.0f,0.0f);
glVertex3f(1.0f,1.0f,1.0f);
glVertex3f(-1.0f,1.0f,1.0f);
glVertex3f(-1.0f,-1.0f,1.0f);
glVertex3f(1.0f,-1.0f,1.0f);
// mat thu tu
glColor3f(1.0f,1.0f,0.0f);
glVertex3f(1.0f,-1.0f,-1.0f);
glVertex3f(-1.0f,-1.0f,-1.0f);
glVertex3f(-1.0f,1.0f,-1.0f);
glVertex3f(1.0f,1.0f,-1.0f);
// mat thu nam
glColor3f(0.0f,0.0f,1.0f);
glVertex3f(-1.0f,1.0f,1.0f);
glVertex3f(-1.0f,1.0f,-1.0f);
glVertex3f(-1.0f,-1.0f,-1.0f);
glVertex3f(-1.0f,-1.0f,1.0f);
// mat thu sau
glColor3f(1.0f,0.0f,1.0f);
glVertex3f(1.0f,1.0f,-1.0f);
glVertex3f(1.0f,1.0f,1.0f);
glVertex3f(1.0f,-1.0f,1.0f);
glVertex3f(1.0f,-1.0f,-1.0f);
//
glBegin(GL_POLYGON);
/*
glColor4f(1.0f,0.0f,0.0f,1.0f);
glVertex2f(100.0f,50.0f);
glColor4f(0.0f,1.0f,0.0f,1.0f);
55
N TT NGHIP
______________________________________________________________________________________
glVertex2f(450.0f,400.0f);
glColor4f(0.0f,0.0f,1.0f,1.0f);
glVertex2f(450.0f,50.0f);
*/
glEnd();
//
glFlush();
SwapBuffers(dc.m_ps.hdc);
}
//----------------------------------------------------------------------------------//
56
N TT NGHIP
______________________________________________________________________________________
57
N TT NGHIP
______________________________________________________________________________________
58
N TT NGHIP
______________________________________________________________________________________
alpha +=0.5f;
SendMessage(WM_PAINT,0,0);
CView::OnTimer(nIDEvent);
Cui cng, trong hm OnCreate, thm lnh khi to Timer , vi thi gian l p l
1ms.
SetTimer(ID_TIMER,1,NULL);
59
N TT NGHIP
______________________________________________________________________________________
Trong qu trnh
//------------------------------------------------------------------------------//
60
N TT NGHIP
______________________________________________________________________________________
61
N TT NGHIP
______________________________________________________________________________________
Nh vy, sau khi chy th thnh cng 1 project c to trn MFC v OpenGL
th bc tip theo l chng ta phi i vo xy dng chng trnh m phng ca
Robot sau khi thit k m hnh trn Solidworks v v li trn OpenGL theo qu
o c tnh ton v s ha.
62
N TT NGHIP
______________________________________________________________________________________
63
N TT NGHIP
______________________________________________________________________________________
64
N TT NGHIP
______________________________________________________________________________________
65
N TT NGHIP
______________________________________________________________________________________
66
N TT NGHIP
______________________________________________________________________________________
67
N TT NGHIP
______________________________________________________________________________________
2.4 Xy dng
68
N TT NGHIP
______________________________________________________________________________________
2.27 : C y
.*STL
69
N TT NGHIP
______________________________________________________________________________________
2.28 : C
f .* STL
ASCII
70
N TT NGHIP
______________________________________________________________________________________
2.29 : C y
.*STL
71
N TT NGHIP
______________________________________________________________________________________
2.29 : C y
.*STL
0.000000e+000 1.000000e+000
7.347881e-015 5.200000e+002
2.163119e+001 5.200000e+002
1.000000e+001 5.200000e+002
0.000000e+000 1.000000e+000
1.000000e+001 5.200000e+002
2.163119e+001 5.200000e+002
4.114497e+001 5.200000e+002
0.000000e+000 1.000000e+000
1.000000e+001 5.200000e+002
4.114497e+001 5.200000e+002
72
N TT NGHIP
______________________________________________________________________________________
vertex 1.000000e+001
endloop
endfacet
facet normal 0.000000e+000
outer loop
vertex 1.732051e+001
vertex 6.657395e+001
vertex 2.000000e+001
endloop
endfacet
1.732051e+001 5.200000e+002
0.000000e+000 1.000000e+000
-1.000000e+001 5.200000e+002
-2.163119e+001 5.200000e+002
7.347881e-015 5.200000e+002
73
N TT NGHIP
______________________________________________________________________________________
void ReadModel(GLint &model, string filename)
{
model = glGenLists(1);
if(model !=0)
{
GLdouble n[3], v[3][3];
ifstream ifs(filename.c_str());
//
ifs.setmode(filebuf::binary);
string str1, str2;
//Start READ STL FILE
getline(ifs, str1);//"solid ..."
glNewList(model, GL_COMPILE);
glBegin(GL_TRIANGLES);
while(1)
{
//'face' OR 'endsolid'
ifs>>str1;
if(str1 == "endsolid")
break;
//n[0] n[1] n[2]
ifs>>str1>>n[0]>>n[1]>>n[2];
getline(ifs, str1);
//outer loop
getline(ifs, str1);
//Vertex1, Vertex2, Vertex3
for(int i=0; i<3; ++i)
{
ifs>>str1>>v[i][0]>>v[i][1]>>v[i][2];
getline(ifs, str1);
}
//Draw a triangle
glNormal3dv(n);
glVertex3dv(v[0]);
glVertex3dv(v[1]);
glVertex3dv(v[2]);
//end loop
getline(ifs, str1);
//end face
getline(ifs, str1);
}
glEnd();
glEndList();
ifs.close();
}
}
#endif _READ_FILE_STL_H_
74
N TT NGHIP
______________________________________________________________________________________
2.29 : C y
.*STL
else
N TT NGHIP
______________________________________________________________________________________
76
N TT NGHIP
______________________________________________________________________________________
}
fclose(f);
srand((unsigned) time(NULL));
SOCHITIET=loop;
for (i=0;i<SOCHITIET;i++)
for (j=0;j<3;j++)
mauchitiet[i][j]=(float)rand()/RAND_MAX;
}
listct=glGenLists(SOCHITIET);
for(loop=0;loop<SOCHITIET;loop++)
{
fopen(filechitiet[loop],"rt");
glNewList(listct+loop,GL_COMPILE);
glBegin(GL_TRIANGLES);
fgets(xaudoc,256,f);
while(!feof(f))
{
fgets(xaudoc,256,f);
sscanf(xaudoc,"%16c%f%f%f",&catbo,&i1,&i2,&i3);
if (!feof(f))
{
fgets(xaudoc,256,f);
for (i=1;i<4;i++)
{
fgets(xaudoc,256,f);
sscanf(xaudoc,"%16c%f%f%f",&catbo,&d1,&d2,&d3);
dinh[i][0]= d1;
dinh[i][1]= d2;
dinh[i][2]= d3;
}
glNormal3f(i1,i2,i3);
Vemat(dinh[1],dinh[2],dinh[3]);
fgets(xaudoc,256,f);
fgets(xaudoc,256,f);
}
}
fclose(f);
glEnd();
glEndList();
}
77
N TT NGHIP
______________________________________________________________________________________
float a[3],b[3];
a[0]=p2[0]-p1[0];
a[1]=p2[1]-p1[1];
a[2]=p2[2]-p1[2];
b[0]=p3[0]-p1[0];
b[1]=p3[1]-p1[1];
b[2]=p3[2]-p1[2];
n[0]=(a[1]*b[2])-(a[2]*b[1]);
n[1]=(a[2]*b[0])-(a[0]*b[2]);
n[2]=(a[0]*b[1])-(a[1]*b[0]);
float length = sqrtf(n[0]*n[0]+n[1]*n[1]+n[2]*n[2]);
if(length!=0)
{
n[0]=n[0]/length;
n[1]=n[1]/length;
n[2]=n[2]/length;
}
}
N TT NGHIP
______________________________________________________________________________________
+ deltaq2
+ deltaq3
+ detaq4
File S ha qu o chuyn ng sau khi xut ra c cu trc nh sau :
+ Dng u tin : Ta X-Y-Z.
+ Dng th hai : q1- q2 - q3- q4
+ Dng th ba :deltaq1-deltaq2-deltaq3-deltaq4.
C sau 3 dng th chu trnh ca File qu o li quay tr v lc u tc l tr v
cc ta X-Y-Z .
234.868
1.3672
-0.000332801
234.807
1.36687
-0.000337478
234.747
1.36653
-0.000342079
234.687
1.36619
-0.000346807
234.629
1.36584
-0.000351456
234.571
1.36549
-0.000356098
234.515
1.36514
-0.000360663
234.459
1.36478
-0.000365352
234.405
1.36441
-0.000369964
234.351
1.36404
-0.000374569
195.568
-1.88065
-0.00128424
195.266
-1.88193
-0.00127908
194.964
-1.88321
-0.00127421
194.663
-1.88448
-0.00126877
194.361
-1.88575
-0.00126362
194.059
-1.88702
-0.00125849
193.758
-1.88828
-0.00125365
193.456
-1.88953
-0.00124823
193.154
-1.89078
-0.00124312
192.853
-1.89202
-0.00123801
162
258
162
258
162
258
162
258
162
258
162
258
162
258
162
258
162
258
162
258
1.44725
-6.28014e-006
0.00063094
1.44788
-6.28014e-006
0.00063388
1.44851
2.27443e-005
0.000636818
1.44915
-6.33672e-006
0.000639754
1.44979
-6.11041e-006
0.000642686
1.45043
-6.33672e-006
0.000645617
1.45108
2.26311e-005
1.45172
-6.33672e-006
1.45238
-5.8841e-006
1.45303
-6.33672e-006
0.000648545
0.00065147
0.000654391
0.000657312
79
N TT NGHIP
______________________________________________________________________________________
80
N TT NGHIP
______________________________________________________________________________________
81
N TT NGHIP
______________________________________________________________________________________
2.38 : M
n OpenGL
82
N TT NGHIP
______________________________________________________________________________________
CHNG 3
CHY CHNG TRNH
PHNG
KT UN
83
N TT NGHIP
______________________________________________________________________________________
84
N TT NGHIP
______________________________________________________________________________________
85
N TT NGHIP
______________________________________________________________________________________
TI IU THA
1. GS.TSKH.Nguyn Vn Khang,
K thut, H Ni 2007, 335 tr.
KHO
v , NXB Khoa hc v
, NXB Khoa hc v K
C++6.0, NXB T
, NXB Khoa hc v K
86