zoukankan      html  css  js  c++  java
  • 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个向量之间的距离 

      

  • 相关阅读:
    349元我们应该有什么样的期待原道N12豪华版 RK2906入手初体验
    漫谈国内智能手机市场现状
    将AltiumDesigner(Protel升级版)的PCB设计打造成利器——订制应用、操作、过滤表达式及其他一些微操作
    modelsim se 10.1a 下载与破解
    shell配置,选择,环境变量修改(ORACLE_HOME,ORACLE_SID),无法使用sqlplus
    /ibm/fan
    TrackPoint_configure_ThinkPad_squeeze(0616.2011)
    来个狠的
    JDBC for MSSql2005 简单示例
    oracle使用指南
  • 原文地址:https://www.cnblogs.com/baoluqi/p/4101927.html
Copyright © 2011-2022 走看看