问题标签 [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 回答
4424 浏览

javascript - 使用 Three.js 中的箭头键围绕对象旋转相机

假设我有一个大立方体,每个面上都有一些对象(有点像谷歌地图立方体http://www.playmapscube.com/)。我希望能够使用箭头键围绕立方体旋转相机,而不是单独旋转所有对象。

所以左箭头会将相机向左移动,因此立方体将向右转,依此类推。

我看了一遍,没有发现任何关于用键盘做的事情。

0 投票
1 回答
1350 浏览

android - libgdx 关于位置单位的混淆

我前一天开始研究 libgdx。我想创建一个三角形,其点应该是两个角应该在左下角和右下角,一个点应该在屏幕的顶部中间。我正在使用透视相机。我的代码示例是:

我读到 OpenGL 是无单位的,所以我决定有 45 个单位宽并相应地设置它的高度。当我执行应用程序时,三角形与我预期的不一样。它小于屏幕的宽度和高度。我之前没有 3D 方面的经验。请指导我哪里错了?这是屏幕截图:

在此处输入图像描述

0 投票
1 回答
4798 浏览

opengl - 透视投影矩阵:如何仅从水平 FoV 和纵横比计算垂直 FoV?

考虑以下透视投影矩阵,它仅在调用者给出的垂直视野和纵横比下工作(非常好):

如何扩展此函数的主体以支持这一点:调用者现在可以指定垂直(fovY)或水平(fovX)视野,但不能同时指定纵横比。这个函数如何能够仅根据给定的纵横比和 fovX 计算缺失的 fovY?

0 投票
1 回答
2108 浏览

math - OpenGL FPS相机相对于lookAt目标的移动

我在 OpenGL 中有一个摄像头。在添加 FPS 控制器之前,我对它没有任何问题。问题是基本的 FPS 行为还可以。相机向前、向后、向左和向右移动+朝鼠标输入提供的方向旋转。当相机移动到目标位置的两侧或后面时,问题就开始了。在这种情况下,相机局部向前、向后、向左、向右方向不会根据其当前的前视进行更新,但与它就在目标前面一样保持不变。示例:如果目标对象位置在 (0,0,0) 并且相机位置在 (-50 ,0,0) (在目标的左侧)并且相机正在看着目标,然后来回移动它我必须使用左右移动键,而后退/前进键将相机侧向移动。这是我用来计算相机位置的代码,

然后在渲染循环中设置相机的变换:

lookAt() 方法来自GLM数学库。我很确定我必须将一些向量(眼睛、中心等)与旋转矩阵相乘,但我不确定哪些向量。我试图将 _viewMatrix 乘以 _rotationMatrix 但它会造成混乱。FPS 摄像机位置的代码和旋转计算取自这里。但对于实际渲染,我使用可编程管道。

更新: 我通过添加一个单独的方法解决了这个问题,该方法不使用lookAt计算相机矩阵,而是使用通常和基本的方法:

它解决了这个问题,但我仍然想知道如何使用我在此处介绍的 lookAt() 方法使其工作。

0 投票
1 回答
3820 浏览

android - LibGDX - 使用 OpenGL ES 2.0 的透视相机

我还没有找到任何在 LibGDX(OpenGL ES 2.0)中使用透视相机的例子。如何启动它并在渲染方法中使用它?任何帮助将不胜感激!

0 投票
2 回答
1624 浏览

wpf - PerspectiveCamera WPF 向下看

我真的对 WPF 中的透视相机感到沮丧,它会做各种奇怪的事情,而且我在互联网上可以找到的所有解决方案都不适合我。

目前我有这个代码:

所以我有一个三角形,我从下面看它......但现在我想从顶部看它所以我将相机的 Y 参数的位置更改为任何大于 0 的值,但突然间我不能看到任何东西。例如 Position ="-500 -1 300" 有效,但 Position="-500 1 300" 不再有效。我用 updirection 变量玩了很多,但我无法解决这个问题....

0 投票
1 回答
2405 浏览

three.js - 为什么正交投影在使用 Three.js 使用 CombinedCamera.js 时不能完全正常工作?

我已经浏览了CombinedCamera的实际工作示例,并且受到启发,我将combinedcamera 嵌入到我的工作中。

但是在使用透视相机时,我的应用程序运行良好:

在此处输入图像描述

但是同样的应用程序,在使用正交投影时根本不起作用,而且看起来很奇怪。

在此处输入图像描述

我的代码有什么问题?我想要对象上所有 x、y 和 z 方向的正交投影。怎么做?

0 投票
2 回答
5537 浏览

javascript - 三.js 更新相机矩阵世界

我试图让相机将一个立方体投影到一个立方体的图像中。我计算相机的内部和外部参数。我通过手动更改投影矩阵来更新相机内部矩阵。代码是:

但是对于某些原因,当我想更新其外部参数时,通过更新 camera.matrixWorld 或 camera.matrixWorldInverse 没有任何反应。我使用这个代码:

如果我更新两者仍然没有任何反应。我究竟做错了什么?如何更新相机的外部参数?

0 投票
1 回答
1867 浏览

image-processing - 检索从扭曲图像中获取的像素的原始坐标

我从sourceImage中提取了四个角:

这四个角像这样扭曲到destinationImage

现在我的问题是:

我有一个取自destinationImage的点p(x,y)如何在原始sourceImage 中检索该点的坐标

换句话说,我想使用 warpPerspectiveMatrix 来做 getPerspectiveTransform 的相反工作

0 投票
1 回答
696 浏览

c++ - 3D 头部的透视投影和 Z 缓冲以形成人脸图像

输入: 53490 个 3D 点以及头部的每个点 (xyz) 和颜色 (rgb)

输出:从特定位置/方向观看的 2D 人脸图像

平台: Matlab C/C++

经过研究,我发现了要执行的步骤

我在 Matlab 中实现了上述 3 个步骤。但执行需要 8 分钟。2D 渲染是我项目的一部分;我将在 5000 次后调用 2D 渲染部分。我希望执行时间低于 1 秒。

大部分 (99.9%) 时间用于 z 缓冲。实施是在 wiki 链接之后完成的。
谁能帮我减少在 Matlab 中的时间或建议其他平台?任何有助于理解上述步骤的教程/演示参考资料都会有所帮助。

提前致谢