问题标签 [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.
c++ - 没有在opengl中绘制的顶点
我一直无法使用着色器绘制一个简单的顶点指定(类似盒子)的茶壶模型,并带有一些用于平移和旋转的输入。我一遍又一遍地检查了我的 gl 代码和矩阵(-z 上的对象位置、原点处的相机等),但不明白为什么我仍然只是得到一个空白屏幕。为了保持代码简短,我刚刚为我的模型的基本立方体输入了代码(一旦我至少知道我会没事的)。
}
顶点着色器
片段着色器
3d - Ogre/Mogre:相机两点透视
我正在显示一个包含一些立方体的场景。相机使用透视。一切都很好,但我希望垂直线是平行的(两点透视:http ://en.wikipedia.org/wiki/Perspective_(graphical)#Two-point_perspective )。
从正面查看立方体时:
我想要的是:
我得到的(夸张的):
我试过摆弄相机的 FOV,但无济于事。
到目前为止我的尝试:
c# - 透视投影
几天前,我决定开始 3D 编程并遇到透视投影。我使用以下代码来获取矩阵:
我对相机使用以下代码:
但是,我不知道如何获得模型或世界矩阵,还有以前的代码有什么问题吗?
c++ - 如何在给定视图空间深度值和 ndc xy 的情况下恢复视图空间位置
我正在编写一个延迟着色器,并试图更紧密地打包我的 gbuffer。但是,给定视图空间深度,我似乎无法正确计算视图位置
计算的位置是错误的。我知道这一点,因为我仍在 gbuffer 中存储正确的位置并使用它进行测试。
input - 根据到目标的距离缩放 3D 相机平移/缩放
我正在开发一个类似 DCC 的工具,它具有 3D 视口,您可以使用鼠标四处移动,类似于 Maya、Blender 等。
我需要一些数学方面的帮助。
我试图确定两点。第一个是基于目标距离的小车速度。在小尺度上(例如,dist=10^-3),它移动得太快,而在大尺度上(例如,dist=10^6),它移动得太慢。我想要一个平坦的“相机速度”输入,可以整体缩放效果,但在所有比例下,相机都应该感觉相同。如果我在 0.1 或 1000 个单位之外,这无关紧要,对于给定的鼠标增量,我应该感觉我正在以相同的速度接近目标。
另一个是相机平移,同样基于相机距离。实际上,我希望相机目标沿着与相机对齐并distance_to_target
远离单位的平面完美地跟踪鼠标光标。我不确定透视失真是否会影响这一点?
输入是:
通常我会凭经验做这样的事情,尝试不同的值,直到找到我喜欢的东西,但为此我认为是时候尝试理论了。
matlab - 姿态估计
在您的帮助下,我已经能够使用 CvPosit 来估计相机姿势(使用此链接http://www.aforgenet.com/articles/posit/)。我正在使用 MATLAB 代码。
现在我希望通过在图像坐标上投影 3D 点来验证该姿势。详细情况如下:
假设立方体的图像点和世界点是:
/li>得到的Pose为:
在我的示例中,我使用 640 作为焦距。现在从这个姿势开始,我想使用一个 3D 点并将其投影回来以获得 2D 图像点。理想情况下,我应该得到同样的观点。但我无法得到它。我在 MATLAB 中使用以下方式:
比方说
P = [28;28;28;28;1] % 4 X 1 matrix for a 3D point
我得到
x = 15251
和y = 27447
。我不知道我在这里做错了什么。请帮帮我!!
c - OpenCV中两点之间的距离
我想测量两点之间的实际距离,比如路上有辆车在我前面,我和车辆之间的距离是多少?
我是这样进行的:
1)找到透视变换以获得顶视图。
2)然后试图找到距离。
问题是我无法获得正确的顶视图。
如果有任何替代方式,请告诉。
webgl - 使用three.js我可以在近场和远场之间的场景中放置视口吗
我不确定我想要实现的目标是否可以使用 three.js
我的目标是将视口放置在截锥体内。我想创建一个对象可以出现在视口和相机之间的 3d 环境。因此,如果我移动相机,那么似乎物体在屏幕前以 3d 呈现 - 即生成的视差给人的印象是当物体移动时它被投影到屏幕外。
我只是找不到办法。我确信我在几年前用 flash 做过,我想我会尝试 three.js 和 webGL。
c - 设置透视图的坐标系?
我理解平截头体查看系统背后的概念;它的形状像金字塔,随着物体靠近中心,它们会变小,直到最终被剪掉。但是,当在 OpenGL 中使用查看投影时(请注意:我不使用已弃用的功能),您可以像这样设置坐标系:
orthoExample(左、右、下、上、近、远);
这一切都很好,但是说到透视,事情变得有点奇怪。
透视示例(field_of_view_y,方面,近,远);
我该如何设置具有这样功能的坐标系?!?它不允许我指定左、右、下、上等。我知道透视只是平截头体投影的一种变体......
c - 更改 Z 坐标 (OpenGL) 时不显示对象?
在 OpenGL 中渲染时遇到问题。一切都显示得很好,直到我改变 Z 坐标,它被剪裁/看不见了!是这样吗?我是否设置了透视投影矩阵错误?我被难住了...
我的渲染代码的相关位(mat4_
函数是一个外部库,类似于他们的 GL 朋友)。
另请注意,我尝试过正反两方面的翻译。