Kinematic and Dynamic Analysis of Spatial Six Degree of Freedom ...
Kinematic and Dynamic Analysis of Spatial Six Degree of Freedom ...
Kinematic and Dynamic Analysis of Spatial Six Degree of Freedom ...
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Scale:=1000;<br />
for i:=1 to 6 do<br />
begin<br />
InvMainForm.PntX[2*i-1]:=BasePoint[i].px/Scale;<br />
InvMainForm.PntX[2*i] :=BasePoint[i].ptx/Scale;<br />
InvMainForm.PntY[2*i-1]:=BasePoint[i].py/Scale;<br />
InvMainForm.PntY[2*i] :=BasePoint[i].pty/Scale;<br />
InvMainForm.PntZ[2*i-1]:=BasePoint[i].pz/Scale;<br />
InvMainForm.PntZ[2*i] :=BasePoint[i].ptz/Scale;<br />
end;<br />
InvMainForm.GLPanel1GLLines(InvMainForm.TrackBarX);<br />
InvMainForm.GLPanel1.GLRedraw;<br />
end;<br />
Procedure TInvMainForm.GLPanel1GLDraw(Sender: TObject);<br />
begin<br />
glClear(GL_COLOR_BUFFER_BIT or GL_DEPTH_BUFFER_BIT);<br />
glMatrixMode(GL_MODELVIEW);<br />
glLoadIdentity;<br />
glTranslated(0.0, -1.0, (GlPanel1Zoom-20.0));<br />
glRotatef(-60.0, 1.0, 0.0, 0.0);<br />
glRotatef((GlPanel1AngleZ-15.0), 0.0, 0.0, 1.0);<br />
glCallList(2);<br />
glPopMatrix;<br />
end;<br />
Procedure TInvMainForm.GLPanel1GlLines(Sender: TObject);<br />
const<br />
glfMaterialColorB: Array[0..3] <strong>of</strong> GLfloat = (1.0, 1.0, 1.0, 1.0);<br />
glfMaterialColorR: Array[0..3] <strong>of</strong> GLfloat = (1.0, 0.0, 0.0, 1.0);<br />
glfMaterialColorG: Array[0..3] <strong>of</strong> GLfloat = (0.0, 1.0, 0.0, 1.0);<br />
glfMaterialColorRG: Array[0..3] <strong>of</strong> GLfloat = (0.6, 0.8, 0.0, 1.0);<br />
var<br />
i:integer;<br />
begin<br />
glNewList(2, GL_COMPILE);<br />
glMaterialfv(GL_FRONT, GL_AMBIENT_AND_DIFFUSE, @glfMaterialColorB);<br />
glbegin(GL_LINES);<br />
for i:=1 to 12 do glvertex3d(PntX[i],PntY[i],PntZ[i]);<br />
glend;<br />
glMaterialfv(GL_FRONT_AND_BACK,GL_AMBIENT_AND_DIFFUSE,@glfMaterialColorR);<br />
glbegin(GL_POLYGON);<br />
glnormal3f(0.0,0.0,1.0);<br />
for i:=1 to 3 do glvertex3d(PntX[4*i],PntY[4*i],PntZ[4*i]);<br />
glend;<br />
glMaterialfv(GL_FRONT_AND_BACK,GL_AMBIENT_AND_DIFFUSE,@glfMaterialColorRG);<br />
glbegin(GL_POLYGON);<br />
glnormal3f(0.0,1.0,0.0);<br />
for i:=1 to 3 do glvertex3d(PntX[4*i],PntY[4*i],PntZ[4*i]);<br />
glend;<br />
glnormal3f(0.0,0.0,1.0);<br />
glbegin(GL_LINES);<br />
glMaterialfv(GL_FRONT, GL_AMBIENT_AND_DIFFUSE, @glfMaterialColorG);<br />
for i:=1 to 6 do glvertex3d(PntX[2*i-1],PntY[2*i-1],PntZ[2*i-1]);<br />
glend;<br />
glEndList();end;<br />
76