Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >定向包围盒旋转矩阵的求取

定向包围盒旋转矩阵的求取
EN

Stack Overflow用户
提问于 2018-11-09 06:23:25
回答 2查看 1.3K关注 0票数 0

因此,我在我的任务中使用了Matterport 3D数据集,它使用标准结构描述了使用标准结构的定向包围框,并做了如下更改:

代码语言:javascript
运行
AI代码解释
复制
"obb": {
        "centroid":[3.39208,-1.72134,1.13262],
        "axesLengths":[1.11588,0.619098,0.439177],
        "dominantNormal":[-0.707107,-0.707107,0],
        "normalizedAxes":[0,0,1,-0.707107,0.707107,0,-0.707107,-0.707107,0]
      }

我知道定向包围框通常由质心、局部坐标系轴和沿这些轴的长度来定义。

在我的例子中,考虑到物体在世界坐标系中只绕垂直轴(z轴)旋转,我想找出它绕z轴旋转的角度。但为此,我需要旋转矩阵,它将世界坐标系转换为局部坐标系。在标准表示情况下,旋转矩阵是以轴为列向量的3x3矩阵。但是,在这种情况下,如果您查看归一化轴数组,就会得到9个值,对于旋转矩阵中哪个轴应该是第一个列向量还是第二个列向量没有约定。

假设物体的位置是垂直的,只绕z轴旋转,我就可以确定旋转矩阵的最后一列。例如,上述示例中的0、0、1。但是如何确定另外两个轴呢?在确定这一点时,是否有办法考虑到"dominantNormal“信息?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-11-12 15:04:36

让我们以问题中的例子为例。给出了归一化的轴,但没有按以下任何特定顺序进行。

代码语言:javascript
运行
AI代码解释
复制
"normalizedAxes":[0,0,1,-0.707107,0.707107,0,-0.707107,-0.707107,0]

因为我们知道,对象只围绕z轴旋转,旋转矩阵中的第三列将是0,0,1,所以剩下两列,让我们称之为axis_0,axis_1。

所以,

代码语言:javascript
运行
AI代码解释
复制
axis_0 = [-0.707107, 0.707107, 0] 
axis_1 = [-0.707107, -0.707107, 0]

您可以使用逆切线函数计算这个轴在全局坐标系中与x轴所形成的角度。axis_0和axis_1的角度分别是angle_0和angle_1。

以下任何一种关系都必须是正确的,因为我们知道axis_0和axis_1是正交

代码语言:javascript
运行
AI代码解释
复制
angle_0 = angle_1 + 90 or angle_1 = angle_0 + 90

所以在上面的例子中,你可以注意到,

代码语言:javascript
运行
AI代码解释
复制
angle_0 = 135 degrees
angle_1 = 225 degrees (-135 degrees)

由于我们认为逆时针旋转是正的,使角度较小的轴将是旋转矩阵中的第一列,而另一轴将是旋转矩阵中的第二列。

在这种情况下,轮换矩阵如下所示:

代码语言:javascript
运行
AI代码解释
复制
[ [ -0.707107, -0.707107,  0],
  [ 0.707107,  -0.707107,  0],
  [ 0,          0,         1],
]

如果使用arctan2函数,请小心处理轴顺时针旋转和y轴旋转和x轴分别位于第一象限和第四象限的特殊情况。

票数 0
EN

Stack Overflow用户

发布于 2018-11-09 08:51:04

假设normalizeAxes属性具有以下含义:

代码语言:javascript
运行
AI代码解释
复制
[X1, X2, X3, Y1, Y2, Y3, Z1, Z2, Z3]

然后,局部世界旋转矩阵的列等于向量XYZ

代码语言:javascript
运行
AI代码解释
复制
    | X1 Y1 Z1 |
R = | X2 Y2 Z2 |
    | X3 Y3 Z3 |

当然,世界到局部的旋转矩阵就是这个矩阵的逆(=转置):

代码语言:javascript
运行
AI代码解释
复制
         | X1 X2 X3 |
inv(R) = | Y1 Y2 Y3 |
         | Z1 Z2 Z3 |

考虑到翻译centroid = [C1, C2, C3]

代码语言:javascript
运行
AI代码解释
复制
    | X1 Y1 Z1 C1 |
T = | X2 Y2 Z2 C2 |
    | X3 Y3 Z3 C3 |
    | 0  0  0  1  |

         | X1 X2 X3 -dot(C, X) |
inv(T) = | Y1 Y2 Y3 -dot(C, Y) |
         | Z1 Z2 Z3 -dot(C, Z) |
         | 0  0  0       1     |

不确定dominantNormal代表什么(似乎没有任何公开可用的文档);可能是用于阴影的元数据,也可能是这个OBB中几何分布的度量。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53227533

复制
相关文章
求助~有人能帮我看看这个程序是咋回事吗?
本来我也不以为意的,只是简简单单的觉得自己敲代码敲的走火入魔了而已,搞得我梦里还在疯狂的输出。
why技术
2023/01/08
3620
IT真的是万能的吗?
朋友最近郁闷了,作为企业信息化主管的他最近经常听到的一句话就是:IT是万能的,不能拒绝用户的任何需求。这句话如果是普通用户私下开玩笑说说也就罢了,但现在演变成了老板在会议场合不止一次这么说,那就让人匪夷所思了。
SAP梦心
2018/06/05
1.5K8
IT真的是万能的吗?
Mac和Xcode常用的快捷键
Mac电脑一般都不怎么用鼠标,因此除了触摸屏的各种双指、三指甚至四指的操作之外,快捷键的使用可以带来非常大的便利,本文则主要收集整理了自己在Mac常规和Xcode开发过程中常用的一些快捷键。 一、Mac上常用的快捷键 Window用习惯了的用户会经常用到系统键和Ctrl键来进行快捷键的操作,Mac上的Command则一般与Window上的系统键和Ctrl键的功能相当。 Command + Tab: 应用程序之间的切换 Command + Option:同一应用程序不同窗口切换 Command + H:隐藏窗
mukekeheart
2018/03/01
2.6K0
Mac快捷键
[官方网址](https://support.apple.com/zh-cn/HT201236)
三产
2021/01/13
1.8K0
mac快捷键
一切开始前,我们先来认识一下苹果 Mac 键盘上几个陌生的按键,比如 ⌘ (Command / Cmd)、⌥ (Option)、⌃ (control)、⇧ (shift)等等。
崔笑颜
2020/10/09
2.3K0
超详细mac新手教程_mac电脑新手入门教程
无论轻薄办公本、还是赶超台式性能的游戏本,关注#笔记本攻略#栏目,解决笔记本电脑从选购到使用的各种问题。
全栈程序员站长
2022/09/27
1.6K0
超详细mac新手教程_mac电脑新手入门教程
idea mac 快捷键重置(mac重启快捷键是什么)
⌘ -> command ⇧ -> shift ⌥ -> option ⬆ -> 上箭头 ⬇ -> 下箭头 ⌃ -> Control
全栈程序员站长
2022/07/28
1.1K0
【这些快捷键,你会用么?】再也不用担心有人突然进屋了,[偷乐],赶紧收转~!!!
直接回到桌面!windows+D 收起所有窗口,效果同上:windows+M 直接锁屏: Windows+L 不用担心离开时别人动自己电脑 浏览器中直接关闭当前页面:Ctrl+W 浏览器中恢复刚才关闭的页面:Ctrl+Shift+T 万能的复制粘贴:Ctrl+C/V 图片大小不清楚,放大镜功能出现:windows+ ++++++ 撤销键:恢复操作前效果Ctrl+Z 直接打开资源管理器  就是点我的电脑 或者计算机的效果:
再见孙悟空_
2023/02/10
1610
【这些快捷键,你会用么?】再也不用担心有人突然进屋了,[偷乐],赶紧收转~!!!
Textmate使用手册「建议收藏」Textmate使用手册
cmd + option + L 显示行号 cmd + F 页面搜索文字 cmd + shift + F 项目搜索文字 cmd + G 下一个搜索文字 cmd + shift + G 上一个搜索文字 cmd + option + F 替换一个 cmd + ctrl + F 全部替换 cmd + S 保存 cmd + option + S 全部保存 cmd + shift + S 另存为。。。。 cmd + shift + -> 选中光标右面的内容 cmd + shift + <- 选中光标左面的内容 cmd + shift + L 选取一行信息 cmd + L 定位到某一行 cmd + option + -> textmate项目中右面的标签 cmd + option + <- textmate项目中左面的标签 cmd + 数字 选择某个标签 cmd + -> 光标回到行尾 cmd + <- 光标回到行首 cmd + ^ 光标回到页首 cmd + 下箭头 光标回到页尾 cmd + / 注释一行 cmd + z 返回前一个内容 cmd + ] 增加缩进 cmd + [ 减少缩进 cmd + T 打开项目下的文件 cmd + O 打开项目 cmd + N 新建文件 cmd + W 关闭标签 cmd + X 剪切 cmd + C 复制 cmd + V 粘帖 cmd + M 最小法 cmd + F2 标记 cmd + shift + z 返回后一个内容 cmd + option + [ 格式化代码 cmd + shift + T 当前文件中所有方法的 cmd + shift + W 关闭项目 cmd + option + L 显示行号 cmd + alt + [ 代码格式化 cmd + shift + t 当前文件中所有的方法导航
全栈程序员站长
2022/09/14
2K0
mac goLand快捷键
  macos先按Command+`,` 在自定义快捷(keymap)里搜索 Variable (在Refactor->Extract下面)
用户7798898
2020/09/27
1.5K0
Mac常用快捷键
Fn+delete 相当于windows下的delete,删除光标后面的内容 control+space 快速搜索 command+W 关闭当前窗口 command+Q 完全退出当前应用程序 command+control+F 全屏 command+control+R 开始录制屏幕或者截屏 command+E 推出 command+delete 将文件放入Trash command+R 刷新页面 ---- 触摸板 双指在触摸板滑动,类似于鼠标滚轮的效果 双指放大/缩小页面,跟手机上的放大/缩小图
青木
2018/05/28
7590
Mac 键盘快捷键
要使用键盘快捷键,请按住一个或多个修饰键,然后按快捷键的最后一个键。例如,要使用 Command-C(拷贝),请按住 Command 键并按 C 键,然后同时松开这两个键。Mac 菜单和键盘通常对某些按键使用符号,其中包括以下修饰键:
云深无际
2021/04/14
2.9K0
Mac 键盘快捷键
IDEA Mac 快捷键
⌘ -> command ⇧ -> shift ⌥ -> option ⬆ -> 上箭头 ⬇ -> 下箭头 ⌃ -> Control
botkenni
2019/09/12
2.7K0
Mac快捷键整理
mac自带截图快捷键,支持全屏截图和自定义截图,而且支持直接保存到文件或者复制到剪贴板.
呼延十
2019/12/11
5630
Mac常用快捷键
按键关系 WindowsMac win键花键(CMD) ctrl键Ctrl Alt 键Option shift 键shift 截屏 保存截图到剪切版 全屏捕捉Ctrl + Command + Shift + 3 屏幕部分画面Ctrl + Command + Shift + 4 保存截图到桌面 全屏捕捉Command + Shift + 3 屏幕部分画面Command + Shift + 4 Finder Finder 隐藏 FinderCommand + h 隐藏其它程序Command + Op
码客说
2019/10/22
6130
Mac常用快捷键
快捷键如下: 注:由于版本原因有可能快捷键会有不同。
前端黑板报
2018/01/29
7840
Mac常用快捷键
你能分清比例和比率吗?
比例和比率,乍一看上去,好像这两个指标没啥区别,都是用来表示比的,但实际上两者不止概念有些差别,应用场景也不太一样。
张俊红
2019/07/30
7.9K0
你能分清比例和比率吗?
点击加载更多

相似问题

有人能帮我解释一下这些方法吗?

14

有人能向新手解释一下云的功能吗?

10

我是prolog新手,有人能帮我做这个练习吗?

13

有人能向新手解释一下这个jquery是如何创建图片库的吗?

30

我是JavaScript的新手。有人能向我解释一下这个语法是干什么的吗?()()

43
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档