- procedure TOpenglwindow.RotateVectorCPU(wx,wy,wz:single;var x1,x2,x3:Tvector);
- begin
- x1[0]:=1*x1[0]+0*x2[0]+0*x3[0];
- x1[1]:=1*x1[1]+0*x2[1]+0*x3[1];
- x1[2]:=1*x1[2]+0*x2[2]+0*x3[2];
- x2[0]:=0*x1[0]+cos(degtorad(wx))*x2[0]+sin(degtorad(wx))*x3[0];
- x2[1]:=0*x1[1]+cos(degtorad(wx))*x2[1]+sin(degtorad(wx))*x3[1];
- x2[2]:=0*x1[2]+cos(degtorad(wx))*x2[2]+sin(degtorad(wx))*x3[2];
- x3[0]:=0*x1[0]-sin(degtorad(wx))*x2[0]+cos(degtorad(wx))*x3[0];
- x3[1]:=0*x1[1]-sin(degtorad(wx))*x2[1]+cos(degtorad(wx))*x3[1];
- x3[2]:=0*x1[2]-sin(degtorad(wx))*x2[2]+cos(degtorad(wx))*x3[2];
- x1[0]:=cos(degtorad(wy))*x1[0]+0*x2[0]-sin(degtorad(wy))*x3[0];
- x1[1]:=cos(degtorad(wy))*x1[1]+0*x2[1]-sin(degtorad(wy))*x3[1];
- x1[2]:=cos(degtorad(wy))*x1[2]+0*x2[2]-sin(degtorad(wy))*x3[2];
- x2[0]:=0*x1[0]+1*x2[0]+0*x3[0];
- x2[1]:=0*x1[1]+1*x2[1]+0*x3[1];
- x2[2]:=0*x1[2]+1*x2[2]+0*x3[2];
- x3[0]:=sin(degtorad(wy))*x1[0]+0*x2[0]+cos(degtorad(wy))*x3[0];
- x3[1]:=sin(degtorad(wy))*x1[1]+0*x2[1]+cos(degtorad(wy))*x3[1];
- x3[2]:=sin(degtorad(wy))*x1[2]+0*x2[2]+cos(degtorad(wy))*x3[2];
- x1[0]:=cos(degtorad(wz))*x1[0]+sin(degtorad(wz))*x2[0]+0*x3[0];
- x1[1]:=cos(degtorad(wz))*x1[1]+sin(degtorad(wz))*x2[1]+0*x3[1];
- x1[2]:=cos(degtorad(wz))*x1[2]+sin(degtorad(wz))*x2[2]+0*x3[2];
- x2[0]:=-sin(degtorad(wz))*x1[0]+cos(degtorad(wz))*x2[0]+0*x3[0];
- x2[1]:=-sin(degtorad(wz))*x1[1]+cos(degtorad(wz))*x2[1]+0*x3[1];
- x2[2]:=-sin(degtorad(wz))*x1[2]+cos(degtorad(wz))*x2[2]+0*x3[2];
- x3[0]:=0*x1[0]+0*x2[0]+1*x3[0];
- x3[1]:=0*x1[1]+0*x2[1]+1*x3[1];
- x3[2]:=0*x1[2]+0*x2[2]+1*x3[2];
- end;