[√]数学-点乘叉乘

简介: [√]数学-点乘叉乘

Vec2::angle的返回值为[0,180]

Vec2::angle(Vec2(1,0), Vec2(1,1)); // 45°
Vec2::angle(Vec2(1,0), Vec2(1,-1)); // 45°

getAngle的返回值为[-90,90]

Vec2(1,0).getAngle(Vec2(1,1)); // 45
Vec2(1,0).getAngle(Vec2(1, -1));// -45

点乘判断前后

点乘,也称为内积、数量积或标量积,是向量运算中的一种基本操作。它通常用来计算两个向量之间的相似度或角度。

几何定义: a·b=|a|*|b|*cos<a,b>

2个向量的夹角范围[0,360]

  • cos(-90°)~cos(90°) = [1,0] >0表示在前边
  • cos(90°)~cos(270°) = [0,-1] <0表示在后边

image.png

叉乘判断左右

叉乘,也称为向量积、矢量积或外积,是向量运算中的一种操作。

在计算机图形学中,叉乘可以用于计算表面法向量、生成旋转轴以及进行投影变换等操作。

几何定义:|c|=|a||b|sin<a,b>

  • sin(0°)~sin(180°) = [1,0]
  • sin(180°)~sin(360°) = [0,-1]
Vec2 vec = Vec2(0, 1)-Vec2::ZERO;
float ret = 0;
// 注意,必须是相同的起点,这个非常重要
ret = vec.cross(Vec2(0, 1)-Vec2::ZERO); // 0
ret = vec.cross(Vec2(0, -1)-Vec2::ZERO);// -0
ret = vec.cross(Vec2(1, 0)-Vec2::ZERO); // -1
ret = vec.cross(Vec2(-1, 0)-Vec2::ZERO);// 1
ret = vec.cross(Vec2(1, 1)-Vec2::ZERO);// -1
ret = vec.cross(Vec2(1, -1)-Vec2::ZERO);// -1
ret = vec.cross(Vec2(-1, 1)-Vec2::ZERO);// 1
ret = vec.cross(Vec2(-1, -1)-Vec2::ZERO);// 1

image.png

>0 左边<0 右边

目录
相关文章
|
2月前
|
C#
【Azure Developer】解答《美丽的数学》一书中P120页的一道谜题:寻找第四个阶乘和数
【Azure Developer】解答《美丽的数学》一书中P120页的一道谜题:寻找第四个阶乘和数
|
5月前
|
C语言
UVA-537--Artificial Intelligence?(C语言)
UVA-537--Artificial Intelligence?(C语言)
|
C语言 C++
PAT (Basic Level) Practice (中文)1099 性感素数(20分)
“性感素数”是指形如 (p, p+6) 这样的一对素数。之所以叫这个名字,是因为拉丁语管“六”叫“sex”(即英语的“性感”)。(原文摘自 http://mathworld.wolfram.com/SexyPrimes.html) 现给定一个整数,请你判断其是否为一个性感素数。
133 0
|
Python
Python每日一练(20230510) 石子游戏 VII\VIII\IX
Python每日一练(20230510) 石子游戏 VII\VIII\IX
86 0
|
小程序
用autoit写了一个珠心神算的小程序(数学运算)
用autoit写了一个珠心神算的小程序(数学运算)
79 0
用autoit写了一个珠心神算的小程序(数学运算)
|
网络协议 编译器 程序员
为什么 Go 是我最喜欢的编程语言(2017)[翻译]#IT人的升职加薪tips#
为什么 Go 是我最喜欢的编程语言(2017)[翻译]#IT人的升职加薪tips#
182 0
为什么 Go 是我最喜欢的编程语言(2017)[翻译]#IT人的升职加薪tips#
|
Windows 内存技术
零元学Expression Design 4 - Chapter 1 入门界面简介
原文:零元学Expression Design 4 - Chapter 1 入门界面简介 Expression Design 是Expression系列里面的一员,更是Blend跟Web的好帮手 ...
939 0
零元学Expression Design 4 - Chapter 4 教你如何自制超炫笔刷
原文:零元学Expression Design 4 - Chapter 4 教你如何自制超炫笔刷 在Chapter 2 有稍微讲过Design内建笔刷的用法,本章将教大家如何自制独一无二的笔刷,并且重复利...
1010 0
|
C#
零元学Expression Blend 4 - Chapter 2 入门界面简介
原文:零元学Expression Blend 4 - Chapter 2 入门界面简介 在这篇教学我将会介绍Expression Blend 4的基本界面,虽然有些网站已经有做了介绍,为了整个教学的完整性,就在此做补充。
1185 0