3D空间:沿着物体朝向的方向,使用鼠标指针进行跟踪。

4
给定相机面向的三维向量和三维空间中一个物体的方向/定向向量,如何计算鼠标指针在屏幕上必须沿着二维斜率移动,以便在视觉上沿着所述物体的方向移动?
基本上,我想能够单击箭头并通过拖动使其来回移动,但仅当鼠标指针(大致)沿着箭头的长度移动,即沿着它指向的方向移动。
谢谢
2个回答

1

1
这是一个简单的例子,希望能够澄清一些事情。1)http://screencast.com/t/Vl7R1hnhZTY 2)http://screencast.com/t/wq8x9fwnJ - user1070447
基本上我想问的是,如何在三维空间中获取物体在屏幕上的二维坐标。 - user1070447
@user1070447,所以基本上是在3D中进行对象的命中测试?请查看我链接到的先前的问题。那里有几个答案可能会有所帮助:https://dev59.com/IGoy5IYBdhLWcg3wUcZL#8758027 - Dr. Andrew Burnett-Thompson

0

这在一定程度上取决于您使用的转换方式,将3D真实世界坐标转换为2D屏幕坐标,例如透视、等轴测等。通常情况下,您会有一个前向(3D->2D)和后向(2D->3D)的转换,其中后向转换会丢失信息。(即,前向时每个3D点将映射到唯一的2D点,但从该点返回可能不会产生相同的3D点)。您可以经常将鼠标点投影到对象上以获取缺失的维度。

对于鼠标拖动,通常需要用户指定操作(在投影平面上平移、放大或缩小,或围绕锚点旋转)。您的输入是拖动开始和结束时的鼠标坐标,您将其转换为您的3D坐标系统以获取两个3D坐标,这将为您提供拖动/平移等的dx、dy、dz。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接