- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我问这个问题是我之前 question 的精简版.现在我有一张脸看着屏幕上的某个位置,还有双眼的注视坐标(俯仰和偏航)。让我们说
左眼 = [-0.06222888 -0.06577308]
右眼 = [-0.04176027 -0.44416167]
我想确定这个人可能正在看的屏幕坐标?这可能吗?请帮忙!
最佳答案
你需要的是:
每只眼睛的 3D 位置和方向
你声称你明白了,但俯仰和偏航只是欧拉角,你还需要一些引用系和变换顺序才能将它们转换回 3D vector 。最好以 vector 形式留下方向(我怀疑你首先得到了)。除了方向,您还需要在同一坐标系中的 3D 位置...
投影平面的 3D 定义
因此您至少需要起始位置和 2 个定义平面矩形的基 vector 。更好的是使用 4x4 homogenous transform matrix为此,因为这允许非常容易地从本地坐标系转换到本地坐标系...
所以我是这样看的:
所以现在只需要找到射线和平面之间的交点
P(s) = R0 + s*R
P(t) = L0 + t*L
P(u,v) = P0 + u*U +v*V
解决这个系统将导致获取 u,v
这也是您正在查看的平面内的 2D 坐标。当然,由于不准确,这将无法通过代数求解。因此,最好将光线转换为平面局部坐标,并使用 w=0.0
计算每条光线上的点(使其成为具有单个未知数的简单线性方程)并计算左眼之间的平均位置另一只用于右眼(以防它们没有完全对齐)。
所以如果 R0',R',L0',L'
是 UVW 局部坐标中的转换值,则:
R0z' + s*Rz' = 0.0
s = -R0z'/Rz'
// so...
R1 = R0' - R'*R0z'/Rz'
L1 = L0' - L'*L0z'/Lz'
P = 0.5 * (R1 + L1)
P
是您在 UVW 坐标中查看的点...
转换很容易根据您的符号完成,您可以将表示平面的逆矩阵或直接矩阵乘以 (R,1),(L,1),(R0,0)(L0,0)
。第四个坐标 (0,1
) 只是告诉您是在变换 vector 还是点。
如果不了解更多关于您的坐标系、数据准确性以及您获得的已知和未知的信息,很难比这更具体。
如果您的平面是相机投影平面,那么 U,V
是从相机拍摄的图像的 x 轴和 y 轴,W 垂直于它(方向只是符号的问题)。
当您使用使用透视投影的相机输入时,我希望您的位置和 vector 已针对它进行了校正。
关于python - 将 Eye Gaze(俯仰和偏航)转换为屏幕坐标(人在看哪里?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52940347/
我必须在 Android 中从陀螺仪的智能手机输出中计算偏航、滚转、俯仰,我编写了以下代码: if(event.sensor.getType()==Sensor.TYPE_GYROSCOPE){
四元数有利于它们之间的内插旋转。到目前为止,一切都很好。 如果我有一个网络游戏,将旋转量转换为vector3f就足够了还是应该使用四元数? 为了使游戏更流畅,我可能必须在上次发送的旋转和当前旋转之间进
我正在使用Reach RS +设备来捕获GPS位置数据以及IMU数据(侧倾,俯仰和偏航);请参阅制造商website上的“ Point Collection”图像。 我正在尝试确定底点的GPS坐标(接
如果可能的话,我想知道如何获得确定 Android 设备位置的航向、俯仰和滚动角度。不要考虑设备相关的细节。引用有用的文档也很有值(value)。谢谢! 最佳答案 我手头没有精确的解决方案,但全口径解
我在 WorldWind 中有一个 3D 飞机模型,这是一个在 OpenGL Java 上运行的 3D 地球模型。我使用数据库中的数据(包括纬度、经度和替代度)更新此模型的位置。如何从当前位置获取航向
我想在没有红外感应条的情况下使用 wiimote 来控制光标。我为此使用了俯仰和滚动值。问题是俯仰接近0度的时候,横滚很不稳定,而俯仰接近90度的时候,本身就很不稳定,但是横滚还好。我非常频繁地轮询
我正在为我的学校做一个编程主题的项目。我在 Swift 的 Xcode 中工作。我想制作一个使用陀螺仪的应用程序。我不知道,但由于 Xcode 中的一些我不知道如何修复的错误,它不会在我的 iPhon
我正在尝试使用 Vision 框架获取图像中人脸的俯仰/偏航/滚动,但始终为所有值获取 0。图像应该很容易处理(主要是前瞻性肖像)。 我通过对它们使用 Amazon Rekognition 成功获得了
我有一个基于提供的纬度/经度坐标、缩放、偏航和俯仰的谷歌地图和街景。我需要调用一个 javascript 来为每个值更新一个隐藏字段,每当任何细节从它们的默认值发生变化或当一个按钮被点击时。 因此,无
我的观众没有收到来自被跟随球员的任何投球轮换。 我正尝试与 ShooterGame 项目合作,对 FPS 旁观者功能进行概念验证。我在 GameMode 中添加了将 VictimPlayer 切换到旁
我正在尝试使用陀螺仪制作一个简单的应用程序,其中角色会根据 iPad 1 的旋转进行移动。 我的代码无法正常工作,因此我测试了原始、俯仰、偏航的值,无论我如何移动设备,它们实际上都保持为零。我确定 i
用于从 cvPOSIT 生成的 3*3 旋转矩阵计算偏航(z 轴)、横滚(x 轴)和俯仰(y 轴)的算法是什么。 最佳答案 使用cv::RQDecomp3x3() .“它可选择返回三个旋转矩阵,每个轴
我已经研究了一段时间,现在我必须决定走哪条路。 矿山要求:需要知道设备相对于真实航向(地理北极,而非磁极)的方向。为此,我必须使用指南针,现在我必须决定其他的东西,加速度计或陀螺仪。 因为这对我来说是
我的问题 我想用 3x3 旋转矩阵旋转一个 mayavi.mlab.imshow 对象。我能找到的唯一旋转此对象的方法是将对象的 actor.orientation 设置为 [pitch, roll,
我是一名优秀的程序员,十分优秀!