问题标签 [perspectivecamera]

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 回答
343 浏览

opengl - OpenGL自定义渲染管线:透视矩阵

我正在尝试在 LWJGL 中使用我自己的矩阵显示一个简单的四边形。我已经环顾了一段时间,发现了一些透视矩阵实现,尤其是这两个:

和:

正如预期的那样,这两者都提供了相同的效果(从这里这里得到它们, 分别)。问题在于我理解如何将它乘以模型视图矩阵,然后是一个顶点,然后将每个 x、y 和 z 值除以其 w 值给出屏幕坐标。更具体地说,如果我将其中任何一个乘以模型视图矩阵,然后乘以一个顶点 (10, 10, 0, 1),它就会得到 aw=0。这本身就是一个很大的打击。我得出结论要么矩阵是错误的,要么我完全错过了一些东西。在我的实际测试程序中,即使相机位置在 (0,0,0) 并且没有旋转,顶点也不会出现在屏幕上。我什至尝试了许多不同的 z 值,正的和负的,看看它是否只是一个剪裁平面。我在这里错过了什么吗?

编辑:经过大量检查后,我缩小了我面临的问题。最大的问题是 z 轴似乎没有重新映射到我指定的范围(n 到 f)。当我沿 z 轴平移任何对象时,它只会放大或缩小一点,然后在超出范围 [-1, 1] 时弹出。我想这也让我更加困惑。我将我的远平面设置为 100,将我的近平面设置为 0.1,它的行为就像其他任何东西一样。

0 投票
0 回答
73 浏览

2d - 从固定相机拍摄的照片中确定物品的 2D 位置

我有一张照片,在一个场景中显示了两个项目 a 和 b。我知道到 a 的距离(如果这有帮助的话)。相机处于固定位置,其高度、焦距和方向角是已知的。假设地面是完全平坦的。

关于 b 的所有信息都是它在照片上的 x,y 坐标。

我想找到项目 b 的坐标并将其显示在 2d 地图上。

相机视图 http://www.spannerworx.com/images/perspective.jpg

侧面简介 http://www.spannerworx.com/images/perspective2.jpg

我想要达到的目标 http://www.spannerworx.com/images/perspective3.jpg

这可能吗,如果可以,请告诉我我需要什么计算才能实现这一目标?

0 投票
1 回答
863 浏览

.net - WPF,3d 相机不会正确旋转

编辑

哦,还有一件事,longtitute 效果很好,但是当 lattitute 达到大约 1.57 时,它翻转了......

在此处输入图像描述

编辑作品!

哦,只有转动一圈才开始增加转速。猜测必须在每次旋转后重置 tempMouse。

0 投票
2 回答
23861 浏览

javascript - three.js 在平面上旋转相机

我的应用程序中有一个摄像头:

功能中的那些代码render必须在我按下按键时旋转相机:

相机旋转,但不是我需要的方式。我希望相机像飞机上的 FPS(第一人称射击游戏)一样旋转。查看图片以了解我想要的内容......
我正在尝试使用但无法理解如何工作,因为功能就像魅力一样工作,sin(1)并按照她所看到的方向移动相机。PS 这是一个文档,也许它会有所帮助。 为了处理键盘事件,我使用KeyboardJS 这是一个函数: cos(1)rotateOnAxistranslate

three.js

degInRad

JSFiddle上的链接

相机旋转

O- 相机的位置
O-O1- 当前的相机方向
R1- 当前的旋转方向
R- 我想要的方向
对不起图片

0 投票
2 回答
3023 浏览

javascript - 在three.js中平行于投影平面移动对象

我想用鼠标沿着与投影平面平行的平面移动对象。这意味着在移动过程中,任何拾取的对象与相机投影平面(不是相机位置)之间的距离必须保持不变。有人问了一个类似的问题:Mouse / Canvas X, Y to Three.js World X, Y, Z,但与那里不同的是,我需要一个解决方案,不仅适用于 z=0 的平面,还适用于任意相机角度和相机/物体位置. 它还必须适用于正交投影。现在我创造了一个小提琴

http://jsfiddle.net/nmrNR/

mousemove 事件处理程序中的代码:

圆圈跟随鼠标位置,但它与相机位置的距离是恒定的,因此它实际上是在执行球面运动。当切换到正交相机(点击)时,它也不会像预期的那样跟随鼠标位置。

0 投票
1 回答
204 浏览

java - 使用 AffineTransform 从四边形转换为四边形?

Java 是否AffineTransform不足以支持从一个凸四边形到另一个凸四边形的转换?

这是真的吗,凸四边形之间的变换完全被透视变换覆盖了?

透视矩阵有8个元素,而Java的有6个。这是否意味着这里的系数不足?

这意味着我不能在用户拖动四边形角并相应转换四边形内容的地方编写 GUI 代码?

怎么会这样?

0 投票
0 回答
202 浏览

java - Java中复杂形状(圆形,贝塞尔曲线,控件)的完整变换(仿射+透视)?

哪个 Java 库支持 9x9 矩阵的全方位转换,即最后一行也起作用?

Swing才不是。

Piccolo2D才不是。

为什么他们如此讨厌再处理 2 个 double 值?

JavaFX支持透视变换作为效果。这会正常工作吗?

更新

我对矢量图形感兴趣,以便可以轻松转换复杂的形状和 GUI 控件,包括自定义控件。

0 投票
1 回答
493 浏览

graphics - 如何将透视变换应用于贝塞尔曲线?

我应该只对贝塞尔控制点应用变换吗?这会是正确的吗?

还是我应该添加一些更正?

变换是 2D->2D 矩阵

0 投票
0 回答
270 浏览

rotation - camera rotation issue in three.js

I am using three.js to create a tube geometry and have a feature where the camera rotates to particular angle with the click of a radio button. To rotate the camera, I tried using below code:

It doesn't have any effect. but when i use the same code by first setting auto rotation update to false, it works

The issue with setting rotationAutoUpdate to false is that once the rotation is set, if i try to rotate the tube with mouse event, it messes up the whole rotation functionality. And if i try to set it to true again, the above required rotation effect is not visible.

Please suggest, if I am doing something wrong or if i am missing out something? Thanks

0 投票
2 回答
3830 浏览

matlab - Matlab中的透视变换

让我们说:

如何在对象上找到计算透视变换,以便它转换为我的测试坐标。opencv 中有内置函数可以做到这一点,但是,我真的需要一个简单的例子来消除我的困惑。谢谢。