zoukankan      html  css  js  c++  java
  • 3d中的向量

     

    向量基础知识

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

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

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

    零向量:所有分量都为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)

  • 相关阅读:
    python json.dumps() json.dump()的区别
    geopy 在python中的使用
    socket技术详解(看清socket编程)
    数据结构之各种数据结构插入、删除、查找的时间复杂度
    数组查找的时间复杂度正确表述
    各种排序算法时间复杂度
    MySQL将一张表的某些列数据,复制到另外一张表,并且修改某些内容
    Java虚拟机学习
    Java虚拟机学习
    java集合框架05——ArrayList和LinkedList的区别
  • 原文地址:https://www.cnblogs.com/zhangdongsheng/p/4490572.html
Copyright © 2011-2022 走看看