美文网首页maya
向量在DCC软件里的应用(一)

向量在DCC软件里的应用(一)

作者: CGPipeline | 来源:发表于2020-07-11 00:14 被阅读0次

向量的基础知识以及在DCC软件里的应用(一)

一.向量的基础概念

向量: 一般认为,同时满足具有大小和方向两个性质的几何对象即可认为是向量

在DCC软件里面可以堪称向量的属性:

  • 法线:同时具有大小跟方向, 在Houdini里面一般用作发射物体的初速度。
  • 速度:
  • 位置:点的坐标,相对于世界坐标中心(0,0,0)

向量模:向量的模就是向量的的长度

eg: 向量a的坐标(x,y,z)则其模长为

[图片上传失败...(image-b49f06-1594397658808)]

单位向量:单位向量是模等于1的向量。由于是非零向量,单位向量具有确定的方向。一个非零向量除以它的模,可得所需单位向量。

应用: 一般在DCC软件里面单位向量被用来确定方向,以及求两个向量的角度。

向量的夹角:两个向量的夹角是将二者图示化后两箭头所夹之角

向量的夹角可由点积的定义导出计算公式,即:

[图片上传失败...(image-218fc4-1594397658808)]

二.空间向量坐标的混合运算

[图片上传失败...(image-39c3ee-1594397658808)]

向量的加法

:两个向量组成的平行四边形的对角线,或者三角形法则
:一般在houdini里面通过给其法线@N + 一个向量来改变其法线方向

# vex code
vector a = point(0,'P',0);
vector b = point(1,'P',0);
@N = b-a;

向量减法

:向量减法的差是由减向量指向被减向量得到的新向量,可以把减向量方向调反变成向量加法
:一般在houdini里面通过向量相减,来调整物体爆炸时候的初速度

vector a = @P;
vector b = point(1,'P',0);
@N = -b-a;

向量乘法

\overrightarrow{a\;}=\lbrack x1,\;y1,\;z1\rbrack\\\overrightarrow{b\;}=\lbrack x2,\;y2,\;z2\rbrack

1.向量的点积/标量积

代数定义
向量a与b的点积定义为:

\overrightarrow{a\;}\cdot\overrightarrow{b\;}=\sum_{i=1}^n\;a_ib_j=a_1b_1+a_2b_2+\cdot\cdot\cdot+a_nb_n

几何定义
在欧几里德空间中,点积可以直观的定义为:

\overrightarrow{a\;}\cdot\overrightarrow b\;=\;\left|\overrightarrow a\right|\left|\overrightarrow b\right|\cos\left(\partial\right)
从上述几何定义可知

  • 当两个向量垂直的时候。向量点积为零,为1或-1则相互平行
  • 当两个向量都是单位向量的时候,其点积就是夹角的余弦值
  • 判断两个向量的方向,点积的值大于零两个向量方向相近,小于零方向相反

定义应用

  • 求向量夹角

使用 houdini Vex

vector pos1 = {1,2,3};
vector pos2 = {1,0,0};
vector pos1_one = normalize(pos1); # 把向量转换成单位向量
vector pos2_one = normalize(pos2);
float dot_value = dot(pos1_one, pos2_one) # 点积
float angle = acos(dot_value) # 反余弦值

# 欢迎关注微信供公众号CGPipeline获取更多干货

2.向量的叉积

叉积的值还是向量:a向量与b向量的向量积的方向与这两个向量所在平面垂直,且遵守右手定则

代数定义

[图片上传失败...(image-31ab57-1594397658808)]

几何定义
\vert\overrightarrow{a\;}\times\overrightarrow b\vert\;=\;\left|\overrightarrow a\right|\left|\overrightarrow b\right|\sin\left(\partial\right)

从上述几何定义可知

  • 当两个向量垂直的时候。向量叉积的模长为1或者-1,为0则相互平行
  • 向量叉积与两向量所在平面垂直
  • 在计算机图形学里面利用叉积来计算法线,只要已知物体表面的两个非平行矢量(或者不在同一直线的三个点),就可依靠叉积求得法线。
  • 通过叉积来判断两个线段是否相交

相关文章

  • 向量在DCC软件里的应用(一)

    向量的基础知识以及在DCC软件里的应用(一) 一.向量的基础概念 向量: 一般认为,同时满足具有大小和方向两个性质...

  • Deadline报错Error: Renderer return

    Houdini在提交Deadline渲染时,报如下错误。(其他DCC软件也可能会出现)Error: Rendere...

  • OpenGL-向量与矩阵

    向量与矩阵的应用场景和相关方法 向量 向量:(也称为欧几里得向量、几何向量、矢量),指具有大小(magnitude...

  • 实现TopK问题的三种算法

    在检索类的应用中往往实现TopK的应用,比如特征检索场景下,要对一个向量进行距离查询,输出距离最近的前10个向量。...

  • Unity官方教程-Creating Believable Vi

    在Unity中构建信得过的真实场景,项目地址术语:DCC: 三维建模软件,如3dmax、maya、blender、...

  • 标量、向量和特征空间

    标量、向量和空间 单个数字特征也称为标量。标量的有序列表成为向量。向量位于向量空间中。在绝大多数机器学习应用中,对...

  • 线性代数

    正交投影应用 向量a和单位向量e的内积就是向量a在e上的投影长度,乘以e就是投影后的向量 当我们需要拟合例如线性回...

  • R语言GARCH-DCC模型和DCC(MVT)建模估计

    原文链接:http://tecdat.cn/?p=7194 这个简短的演示说明了使用rmgarch软件包的DCC模...

  • kernel 中断

    中断# 中断分 向量中断 和 非向量中断## 向量中断由硬件提供中断服务程序入口地址 非向量中断由软件提供中断服务...

  • dcc ︳你有仔细检查过你的账单吗?

    目录 什么是 dcc ? 什么是被 dcc ? 被强制 dcc 了怎么办? 答疑解惑 对于一个经常在境外消费的卡友...

网友评论

    本文标题:向量在DCC软件里的应用(一)

    本文链接:https://www.haomeiwen.com/subject/iafbcktx.html