Unity_向量基础知识

第一篇文章:

原文地址:https://www.cnblogs.com/zhangdongsheng/p/4490572.html

向量基础知识

 

向量有且仅有的两个属性:方向长度(注意:向量性情中不包含位置信息)

向量相等就是其两个属性相等

向量处理标记位置:当向量的起始点与坐标原点重合,这样我们就可以用向量的终点坐标来描述一个处于标准位置的向量

零向量:所有分量都为0 = (0,0,0)

三个特殊向量称为R3的标准基向量:这些向量分别称为i,j,k向量,方向分别与坐标系的x,y,z轴一致,且长度均为1

 

 

 

向量相等

向量相等即方向和长度相等。

计算向量的长度

几何学中,向量的模就是有向线段的长度。我们可以通过代数的方法计算该向量的大小

clip_image002

在D3DX库中,可以用D3DXVec3Length函数求得

向量的规范化

向量的规范化就是使向量的模变为1,即变为单位向量。可以通过该向量的每一个分量除以该向量的模来实现向量的规范化

向量u(x,y,z) 规范化之后u(x/||u||,y/||u||,z/||u||)

向量的加法

向量的每一个分量相加就是向量的加法

u + v = (ux+vx,uy+vy,uz+vz)

image

向量的减法

image

数乘(向量与一标量向乘结果为一向量)

数乘就是与标量相乘,该运算可对向量进行缩放

点积(向量与向量相乘结果为一标量)

image

上面的等式不能很明显的体现几何上的意义。利用余弦定律,我们能够发现它们的关系。
u · v =|u| * |v| * cosθ,表示两个向量的点积是它们的模和夹角的余弦之积。因此,如果u 和v都是单位向量,那么u · v就是它们夹角的余弦。
一些点积中有用的特性
■ 假如u · v = 0,那么u⊥v。
■ 假如u · v > 0,那么两个向量的角度θ小于90度。
■ 假如u · v < 0,那么两个向量的角度θ大于90度

叉积(向量与向量相乘结果为一向量)

与点积不同(结果为一个标题),叉积的结果是另一个向量。通过把两个向量u和v相乘得到另一的向量p,向量p垂直于u和v。也就是说向量p垂直于u并且垂直于u。

image

image

D3DX库中用D3DXVec3Cross计算两处向量的叉积

向量叉乘如何计算比如向量a=(1,2,3),b=(4,5,6)a叉乘b的计算过程应该是怎样的,求详解

设a=(X1,Y1,Z1),b=(X2,Y2,Z2),
a×b=(Y1Z2-Y2Z1,Z1X2-Z2X1,X1Y2-X2Y1)
(1,2,3)×(4,5,6)=(12-15,12-6,5-8)=(-3,6,-3)

 

向量基础知识

 

向量有且仅有的两个属性:方向长度(注意:向量性情中不包含位置信息)

向量相等就是其两个属性相等

向量处理标记位置:当向量的起始点与坐标原点重合,这样我们就可以用向量的终点坐标来描述一个处于标准位置的向量

零向量:所有分量都为0 = (0,0,0)

三个特殊向量称为R3的标准基向量:这些向量分别称为i,j,k向量,方向分别与坐标系的x,y,z轴一致,且长度均为1

 

 

 

向量相等

向量相等即方向和长度相等。

计算向量的长度

几何学中,向量的模就是有向线段的长度。我们可以通过代数的方法计算该向量的大小

clip_image002

在D3DX库中,可以用D3DXVec3Length函数求得

向量的规范化

向量的规范化就是使向量的模变为1,即变为单位向量。可以通过该向量的每一个分量除以该向量的模来实现向量的规范化

向量u(x,y,z) 规范化之后u(x/||u||,y/||u||,z/||u||)

向量的加法

向量的每一个分量相加就是向量的加法

u + v = (ux+vx,uy+vy,uz+vz)

image

向量的减法

image

数乘(向量与一标量向乘结果为一向量)

数乘就是与标量相乘,该运算可对向量进行缩放

点积(向量与向量相乘结

  • 4
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
在Unity开发中,数学基础是非常重要的。在游戏开发的过程中,经常会涉及到各种数学知识,比如矩阵变换、向量运算、几何计算等。了解这些数学基础可以帮助开发者更好地理解和操作三维场景中的模型。 在Unity中,矩阵变换是非常常见的操作。通过矩阵变换,可以实现物体的平移、旋转和缩放等变换效果。矩阵变换的原理是使用矩阵与向量相乘的方式来实现物体的变换。 此外,灯光法线位置变换也是游戏开发中常用的数学基础之一。通过对灯光的位置和法线进行变换,可以实现不同的光照效果,如阴影和反射等。 视点矩阵变换在Unity中也非常重要。通过视点矩阵变换,可以实现摄像机的移动和旋转效果,以及视角的变换。这对于实现玩家视角的控制和相机跟随功能至关重要。 综上所述,了解3D数学基础对于Unity开发来说非常重要。它能够帮助开发者更好地理解和使用矩阵变换、灯光法线位置变换、视点矩阵变换等数学知识,从而更好地操作三维场景中的模型。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [[3D数学基础:图形与游戏开发] unity](https://download.csdn.net/download/qq_18294505/85928665)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [3D数学基础:Unity游戏开发.pptx](https://download.csdn.net/download/tocrack212/11180282)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [Unity 3D 开发中需要掌握的数学基础知识概要整理(一)](https://blog.csdn.net/u014361280/article/details/102783979)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值