3d中的向量
向量基础知识
向量有且仅有的两个属性:方向长度(注意:向量性情中不包含位置信息)
向量相等就是其两个属性相等
向量处理标记位置:当向量的起始点与坐标原点重合,这样我们就可以用向量的终点坐标来描述一个处于标准位置的向量
零向量:所有分量都为0 = (0,0,0)
三个特殊向量称为R3的标准基向量:这些向量分别称为i,j,k向量,方向分别与坐标系的x,y,z轴一致,且长度均为1
向量相等
向量相等即方向和长度相等。
计算向量的长度
几何学中,向量的模就是有向线段的长度。我们可以通过代数的方法计算该向量的大小

在D3DX库中,可以用D3DXVec3Length函数求得
向量的规范化
向量的规范化就是使向量的模变为1,即变为单位向量。可以通过该向量的每一个分量除以该向量的模来实现向量的规范化
向量u(x,y,z) 规范化之后u(x/||u||,y/||u||,z/||u||)
向量的加法
向量的每一个分量相加就是向量的加法
u + v = (ux+vx,uy+vy,uz+vz)

向量的减法

数乘(向量与一标量向乘结果为一向量)
数乘就是与标量相乘,该运算可对向量进行缩放
点积(向量与向量相乘结果为一标量)

上面的等式不能很明显的体现几何上的意义。利用余弦定律,我们能够发现它们的关系。
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。


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)
3d中的向量的更多相关文章
- 2d,3d中旋转推导
二维绕原点旋转,其实点为(x,y),旋转角度为黄色标注的角度. 推导过程如下: x' = r cos(al+be); y' = r sin(al+be);x '= rcosalcosbe-rsinal ...
- 3D数学读书笔记——3D中的方位与角位移
本系列文章由birdlove1987编写,转载请注明出处. 文章链接: http://blog.csdn.net/zhurui_idea/article/details/25339595 方位和角位移 ...
- 在3D中两条射线的相交性检测
摘自[3D数学基础: 图形与游戏开发] 考虑在3D中两条以参数形式定义的射线: \(\vec{r_1}(t_1)=\vec{p_1}+t_1\vec{d_1}\) \(\vec{r_2}(t_2)=\ ...
- AutoCAD Civil 3D 中缓和曲线的定义
本文对AutoCAD Civil 3D中缓和曲线的定义进行了整理. 原英文网页如下: https://knowledge.autodesk.com/support/autocad-civil-3d/l ...
- 在Unity 3D中加入Image图片
在Unity 3D中加入Image图片,我在刚开始是加不进去的,为什么呢?因为没有图片,图如下: 原因就是我们没有把图片设置为Script,图片的格式还是默认的那个,这只能作为贴图使用.我们将图片进行 ...
- Unity 3D中的阴影设置
在Unity 3D中,经常需要用到光照阴影,即Directional Light的Shadow,Shadow分为Hard Shadow和Soft Shadow.区别是Soft Shadow的阴影边缘比 ...
- Unity 3D中不得不说的yield协程与消息传递
1. 协程 在Unity 3D中,我们刚开始写脚本的时候肯定会遇到类似下面这样的需求:每隔3秒发射一个烟花.怪物死亡后20秒再复活之类的.刚开始的时候喜欢把这些东西都塞到Update里面去,就像下面这 ...
- 3D中的旋转变换
相比 2D 中的旋转变换,3D 中的旋转变换复杂了很多.关于 2D 空间的旋转,可以看这篇文章.本文主要粗略地探讨一下 3D 空间中的旋转. 旋转的要素 所谓旋转要素就是说,我们只有知道了这些条件,才 ...
- Chem 3D中怎么创建立体模型
ChemDraw作为一款很受大家欢迎的化学绘图软件,其在绘制平面化学方面的功能已经非常的强大了,其实它也可以绘制3D图形.Chem 3D就是绘制3D图形的重要组件.而且为了满足不同的用户绘图的需求,可 ...
随机推荐
- 手机端js实现滑块推动
代码编写:(写的格式有点差,凑合看吧,但是功能是实现了的) <html><head><meta http-equiv="Content-Type" c ...
- 在linux中的virtualbox无法挂载usb设备的解决方法
方法来源于网络. 在安装完virtualbox之后,virtualbox会建立一个名为 vboxusers 的组,将你的用户名加入到该组即可. 命令参考: #usermod -a -G vboxuse ...
- 搞笑的u盘图片
- [笔记]PHP文件系统处理
PHP文件系统处理 ***所有的文件处理都是使用系统函数完成的. ***php文件处理 是 基于linux/unix系统为模型的, 在linux下完全没问题 在windows下有一些 有差别. ### ...
- oracle 自定义 聚合函数
Oracle自定义聚合函数实现字符串连接的聚合 create or replace type string_sum_obj as object ( --聚合函数的实质就是一个对象 sum ...
- Redis整合Spring结合使用缓存实例
林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka 摘要:本文介绍了如何在Spring中配置redis,并通过Spring中AOP的思想,将缓存的 ...
- HDU 1827:Summer Holiday(强连通)
http://acm.hdu.edu.cn/showproblem.php?pid=1827 思路:强连通分量缩点后找入度为0的点,然后对于属于该强连通分量的找一个最小耗费的入口. #include ...
- recyclview多条目布局
多条目基础 http://blog.csdn.net/fangchao3652/article/details/43148871 添加底部加载更多 http://blog.csdn.net/fangc ...
- 使用ResourceBundle访问资源文件(properties)帮助类
import java.util.ResourceBundle; /** * 读取properties文件的帮助类 * @author */ public class PropertiesUtil { ...
- ZOJ 3860: - Find the Spy
3860 - Find the Spy Time Limit:2000MS Memory Limit:65536KB 64bit IO Format:%lld & %llu S ...