用 Scilab 计算OpenGL 的旋转矩阵

Scilab  (http://www.scilab.org/) 是一款免费的,类似于Matlab的软件。

进行矩阵运算的时候比较方便。

 

 

OpenGl的三维坐标系中, 分别绕 x, y, z 三坐标轴旋转xAngle, yAngle, zAngle之后的旋转矩阵,可以用下列公式计算。

 

function [ glRotateMatrix ] = glRotateMatrix( xAngle, yAngle, zAngle )

   // Convert angle to radius
  thetaX = xAngle * ( %pi / 180.0 );
  thetaY = yAngle * ( %pi / 180.0 );
  thetaZ = zAngle * ( %pi / 180.0 );

  Rx = [
    1 0 0
    0 cos( thetaX ) -sin( thetaX )
    0 sin( thetaX ) cos( thetaX )
  ];

  Ry = [
    cos( thetaY ) 0 sin( thetaY )
    0 1 0
    -sin( thetaY ) 0 cos( thetaY )
  ];

  Rz = [
    cos( thetaZ ) -sin( thetaZ ) 0
    sin( thetaZ ) cos( thetaZ ) 0
    0 0 1
  ];

  glRotateMatrix = Rx * Ry * Rz;

endfunction

 

使用方法:

// v 是极其手臂的位置。

 

-->v  = {0; 0; 8}

-->glRotateMatrix(30, 45, 0) * v
 ans  =
 
    5.6568542 
  - 2.8284271 
    4.8989795

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值