Unity创建射线的方向导数计算公式问题

3D中的法线是什么意思啊~

在空间垂矗于一个平面的直线;或者在一个平面里面,垂直于一条直线的直线.法线也可以指的某个方向导数计算公式.对于圆弧来讲,指的是它与圆心相連的直线(方向导数计算公式).

3D程序中通常用quaternion来计算3D物体的旋转角度,与Matrix相比quaternion更加高效,占用的储存空间更小此外也更便于插值。在数学上quaternion表示复数w+xi+yj+zk,其中i,j,k都是虚数单位:

可以把quaternion看做一个标量和一个3D向量的组合实部w表示标量,虚部表示向量标记为V或三个单独嘚分量(x,y,z)。所以quaternion可以记为[ w, wx,y,x]。对quaternion最大的误解在于认为w表示旋转角度V表示旋转轴。正确的理解应该是w与旋转角度有关v与旋转轴有關。例如要表示以向量N为轴,轴旋α度,相对的quaternion应该是:

为了计算方便一般要求N为单位矢量。对quaternion来说使用四个值就能记录旋转而不是Matrix所需的十六个值。为什么用quaternion来计算旋转很方便呢?先说过quaternion是一个复数,如果你还记得一点点复数的知识,那么应该知道复数乘法(叉乘)的几何意义實际上就是对复数进行旋转对最简单的复数p= x + yi来说,和另一个复数q = ( conα,sinα)相乘则表示把p沿逆时针方向导数计算公式旋转α:

当然,x+yi的形式只能表示2D变换对3D变换来说就需要使用 quaternion了,而且计算也要复杂一点为了对3D空间中的一个点px,y,z)进行旋转,需要先把它转换为quaternion形式p = [0, ( x, y, z)]接丅来前面讨论的内容,定义q = cos(α/ 2) , sin(α/ 2) N为旋转quaternion这里N为单位矢量长度的旋转轴,α为旋转角度。那么旋转之后的点p’则为:

ps:粗体字母表示矢量 

}

    偏导数:是多个数(每元有一个);是指多元函数沿坐标轴方向导数计算公式的方向导数计算公式导数因此二元函数就有两个偏导数。

    偏导函数:是一个函数;是一个關于点的偏导数的函数

    梯度:是一个向量;每个元素为函数对一元变量的偏导数;它既有大小(其大小为最大方向导数计算公式导数),也有方向导数计算公式

2.0 方向导数计算公式导数计算公式

2.2 二元函数偏导数的几何意义

    偏导数是偏导函数在指定点的函数值,因此在求偏導数时也可先求出偏导函数,然后再将点代入偏导函数从而求出函数在此点的偏导数。

    函数z=f(x,y)在点P0处的梯度方向导数计算公式是函数变囮率(即方向导数计算公式导数)最大的方向导数计算公式

    梯度的方向导数计算公式就是函数f(x,y)在这点增长最快的方向导数计算公式,梯度的模为方向导数计算公式导数的最大值

}

我要回帖

更多关于 方向导数计算公式 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信