问题标签 [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.
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(这让我进入了旋转的立方体),但我似乎无法弄清楚每个人如何管理视角与其周围多边形的大小。任何人都可以对此有所了解吗?谢谢。
javascript - 你能用 HTML5 做一个等距透视图吗
可以用 HTML5 做等距透视<canvas>
吗?它与setTransform
? 还是以另一种方式存在?
例子:
类似于 Farmville 的视角。
非常感谢。
menu - Eclipse RCP:如何配置透视菜单?
我需要完全控制透视菜单。
我已经入侵了平台以禁用 CONTEXT 菜单:
但我还需要控制 PERSPECTIVE MENU 的默认内容。有一个始终存在的选项可以访问透视列表外壳。我需要从菜单中删除该选项。
遗憾的是,透视菜单完全不受用户控制。我只需要将视角添加到菜单中,仅此而已!
谢谢。
silverlight - WP7:3D 透视相机深度效果
假设我有一个画布,其中一个图像位于屏幕中央。当我将图像从中心移开时,比如说到右上角,我希望它像画布是具有特定 FOV 的透视 3D 相机一样倾斜。这可以以某种方式完成吗?我在 WP7 的 Silverlight 中使用 Perspective-property,但我无法获得效果。
python - 应该如何实现对 twisted.pb 中替代凭证类型的支持?
我的项目一直在尝试使用scrypt实现凭据检查器。我们已经尝试实现我们自己的凭证和检查器对象,但是我们在让 pb 使用它们时遇到了很多麻烦。
Pb 似乎被硬编码为通过网络使用 MD5 哈希,这在我们的实现中绝对行不通;我们没有办法在服务器端以明文形式获取正确的密码,因为我们使用的是 scrypt,所以我们需要一种方法来传输密码以明文形式进行验证。我们已经尝试将twisted.cred.credentials.UsernamePassword 与我们的凭证检查器一起使用,但它似乎并没有进入服务器。(我们仍然得到 _PortalAuthChallenge 代替)
http://twistedmatrix.com/trac/ticket/4398的票证似乎表明需要 PBServerFactory 子类才能支持 pb 中的自定义凭据检查器,但到目前为止,我完全无法弄清楚要覆盖什么为了使它使用不同的 ICredentials 实现。有没有关于如何让 pb 使用不同的凭证类的示例(甚至只是文档)?
iphone - 使用 CATransform3D 透视的折纸过渡
我正在尝试仅使用图层功能在两个 UIView 上实现一种折纸过渡。这个想法是折叠两个具有透视效果的视图。两个视图都有一个透视图,过渡由每个视图上的旋转定义,以及一个视图上的平移,这样该视图似乎附加到另一个视图。
问题是视图在过渡过程中相互重叠。我不想使用 zPosition 在视觉上避免这种重叠,我真的希望这两个视图表现得好像它们被共享的一面绑定在一起。这是过渡的代码。
任何想法,或任何其他解决方案?
为了简化问题,让我们摆脱任何透视变换。这是具有相同问题的更简单的代码:
opengl - 计算 FOVX (openGL)
在使用 openGL 透视图时,我不太确定如何从 fovy 计算 fovx。我在不同的地方阅读了不同的东西,并且使用我发现的任何一种方法都没有得到正确的行为。那么有人可以告诉我,鉴于相机的fovy和纵横比,我如何计算相机的fovx?如果需要任何其他数据也没关系,请告诉我我需要什么。非常感谢您!
python - Twisted PerspectiveBroker/ServerFactory 问题
我正在尝试和twisted一起玩。我已经尝试使用适当的工厂创建服务器和客户端。这是一个很棒的框架,但只能发送字符串:(我想发送一些列表或数组对象作为开始,也许以后会在客户端内部使用来自服务器的对象。但目前我遇到了一些简单的问题:
1) 在工厂模型中,我使用了诸如“clientConnectionFailed”或“clientConnectionLost”之类的方法,如何使用 PB 获得相同的方法?它们对于防止客户端/服务器问题非常有用。
2) 我还使用了“dataReceived”和“connectionLost”或“connectionMade”等方法,如何使用 PB 获得与这些方法相同的功能?
如您所见,我想首先使用 PB 模型而不是工厂重写我的代码。我看过这些例子,但与工厂的例子不同,我无法理解它们。
在此先感谢您的帮助=)
java - Java 中的透视 3D 投影
我正在用 Java 创建一个简单的 3D 渲染引擎。我搞砸了,发现了几种不同的透视投影方法,但我得到部分工作的唯一一种方法有奇怪的拉伸效果,对象被移动得离屏幕中心越远,看起来非常不切实际。基本上,我想要一种方法(无论它需要多么简单或复杂),该方法将要投影的 3D 点以及“相机”的 3D 点和旋转(可能?)作为参数,并返回屏幕上的位置那一点应该画在。我不在乎这种方法有多长/短/简单/复杂。我只是希望它能够生成与您在现代 3D 第一人称射击游戏或任何其他游戏中看到的相同的视角,而且我知道我可能必须为此使用矩阵乘法。我不
任何帮助将不胜感激:)再次感谢 - 詹姆斯
更新:为了说明我所说的“拉伸效果”的含义,这里有一些我放在一起的演示的屏幕截图。这里以坐标 (-20,-20,-5) 为中心的立方体 (40x40x10) 是使用我唯一可以使用的投影方法绘制的(代码如下)。三个屏幕在第一个屏幕截图中显示 (0, 0, 50) 处的相机,然后在 X 维度上移动以显示其他两个屏幕中的效果。
我正在使用的投影代码: