永发信息网

如果有标量操作的能力,那么有几种标量能操作

答案:1  悬赏:30  手机版
解决时间 2021-04-06 23:34
  • 提问者网友:心牵心
  • 2021-04-06 10:56
如果有标量操作的能力,那么有几种标量能操作
最佳答案
  • 五星知识达人网友:迷人又混蛋
  • 2021-04-06 11:56
矢量运算,矢量之间的运算要遵循特殊的法则。矢量加法一般可用平行四边形法则。由平行四边形法则可推广至三角形法则、多边形法则或正交分解法等。矢量减法是矢量加法的逆运算,一个矢量减去另一个矢量,等于加上那个矢量的负矢量。


3D engine中用到的矢量运算详细内容:
两点距离
2D系统:
Point1(x1,y1),Point2(x2,y2)
距离D=sqr((x1-x2)*(x1-x2) + (y1-y2)*(y1-y2))
3D系统:
Point 1(x1,y1,z1)Point 2 at(x2,y2,z2)。
xd = x2-x1
yd = y2-y1
zd = z2-z1
距离Distance = SquareRoot(xd*xd + yd*yd + zd*zd)
做游戏和demo永远不要去做开方:
用LUT查表技术(Look up Table)
2.在做碰撞检测时,误差Distance*Distance规格化,单位化(Normalize)
先要说矢量的长度:
矢量Vector(x,y,z)
矢量长度Length(Vector)= |Vector|=sqr(x*x+y*y+z*z)
Normalize后:
(x/Length(Vector),y/Length(Vector),z/Length(Vector))
方向不变,长度为1个单位
点乘 点积 数量积(Dot Product)
是一回事儿。首先明确两个矢量的点积是个标量。
中学物理的力做功就是矢量点积的例子:W=|F|.|S|.cos(theta)
二矢量点积:
Vector1:(x1,y1,z1)Vector2(x2,y2,z2)
DotProduct=x1*x2+y1*y2+z1*z2

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯