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

android - OpenGL 和透视图与多边形/模型大小

我已经在 Android 上的 OpenGL 中闲逛了一段时间,感觉我已经能够弄清楚很多事情了。我一直在研究《你好,Android!》这本书。和 NeHe 3D 世界教程的 Android 端口。有趣的部分是两者在实现上略有不同,因此将两者拼凑在一起很有趣。问题是,HA 教程让您构建一个旋转立方体并使用非常大的 int 值。立方体基本上是 65536x65536。缩小这些值会大大缩小立方体。然而,NeHe 端口使用小得多的浮点数。小世界的高度只有 6.0,但从相机的角度来看,它看起来像你大约 1.0-2.0 单位高。我已经疯狂地比较和对比了这两者,试图找出这是如何完成的,但我却一无所获。我可以看出 NeHe 代码在 HA 代码中没有正常的任何东西。例如,它应用 glNormal3f 函数将较大的值降低到 1,0,0,然后使用 TRIANGLE_STRIP 构建,这似乎是在短时间内抽取大量几何图形的快速方法。作为一个 OpenGL 新手,我不能确定这是否是原因,或者这只是让以后更容易绘制和应用纹理。这可能是不相关的,但是 NeHe 教程将顶点/纹理缓冲区作为 GL_FLOAT 提供,而 HA 将它们作为 GL_FIXED 提供。将后者更改为前者会导致很多丑陋的刨削。这似乎是一种在短时间内抽取大量几何图形的快速方法。作为一个 OpenGL 新手,我不能确定这是否是原因,或者这只是让以后更容易绘制和应用纹理。这可能是不相关的,但是 NeHe 教程将顶点/纹理缓冲区作为 GL_FLOAT 提供,而 HA 将它们作为 GL_FIXED 提供。将后者更改为前者会导致很多丑陋的刨削。这似乎是一种在短时间内抽取大量几何图形的快速方法。作为一个 OpenGL 新手,我不能确定这是否是原因,或者这只是让以后更容易绘制和应用纹理。这可能是不相关的,但是 NeHe 教程将顶点/纹理缓冲区作为 GL_FLOAT 提供,而 HA 将它们作为 GL_FIXED 提供。将后者更改为前者会导致很多丑陋的刨削。

我已经搞砸了视口和 translatef(这让我进入了旋转的立方体),但我似乎无法弄清楚每个人如何管理视角与其周围多边形的大小。任何人都可以对此有所了解吗?谢谢。

0 投票
2 回答
19718 浏览

javascript - 你能用 HTML5 做一个等距透视图吗?

可以用 HTML5 做等距透视<canvas>吗?它与setTransform? 还是以另一种方式存在?

例子:

类似于 Farmville 的视角。

非常感谢。

0 投票
2 回答
4000 浏览

menu - Eclipse RCP:如何配置透视菜单?

我需要完全控制透视菜单。

我已经入侵了平台以禁用 CONTEXT 菜单:

但我还需要控制 PERSPECTIVE MENU 的默认内容。有一个始终存在的选项可以访问透视列表外壳。我需要从菜单中删除该选项。

遗憾的是,透视菜单完全不受用户控制。我只需要将视角添加到菜单中,仅此而已!

谢谢。

在此处输入图像描述

0 投票
1 回答
516 浏览

silverlight - WP7:3D 透视相机深度效果

假设我有一个画布,其中一个图像位于屏幕中央。当我将图像从中心移开时,比如说到右上角,我希望它像画布是具有特定 FOV 的透视 3D 相机一样倾斜。这可以以某种方式完成吗?我在 WP7 的 Silverlight 中使用 Perspective-property,但我无法获得效果。

0 投票
2 回答
304 浏览

python - 应该如何实现对 twisted.pb 中替代凭证类型的支持?

我的项目一直在尝试使用scrypt实现凭据检查器。我们已经尝试实现我们自己的凭证和检查器对象,但是我们在让 pb 使用它们时遇到了很多麻烦。

Pb 似乎被硬编码为通过网络使用 MD5 哈希,这在我们的实现中绝对行不通;我们没有办法在服务器端以明文形式获取正确的密码,因为我们使用的是 scrypt,所以我们需要一种方法来传输密码以明文形式进行验证。我们已经尝试将twisted.cred.credentials.UsernamePassword 与我们的凭证检查器一起使用,但它似乎并没有进入服务器。(我们仍然得到 _PortalAuthChallenge 代替)

http://twistedmatrix.com/trac/ticket/4398的票证似乎表明需要 PBServerFactory 子类才能支持 pb 中的自定义凭据检查器,但到目前为止,我完全无法弄清楚要覆盖什么为了使它使用不同的 ICredentials 实现。有没有关于如何让 pb 使用不同的凭证类的示例(甚至只是文档)?

0 投票
5 回答
7130 浏览

iphone - 使用 CATransform3D 透视的折纸过渡

我正在尝试仅使用图层功能在两个 UIView 上实现一种折纸过渡。这个想法是折叠两个具有透视效果的视图。两个视图都有一个透视图,过渡由每个视图上的旋转定义,以及一个视图上的平移,这样该视图似乎附加到另一个视图。

问题是视图在过渡过程中相互重叠。我不想使用 zPosition 在视觉上避免这种重叠,我真的希望这两个视图表现得好像它们被共享的一面绑定在一起。这是过渡的代码。

任何想法,或任何其他解决方案?

过渡期间的重叠视图

为了简化问题,让我们摆脱任何透视变换。这是具有相同问题的更简单的代码:

0 投票
4 回答
7583 浏览

opengl - 计算 FOVX (openGL)

在使用 openGL 透视图时,我不太确定如何从 fovy 计算 fovx。我在不同的地方阅读了不同的东西,并且使用我发现的任何一种方法都没有得到正确的行为。那么有人可以告诉我,鉴于相机的fovy和纵横比,我如何计算相机的fovx?如果需要任何其他数据也没关系,请告诉我我需要什么。非常感谢您!

0 投票
1 回答
484 浏览

iphone - openGL ES如何获得透视图?

我正在尝试绘制一个简单的立方体,围绕 y 轴旋转 45 度。我的绘图代码如下所示:

我得到的是这样的: 在此处输入链接描述

我想要的是这样的: 在此处输入链接描述

当我取消注释 glFrustum 行时,ES1 版本没有任何变化,并且 ES2 版本中的应用程序崩溃。我是 OpenGL 的新手,所以我想我可能做错了什么,但是我如何获得透视图以使立方体看起来正确?

0 投票
1 回答
390 浏览

python - Twisted PerspectiveBroker/ServerFactory 问题

我正在尝试和twisted一起玩。我已经尝试使用适当的工厂创建服务器和客户端。这是一个很棒的框架,但只能发送字符串:(我想发送一些列表或数组对象作为开始,也许以后会在客户端内部使用来自服务器的对象。但目前我遇到了一些简单的问题:

1) 在工厂模型中,我使用了诸如“clientConnectionFailed”或“clientConnectionLost”之类的方法,如何使用 PB 获得相同的方法?它们对于防止客户端/服务器问题非常有用。

2) 我还使用了“dataReceived”和“connectionLost”或“connectionMade”等方法,如何使用 PB 获得与这些方法相同的功能?

如您所见,我想首先使用 PB 模型而不是工厂重写我的代码。我看过这些例子,但与工厂的例子不同,我无法理解它们。

在此先感谢您的帮助=)

0 投票
1 回答
4760 浏览

java - Java 中的透视 3D 投影

我正在用 Java 创建一个简单的 3D 渲染引擎。我搞砸了,发现了几种不同的透视投影方法,但我得到部分工作的唯一一种方法有奇怪的拉伸效果,对象被移动得离屏幕中心越远,看起来非常不切实际。基本上,我想要一种方法(无论它需要多么简单或复杂),该方法将要投影的 ​​3D 点以及“相机”的 3D 点和旋转(可能?)作为参数,并返回屏幕上的位置那一点应该画在。我不在乎这种方法有多长/短/简单/复杂。我只是希望它能够生成与您在现代 3D 第一人称射击游戏或任何其他游戏中看到的相同的视角,而且我知道我可能必须为此使用矩阵乘法。我不

任何帮助将不胜感激:)再次感谢 - 詹姆斯

更新:为了说明我所说的“拉伸效果”的含义,这里有一些我放在一起的演示的屏幕截图。这里以坐标 (-20,-20,-5) 为中心的立方体 (40x40x10) 是使用我唯一可以使用的投影方法绘制的(代码如下)。三个屏幕在第一个屏幕截图中显示 (0, 0, 50) 处的相机,然后在 X 维度上移动以显示其他两个屏幕中的效果。

相机在 (0,0,50) 相机在 X 坐标中移动了一点 相机移动得更远

我正在使用的投影代码: