问题标签 [perspective]

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

opengl - OpenGL获取透视像素数据

我正在处理包含各种对象的大型字段的 3D 渲染。我的程序从一个高点透视这个领域。

从上面看,我需要访问(仅)字段中一个矩形的像素数据。我在该字段中有这个矩形的坐标,并希望: (a) 找到与我想要的矩形相对应的像素。(b)(理想情况下)将相应的像素矩阵写入文件。

有谁知道这样做的简单方法?

0 投票
4 回答
17685 浏览

java - 如何在 Eclipse 的多个选项卡中打开多个控制台?

我正在为 Java 应用程序使用 Eclipse 版本:Helios Release。我需要运行同一应用程序的多个实例,并希望轻松查看多个控制台。

可以做到吗?如果是,如何?

0 投票
1 回答
4545 浏览

3d - 透视投影 - 我如何投影“相机”后面的点?

我正在用 Java 编写自己的软件光栅化器,但遇到了一些麻烦......请看一下示例图像:

图片

此示例只是在平面上绘制简单的方形网格。一切正常,直到我将相机移动得足够近以使某些点移动到它后面。之后,它们不再被正确投影,如​​您所见(垂直线 - 应该在相机后面的点被投影在屏幕顶部)。

我的变换矩阵和向量与 DirectX 使用的相同(PerspectiveFovLH 用于投影,LookAtLH 用于相机)。

我正在使用以下转换方法来投影 3D 点:

  1. 创建要转换的 3D 矢量。
  2. 向量乘以 ViewProjection 矩阵。
  3. 之后,使用以下方法将点转换为屏幕:

    /li>

正如我之前所说,它工作正常,直到点移动到相机后面。事实是,我可以确定该点何时位于相机后面(通过在最终变换后测试它的 Z 值),但由于我正在绘制线条和其他基于线条的对象,所以我不能跳过那个点。

然后我尝试根据MSDN 上的 Direct3D 转换管道文章设置我的转换管道。

不幸的是,我也没有任何运气(相同的结果),所以任何帮助将不胜感激,因为我有点坚持这个。

谢谢你。

最好的问候, 亚历克斯

0 投票
2 回答
1630 浏览

opengl - OpenGL中的扑克牌“3D”旋转 - 透视?

(Mac OS X、Cocoa、C/C++、OpenGL,在数学上有些挑战。)

Project 是一款实时 (30fps) 扑克游戏,具有 2D 视图。使用 glOrtho 为正交投影设置 OpenGL 视图;相机总是直视卡片/桌子。迄今为止,它本质上是一个 2D 图像合成引擎。

我的扑克牌是预先构建的纹理(带有 alpha),因此渲染:

这很好用,并提供 1:1 像素映射,以获得高图像质量。

问题:我如何(便宜、快速地)使用 OpenGL“翻转”或扭曲我的卡片?旋转部分并不难,但我在透视方面遇到了麻烦。

具体来说,我想到了 iPhone 应用程序(例如音乐)中 UIViews 的水平翻转动作。UIView 将通过水平收缩来翻转,呈现出透视的外观(视图的“后”坐标将垂直收缩。)

感谢您提供任何帮助或提示。

0 投票
1 回答
3755 浏览

php - 使用 GD 进行透视变换

如何 使用 PHP GD 库对图像应用透视变换?

我不想使用别人制作的功能 我想了解发生了什么

0 投票
1 回答
984 浏览

opencv - 如何识别图像中的真实正方形

我正在使用 OpenCV 进行图像中的正方形检测。squares.c 示例非常有帮助,但我的问题是它几乎可以识别所有具有 4 个接近 90 度角的东西。

然而,我的目标是仅从视频源中识别图像中的真实方块。这意味着对象本身有 4 个长度相同的边和 4 个 90 度角。起初这听起来很容易,但由于图像中的物体可能会倾斜,因此角度可能会在 45 到 135 度之间变化,并且边缘的长度也不同。如果我检查这些属性,尽管我仍然可以识别不是正方形的矩形。

几天来,我一直在想一个好的解决方案,只识别真正的正方形,但我想出的一切仍然有缺陷。我想知道你们中是否有人知道角的角度和边长之间的确切关系是什么。到目前为止,根据我的猜测,我已经走了很远,但有时会弹出我不想识别的随机方块。我真的认为有一些数学关系,但我真的无法在透视图中找到正方形的公式。

任何帮助将不胜感激!

0 投票
2 回答
10203 浏览

3d - 使用透视相机矩阵将 3D 点投影到 2D 屏幕空间

我正在尝试使用透视相机矩阵将一系列 3D 点投影到屏幕上。我没有世界空间(或认为它是单位矩阵)并且我的相机没有相机空间(或认为它是单位矩阵),我的对象空间确实有一个 4x4 矩阵。

我正在获取对象矩阵并将其乘以相机透视矩阵,使用以下方法生成:

然后我将我的观点 [x, y, z, 1] 乘以透视矩阵和对象矩阵的乘积。

下一部分是我感到困惑的地方,我很确定我需要在 -1 和 1 或 0 和 1 的范围内获得这些点,并且在拥有第一组值的情况下,然后我将这些点分别乘以屏幕坐标 x 和 y 值的屏幕宽度和高度,或者将这些值乘以屏幕高度/2 和宽度/2,并将相同的值添加到各个点。

任何一步一步地告诉我如何实现这一点,或者我可能会在哪里出错,将不胜感激!:D

最好的问候大家!

PS在单位/平移矩阵的示例中,我的模型中的矩阵格式是:

0 投票
1 回答
557 浏览

3d - 如果世界矩阵和相机矩阵都是单位矩阵,可以省略吗?

这是一个关于世界和相机空间矩阵的需求的基本问题,当它们都是恒等矩阵时。计算 2D 投影时可以省略它们吗?我很确定他们可以,尽管当我尝试投影一些 3D 点同时忽略它们时,我似乎得到了奇怪的结果,我问,因为这可能与另一个问题直接相关:

使用透视相机矩阵将 3D 点投影到 2D 屏幕空间

0 投票
2 回答
813 浏览

opengl - OpenGL盒子全屏

我想使用OpenGL全屏绘制一个盒子的内部(即它应该完全填满视口)。盒子应该有透视。

我想我必须根据视口大小更改盒子的尺寸,但我不知道该怎么做。

我正在尝试实现此图像中的房间之类的东西

我的问题是:我怎样才能做到这一点?

0 投票
1 回答
818 浏览

qt - 使用 QT 构建动态小部件透视图的最佳方法?

我正在为遥测项目构建一个与 Eclipse IDE 功能相似的界面。我将展示许多不同的小部件,它们中的每一个都需要可调整大小/可移动/popped_out/popped_in/hideable/“全屏”/等等……就像 Eclipse IDE 的“透视图”。

使用 QT 的最佳方法是什么?使用哪些类?使用 QT 的 QMainWindow / QDockWidgets / LayoutManager 或者因为任何小部件都可以移动到任何地方,最好通过手动编码来处理所有事情?