• 3D数学基础


    一、向量

          1.向量的定义

          在数学中向量的定义是:既有大小又有方向的量叫做向量。在空间中,向量可以用一段有方向的线段来表示。向量在游戏开发过程中应用十分广泛,可用于描述具有大小和方向两个属性的物理量,例如物体运动的速度、加速度、摄像机观察方向、刚体受到的力等,都是向量,因此向量是物理、动画、三维图形开发的基础。

          2.向量相关概念

      模:向量的长度。

      标准化:保持方向不变,将向量长度变为1.

      单位向量:长度为1的向量。

      零向量:各分量均为零的向量。

      3.向量的运算

      加减:向量的加法(减法)为各分量分别相加(相减),在物理上可以用来计算两个力的合理,或者几个速度分量的叠加。

      数乘:向量与一个标量想成称为数乘。数乘可以对向量的长度进行缩放,如果标量大于零,那么向量的方向不变,若标量小于零,则向量的方向变为反方向。

      点乘:两个向量点乘得到的一个标量,数值等于两个向量长度相乘后再乘以二者夹角的余弦值。如果两个向量a,b均为单位向量,那么a*b等于向量b在向量a方向上的投影长度。通过两个向量点乘的结果的符号可以快速判断两个向量的夹角情况; 若u*v=0 ,则向量u、v互相垂直。 若u*v>0,则向量u、v夹角小于90度。若 u*v<0,则向量u、v夹角大于90度。

      叉乘:两个向量的叉乘得到一个新的向量,新向量垂直于原来两个向量,并且长度等于元向量长度相乘后再乘以夹角的正弦值。

      4.Vector3类

      在Unity中,和向量有关的类有Vector2、Vector3、Vector4,分别对应不用维度的向量,其中Vector3的使用最为广泛。

      Vector3类的常用成员变量

      x -- 向量的x分量  y -- 向量的y分量  z -- 向量的z分量  normalized -- 得到单位化后的向量(只读) magnitude -- 得到向量长度(只读) sqrMagnitude -- 得到向量长度的平方(只读)

      Vector3类的常用方法

      Cross -- 向量叉乘 Dot -- 向量点乘 Project -- 计算向量在另一个向量上的投影 Angle -- 返回2个向量之间的夹角 Distance -- 返回2个向量之间的距离 

      

  • 相关阅读:
    安装cloudbase-init和qga批处理
    Windows添加自定义服务、批处理文件开机自启动方法
    Windows批处理:自动部署常用软件(静默安装)
    windows auto activate
    XML转译字符
    Leetcode908.Smallest Range I最小差值1
    Leetcode917.Reverse Only Letters仅仅反转字母
    Leetcode896.Monotonic Array单调数列
    Leetcode905.Sort Array By Parity按奇偶排序数组
    Leetcode892.Surface Area of 3D Shapes三维形体的表面积
  • 原文地址:https://www.cnblogs.com/baoluqi/p/4101927.html
Copyright © 2020-2023  润新知