求算法:opengl 绕任意轴旋转后的坐标

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/29 21:17:56

求算法:opengl 绕任意轴旋转后的坐标
求算法:opengl 绕任意轴旋转后的坐标

求算法:opengl 绕任意轴旋转后的坐标
//
  void rotAxis3D_Tech_Matrix(float theta,float nx,float ny,float nz,float (&ptIn)[3],float (&ptOut)[3])
  {
  float len = sqrtf(nx * nx + ny * ny + nz * nz); //normalize vector
  nx /= len; ny /= len; nz /= len;
  ptOut[0] = ptIn[0] * (cosf(theta) + nx * nx * (1 - cosf(theta))) + //transform by matrix
  ptIn[1] * (nx * ny * (1 - cosf(theta)) - nz * sinf(theta)) +
  ptIn[2] * (nx * nz * (1 - cosf(theta) + ny * sinf(theta)));
  ptOut[1] = ptIn[0] * (nx * ny * (1 - cosf(theta)) + nz * sinf(theta)) +
  ptIn[1] * (ny * ny * (1 - cosf(theta)) + cosf(theta)) +
  ptIn[2] * (ny * nz * (1 - cosf(theta)) - nx * sinf(theta));
  ptOut[2] = ptIn[0] * (nx * nz * (1 - cosf(theta) - ny * sinf(theta))) +
  ptIn[1] * (ny * nz * (1 -cosf(theta)) + nx * sinf(theta)) +
  ptIn[2] * (nz * nz * (1 - cosf(theta)) + cosf(theta));
  }
  直接给出个算法吧,这个算法直接用矩阵作的,在一般情况下也就不用四元数了.
  晕,哥哥看错了,你是问OpenGL,那把上面公式中的矩阵提取出来,注意到这个矩阵是三阶的,最后一行是给你设置平移参数的.可以简单设置为 0 0 0 1
  构造好矩阵之后,调用glLoadMatrixf设置ModelView矩阵就OK了,
  上面矩阵如何提取?
  (cosf(theta) + nx * nx * (1 - cosf(theta)))
  (nx * ny * (1 - cosf(theta)) - nz * sinf(theta))
  (nx * nz * (1 - cosf(theta) + ny * sinf(theta))) 这是第一列,其他两列也这么提取就可以了
  当然这是假设没有平移和缩放变换的

求算法:opengl 绕任意轴旋转后的坐标 opengl中如何绕轴旋转物体 矩阵蠕变 具体是怎么产生的?我用opengl编程 一个点绕任意一个轴旋转正确结果应该在一个圆上 但实际情况是 这个圆的半径越来越大;这是因为矩阵蠕变吗? 二维图像旋转后的方程就是 任意曲线 绕一点 旋转任意角度后的方程 只在二维上旋转请问怎么求啊 请写出公式 android opengl 已知物体原空间坐标和旋转过的角度,怎么求出它旋转后的空间坐标,并转换成屏幕坐标 空间(vector3)位置求旋转算法前提不借助外部库,已知空间内任意一点 求其以原点位置旋转的度数.rotX,rotY,rotZ OpenGL做一机械臂 ,如何让其绕末端的轴旋转?使用opengl画一个三维机械模型,或者导入一个三维模型的机械臂,请教如何让其绕末端的机械臂轴旋转运动?而不是绕其自身坐标系轴运动 用opengl画旋转六边形 求梯形绕轴旋转后形成图形的体积 一次函数绕原点旋转九十度后和绕原点旋转任意角度后的解析式 如图三角形ABC的坐标,将三角形ABC绕点C旋转90,求旋转后的A,B坐标注A(-1,2) B(-3,1) C(0,-1) 求救:OpenGL中,如何顶点旋转摄像机?在OpenGL中,填加了一个人物模型,我将人物模型的位置与摄像机目标点的位置绑定,现在想让摄像机以人物视角为主,即以人物为中心进行旋转,旋转后的摄像机 如何在OpenGL中使一条线段先绕X轴旋转一个角度然后在此基础上绕Z轴旋转一个角度?例如:直线(0,0,1),先绕X轴旋转30°,然后再绕Z轴旋转45°.我的代码:glLoadIdentity(); glClearColor3f(1.0f,1.0f,1.0f,0.0f OpenGL 物体坐标旋转我建立了一个飞机模型,并且希望在输入其绕三个轴旋转的时候的角度使它旋转.但是问题在于,所有的输入变量都没有问题,旋转也正常进行.但是当运行glRotatef(planerotation[0],1 OPENGL 怎么判断某个向量 投影到XOY平面的方向?我的程序里面 这个向量会绕X和Y轴旋转,我需要知道这个向量投影到XOY平面 时的方向. 三角函数问题∶求一个点绕原点旋转一个角度后的坐标已知一个点 A (x0 ,y0),并且以原点为圆心旋转n度,求旋转后的点 A' (x1,y1) 的坐标值.要最简单的算法公式! 求按指定点(-a,0)旋转任意角度后的椭圆方程方程已知:x平方/a平方 + y平方/b平方 = 1,求此椭圆按点(-a,0)旋转任意角度@后的椭圆方程 我的世界 OpenGL