问题标签 [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 投票
2 回答
475 浏览

opengl - 如何偏移一个openGL对象,同时仍然保持投影,就像我直视它一样?

我的大脑已经融化,因为我一直在这个问题上花费。

我需要在 x 和 y 方向上将一个立方体从原点偏移两个,但是保持一点透视,就像我直视它一样。

每次我翻译立方体时,它就像投影来自原点一样。

我不知道该怎么做。

0 投票
5 回答
11719 浏览

c# - 透视图像失真

我目前正在处理的应用程序需要透视图像失真功能。基本上我想做的是允许用户将图像加载到应用程序中,并根据他们可以指定的 4 个角点调整其透视图属性。

我看了一下ImageMagic。它具有一些带有透视调整的失真功能,但速度非常慢,并且某些输入给出了不正确的输出。

你们中的任何人都使用过任何其他库或算法。我正在用 C# 编码。

任何指针将不胜感激。

谢谢

0 投票
1 回答
2812 浏览

php - imagick::distortimage

我要设置图像透视。我有带有空白多边形的笔记本电脑的图像在此处输入图像描述

另一个图像需要拉到空白区域。像这样: 在此处输入图像描述

所以,我有这个动态失真的代码:

如何设置 $controlPoints 数组?我不能只为图像的每个角设置 4 个坐标吗?不幸的是, imageick::distort image 的文档很差。

通过使用另一种失真方法解决问题:

0 投票
2 回答
8624 浏览

c# - 平铺透视图像转换

在寻找可用于我计划创建的新应用程序的良好图像处理库。我将使用 C#.NET (VS 2008)

我的应用程序需要执行以下操作:

  1. 启动时加载图像并显示在图片框中
  2. 然后我应该能够在图片框中的任何位置选择四个点(TopLeft、TopRight、BottomLeft、BottomRight)。
  3. 然后我需要使用 4 个源点和目标点将源图像转换为正确的透视图。

不仅如此,我还需要最终输出图像具有指定的大小。我希望应用程序能够使用相同的透视图并返回我指定的指定矩形大小(不是 4 点大小)的图像。我希望你明白我的意思。需要对源图像进行平铺和转换,以生成完全适合指定区域的输出。

我尝试了一些库,如 Aforge.NET、ImageMagick、EMGU 等。有些很慢。有些只能产生小尺寸的透视图像。有些给出内存错误。找不到合适的解决方案。

0 投票
5 回答
3820 浏览

wpf - 将 3D 矩形映射到 2D 屏幕

我已经搜索过,但我就是想不通。其他问题没有帮助,或者我不明白。

问题是,我在 3D 图像中有一堆点。这些点用于一个矩形,由于透视,从 3D 相机的角度来看,它看起来不像一个矩形。任务是将矩形中的点映射到屏幕上。我见过一些被称为“四边形到四边形的转换”的方法,但其中大多数是用于将二维四边形映射到另一个四边形。但是我已经得到了现实世界中矩形的 X、Y和 Z坐标,所以我正在寻找一些更简单的方法。有谁知道这样做的任何实用算法或方法?

如果有帮助,我的 3d 相机实际上是一个带有 OpenNI 和 NITE 中间件的 Kinect 设备,我正在使用 WPF。

提前致谢。

编辑: 我还在维基百科上找到了使用角度和余弦的 3d 投影页面,但这似乎是一种困难的方法(在 3d 图像中查找角度),我不确定它是否是真正的解决方案。

0 投票
1 回答
719 浏览

c# - WP7 透视变换(3D Matrix vs PlaneProjection)

我正在看这个应用程序:http ://www.ztitch.com/index.html并且想知道他们是如何完成所有 3D 内容的……看起来他并没有使用内置的 3D 旋转(PlaneProjection) 在 Silverlight 中,但他必须在使用 3D 矩阵投影做一些事情......

具体涉及什么数学?是真正的旋转,还是应用程序只是在图片靠近屏幕边缘时将图片“倾斜”成梯形,使其看起来好像图像在球体中?

PS 我认为这不是内置 3D 旋转的主要原因是因为没有任何深度冲突——无论旋转什么角度,后面的图像总是在后面……

0 投票
1 回答
1058 浏览

math - 使用透视投影进行表面去除的深度插值

这似乎是一个应该在网络或书籍上很容易找到答案的问题,但我对答案的追求导致我到目前为止只走入了死胡同,结果证明是死胡同。

我正在尝试通过去除隐藏表面来实时绘制 3D 线(这些线是实体对象的边缘)。

所以我有两个使用透视投影投影到 2D 点的 3D 点。对于每个点,我都计算了该点的深度。现在我想绘制连接 2 个点的线段,并且为了去除隐藏表面,我必须计算 2D 线上的每个中间 2D 点(由投影产生)相应 3D 点的深度(投影在该中间 2D 点上的 3D 点)。

我的问题是,由于在进行透视投影时深度函数不是线性的,所以我无法插入 2 个原始 3D 点的深度来计算中间点的深度。

那么如何使用与实时渲染的约束兼容的方法来计算线上每个点的深度呢?

提前感谢您的帮助。

0 投票
1 回答
3094 浏览

opengl - 3D 投影问题:透视除法后 Z 值不在 [1,-1] 中

我正在尝试在栅格化 3D 点的过程中进行简单的透视投影。这是所有矩阵和其他信息。所有矩阵都是行专业的。坐标系是右手坐标系。

相机在 [0,0,-1] 并且点在 [0,0,0] (对于矩阵运算,w=1)

模型视图矩阵(凸轮矩阵的逆,即 tx = 0;ty = 0;tz = 1):

透视矩阵:

aspect 等于 1,因为视口是方形的。远 = 100 近 = 0.1 f = 1/tan(fovDegress*M_PI/360);

结果矩阵是:

现在我将模型视图矩阵和投影矩阵应用于点向量,然后我得到一个新点 Pv = {x,y,z,w} 然后我得到归一化坐标 x' = x/w ; y' = y/w; z' = z/w; x' 和 y' 始终位于 [-1,1] 之间,只要该点位于平截头体中。但 z' 的情况并非如此。随着该点靠近相机,z' 值呈指数增长。当点位于 [0,0,0] 时,z' 值等于 -1。

现在,我需要剪掉一些线,所以我需要 z' 值介于 [1,-1] 之间。我想知道我的程序有什么问题。谢谢你。

0 投票
1 回答
830 浏览

eclipse - 如何在透视图中删除弹出菜单

我正在使用 Eclipse。我正在开发一个新的视角。我需要在这个透视图中删除一些 Eclipse 平台贡献(通过 org.eclipse.ui.popupMenus 定义)。例如,其中一些要删除的弹出菜单选项为“Debug As...”。

请帮忙。谢谢。

0 投票
1 回答
1321 浏览

jakarta-ee - Flash Builder 4.5 中的 JavaEE 透视图

众所周知,Adobe 推出了带有 Java Perspective 的 Adob​​e Flash builder 4.5。有没有办法添加 Java EE 透视图,以便轻松开发以数据为中心的应用程序。我知道我们可以在 Eclipse 中拥有一个 Flash Builder 插件,但不应该还有其他方法吗?