问题标签 [3dcamera]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
835 浏览

java - JavaFX 围绕枢轴旋转相机

去年我发布了一个类似的问题,但由于它不是非常具有描述性并且总体上是一团糟,我决定完全重写它。

我正在用 JavaFX 制作一个简单的 3D 编辑器,它的相机运动类似于 Blender 或几乎任何其他的。我添加了围绕 x 轴的旋转,然后使用三角函数计算了其他 2 个旋转(y 和 z 轴)。x 和 y 轴的旋转都是相对于轴心点进行的,但 z 轴的旋转总是相对于屏幕/相机,而不是其轴心点。

为了更好地理解这个问题,我画出了轴的位置以及我想要它们的位置:

这是目前应用角度的方式: 当前轴

这就是我希望他们成为的样子: 我希望他们怎样

这是我用来计算角度的代码部分(尽管从我的观察来看,这似乎与我的问题无关):

为了使测试更容易,我在 Pastebin 上上传了代码。

编辑:我可以通过旋转所有东西来达到同样的效果,但是相机(这正是相机移动所做的)并使用 x 轴进行高度,但我正在寻找一个更优雅的解决方案。

0 投票
1 回答
394 浏览

point-clouds - 结构光3D扫描点云数据如何获取?

我正在尝试使用 3D 结构化照明扫描仪了解对象的 3D 重建,但我被困在一种解码相机和投影仪对应集的方法以用于重建 3D 点云的点上。3D 点云信息究竟是如何从这些对应关系中获得的信息中获取的?我想了解数学实现,而不是代码实现。

0 投票
0 回答
1157 浏览

python - 使用 python 从深度 2D 图像到 3D 点云

我使用 3D ToF 相机流式传输深度 2D 图像,其中每个像素值都是以米为单位的距离测量值。

我知道相机的以下参数:cx、cy、fx、fy、k1、k2、k3、p1、p2。

我想将深度 2D 图像转换为点云,其中每个像素都转换为具有坐标 (X, Y, Z) 的点。

我不知道使用 OpenCV 还是手动进行此 3D 投影的最简单方法是什么?

0 投票
0 回答
236 浏览

c# - 在 Unity 的近剪裁平面上放置一个立方体?

我试图将一个立方体放在确切的位置并旋转作为相机的近剪裁平面,并将其缩放为近剪裁平面的确切高度和宽度。

通过代码,我已经非常接近做到这一点,但它与实际的近剪裁平面仍有一点差距。通过研究其他试图做类似事情的人,我对规范化和世界坐标等我以前没有处理过的概念变得更加困惑。任何人都可以帮忙吗?

这是我到目前为止所拥有的:

这是一张图片:如您所见,它有点接近但不准确..

在此处输入图像描述

0 投票
0 回答
29 浏览

point-cloud-library - PCL 3D 物体识别,输出了错误的变换矩阵

我将该示例用于 3D 对象识别,使用描述符搜索对应关系,然后使用对应关系进行 3D Hough 投票,例如https://pcl.readthedocs.io/projects/tutorials/en/latest/correspondence_grouping.html#id17

问题是我得到了错误的转换矩阵作为输出,即使云彼此对齐。对于测试,我采用了模型的点云,并对其进行了剪切和提取。然后我将相同的点云(没有切割或提取任何东西)用作场景,所以本质上两个云之间的平移应该是 0 ?但事实并非如此,对于不同的迭代,即使点云完美对齐,我也会得到完全不同的矩阵。

以下是我使用的参数:

而且我还附加了两个具有两个不同结果的测试示例。即使场景和对象在两种情况下都相同,生成的翻译矩阵也有很大不同。

我的问题是,什么可能导致这个结果?有没有人遇到过类似的事情?这是我得到的结果:

云对 1
云对 1

矩阵 1
矩阵 1

云对 2
云对 2

矩阵 2
矩阵 2