计算机图形学中向量点乘和叉乘的用途_三维向量的简单运算和实用意义

在WebGL的实际应用中我们广泛使用向量的几何运算来计算角度、距离,判断点线、点面之间的关系,比如物体之间的碰撞检测。

本文简要介绍三维计算机图形学中常用的基本运算的概念及其用途。

点积(Dot Product)

点乘比较简单,是相应元素的乘积的和:

V1( x1, y1, z1)·V2(x2, y2, z2) = x1*x2 + y1*y2 + z1*z2;

注意结果不是一个向量,而是一个标量(Scalar),可以是负数:

A·B = |A||B|Cos(θ)

θ是向量A和向量B之间的夹角。这里|A|我们称为向量A的模或范数。这样我们就和容易计算两条线的夹角:

Cos(θ) = A·B /(|A|*|B|)

点积常见的用处是:求线段在某个方向的投影长度(使B为单位向量)

计算两条线的夹角

计算点到线的距离(比如Math.sqrt(|A|*|A| - (A·B)*(A·B)),其中B为单位向量)

叉积(Cross Product)

首先我们知道 ,对于向量u和v, u x v的结果,是得到一个既垂直于u又垂直于v的向量,假设记作n.

则有下面公式

n = u x v;

而n的方向,是由右手法则决定的。 即伸出右手,四个手指方向从u绕到v. 此时,大姆指的方向,就是n的方向。 我们通常叫做右向量。

叉积常见用途有计算点到线和点到面的距离。

点到线的距离

找出一个点和一条线间的距离是经常遇见的几何问题之一。假

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值