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图形的重要组件.而且为了满足不同的用户绘图的需求,可 ...
随机推荐
- 向已写好的多行插入sql语句中添加字段和值
#region 添加支款方式--向已写好的多行插入sql语句中添加字段和值 public int A_ZhifuFS(int diqu) { ; string strData = @"SEL ...
- hadoop之输入输出格式
<STRONG>jobConf.setInputFormat(MyInputFormat. class ); InputFormat:</STRONG> TextInputFo ...
- windbg定位WEB性能瓶颈案例一则
测试环境 服务器:II服务器 网站:门户网站 条件 并发: 2000 LoadRunner思考时间:1s 表现 CPU:100% 对应w3wp进程 WebService–>Current con ...
- ubuntu下配置tomcat
配置tomcat 1.解压 tar -zxvf apache-tomcat-7.0.53.tar.gz 2.修改/bin/catalina.sh cygwin=falsedarwin=falseos4 ...
- Android的startActivityForResult()与onActivityResult()与setResult()参数分析,activity带参数的返回
一.使用场景 在一个主界面(主Activity)通过意图跳转至多个不同子Activity上去,当子模块的代码执行完毕后再次返回主页面,将子activity中得到的数据显示在主界面/完成的数据交给主Ac ...
- post 405 method not allowed
HTTP 405 错误 – 方法不被允许 (Method not allowed) 介绍 HTTP 协议定义一些方法,以指明为获取客户端(如您的浏览器或我们的 CheckUpDown 机器人)所指定的 ...
- NSHashtable and NSMaptable
本文转自Nidom的博客,原文:<NSHashtable & NSMaptable> NSSet, NSDictionary, NSArray是Foundation框架关于集合 ...
- 如何扩大ImageView的点击区域
我们在开发中会遇到,给imageview设置点击事件,但是美工切的原始图片一般在24dp左右,这个尺寸点击时会出现不灵敏的情况(点击区域太小). 解决方案: 给imageView设置 scaleTy ...
- [HTML]HTML框架IFrame下利用JS在主页面和子页面间传值
今天写的程序涉及到JS框架传值的问题,这些是我找到的一些资料 下面主页面和子页面互相传值的DEMO 如果仅仅需要子页面触发主页面的函数 仅需 [ parent.window.你的函数 ] 就可以了 D ...
- 迷之节约 分类: sdutOJ 最小生成树 2015-06-24 19:10 10人阅读 评论(0) 收藏
迷之节约 Time Limit: 1000ms Memory limit: 65536K 有疑问?点这里^_^ 题目描述 FF超级有钱,最近又买了n个(1 <= n <= 300)小岛,为 ...