有两个向量,求夹角
根据几何学,我们可以通过三角函数来换算,但是问题在于,需要知道他和x轴的夹角,因为空间参考系变换,以及大于等影响,比较复杂。
使用线性代数在三维中的应用即旋转矩阵即可解决。
假如向量A(a.x,a.y) 还有向量B(b.x,b.y) 他们的夹角为α,
首先旋转矩阵如下:
cos α sin α cos α -sin α
-sin α cos α, -sin α cos α
行向量对应的矩阵: 列向量对应的矩阵
变换后的向量b表示如下:
A.x cosα - A.y sinα = B.x //
A.x sinα + A.y cosα = B.y
通过解方程: 可以算出 sin α = (A.x cos α - B.x) / A.y; 当然也等于 (B.y - A.y cos α) / A.x;
而cos α = dot(A,B); //注意A和B需要归一化
分类:
c++
, 游戏引擎/渲染/图形/OpenGL/Vulkan
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了