3D math
文章平均质量分 83
Justin__Ko
这个作者很懒,什么都没留下…
展开
-
openGL两种投影方式
<br /><br />from http://hi.baidu.com/fcqian/blog/item/cc5794ec76807a3f27979131.html<br />投影变换是一种很关键的图形变换,OpenGL中只提供了两种投影方式,一种是正射投影,另一种是透视投影。不管是调用哪种投影函数,为了避免不必要的变换,其前面必须加上以下两句:<br /> glMAtrixMode(GL_PROJECTION);<br /> glLoadIdentity();<br />事实上,投影变换的目转载 2011-04-01 11:17:00 · 2048 阅读 · 0 评论 -
稀疏矩阵库umfpack和Eigen结合
又是一个月了,这个月前面大多数的时间都在看网格变形的paper,后面这段时间又要搞Ogre,日子过得很混乱,完全没有什么时间来整理学过的东西。在这个月末的时候还是贴篇文章表示还在好好学习。 网格变形的论文看得理解了一点后就开始尝试实现,就开始到网上找稀疏矩阵库。一开始我使用的矩阵库是Eigen,风格跟matlab很像,但是没有实现稀疏矩阵运算的功能,虽然它预留了跟其他几个稀疏矩阵库的接口,原创 2011-11-30 17:31:45 · 6726 阅读 · 0 评论 -
旋转和反射
一 概述旋转即为绕一个轴进行旋转,参见博文“三维旋转基础”,这里主要讨论反射,但是反射与旋转也存在一定的联系。一个平面内的旋转可以通过组合一组的反射形成,如下图所示直线L1和L2的夹角为a,角点为O,一点P经过L1反射得到P’,然后再经过L2反射得到P’’,这个时候POP’’的夹角为2a(等腰三角形被中垂线分割即可证明)。现在定义绕原点旋转一个角度a为R(a原创 2013-07-17 15:59:46 · 7886 阅读 · 0 评论 -
摄像机成像、畸变模型
一 摄像机成像模型成像的过程实质上是几个坐标系的转换。首先空间中的一点由世界坐标系转换到摄像机坐标系,然后再将其投影到成像平面(摄像机的CCD),最后再将成像平面上的数据转换到图像平面(最后生成的图像)。 图1-1世界空间内的一个点在图像上成像的过程称为投影成像过程,这中间转换过程构成的矩阵M称为投影矩阵。摄像机的畸变参数与相机成像时采用的分辨率无关,而fx,fy原创 2013-07-22 17:37:42 · 30457 阅读 · 5 评论 -
使用SVD求最小二乘刚性转置
参见文章(Least-Squares Rigid Motion Using SVD)一 问题描述假设P={p1,p2,...,pn}和Q={q1,q2,...,qn}是两组Rd空间中的对应点集,现在想要根据这个两个点集的数据来计算出它们之间的刚性转置信息,可以知道这其实是一个最小二乘求优问题,问题可以用如下计算式描述:其中wi>0,是点集中每个点对的权重。要求(1)原创 2013-07-17 18:24:04 · 8079 阅读 · 5 评论 -
三维旋转基础
一 旋转矩阵旋转矩阵(右手坐标系)绕X轴旋转绕Y轴旋转绕Z轴旋转绕某个向量v绕XYZ旋转x,y,z进行旋转。v’ = Rz*Ry*Rx*v;Matlab代码如下syms sinx cosx siny cosy sinz cosz;Rx = [1 0 0;0 cosx -s原创 2013-07-01 10:25:09 · 5561 阅读 · 0 评论 -
直线和平面的交点
1.直线方程 两个顶L1和L2确定直线L,nL=L2-L1,则直线上的任意一点P = L1 + t*nL2.平面方程平面上三个顶点F1,F2,F3可以确定平面方程,V1=F2-F1,V2=F3-F1,nF = V1 X V2将nF归一化,nF=nF/n原创 2011-09-29 17:29:29 · 3977 阅读 · 0 评论 -
平面方程(Plane Equation)
平面方程原文链接:http://www.songho.ca/math/plane/plane.html飘飘白云 译(http://www.cnblogs.com/kesalin)(转载请注明出处以及作&译者信息,非商业用途)平面方程平面上的一点以及垂直于该平面转载 2011-09-29 16:33:12 · 2580 阅读 · 0 评论 -
四元数与旋转
一.四元组基础Q(x,y,z,w),其中x,y,z用来确定旋转轴,w为旋转的角度Q=w+xi+yj+zk,i,j,k为三个虚轴的单位分量I*j=kJ*k=i;K*i=j;叉乘:c=a × b= | i j k| |a1 b1原创 2011-09-03 12:01:24 · 8565 阅读 · 1 评论 -
Transform.LookAt解析
LookAt函数的定义如下void LookAt(Transformtarget,Vector3worldUp = Vector3.up);ParameterstargetObject to point towardsworldUpVector specifying the upward direc原创 2014-02-14 15:58:02 · 55423 阅读 · 4 评论