问题标签 [2d]

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 投票
4 回答
21217 浏览

3d - 3d 到 2d 投影矩阵

我在 3D 空间中有 3 个点,我知道它们的确切位置。假设它们是(x0,y0,z0)(x1,y1,z1)(x2,y2,z2)

此外,我有一台正在查看这 3 个点的相机,并且我知道这三个点在相机视图平面上的 2D 位置。例如,从相机的角度来看,将会是,(x0,y0,z0)将会是(x0',y0'),并且将会(x1,y1,z1)是。(x1',y1')(x2,y2,z2)(x2',y2')

找到将这些 3D 点投影到相机视图平面上的 2D 点的投影矩阵的最简单方法是什么。我们对相机位置一无所知。

0 投票
4 回答
21913 浏览

image - 二维精灵最喜欢的图像文件格式

您最喜欢的游戏无损图像格式(即 2d 游戏)是什么?为什么?

需要考虑的一些事情是磁盘大小、转换为可用格式的开销以及格式的特性(即 alpha 支持)。

没有最佳答案,但请务必尽您所能支持您的最佳答案!

0 投票
8 回答
13455 浏览

c# - 2d 游戏物理资源

我正在寻找一些很好的参考资料来学习如何在游戏中建模 2d 物理。我不是在寻找一个图书馆来为我做这件事——我想思考和学习,而不是盲目地使用别人的工作。

我已经做了很多谷歌搜索,虽然我找到了一些关于 GameDev 等的教程,但我发现他们的教程很难理解,因为它们要么写得不好,要么假设我没有一定程度的数学理解' t还拥有。

具体来说——我正在寻找如何建模一个自上而下的 2d 游戏,有点像坦克格斗游戏——我想准确地建模(除其他外)加速度和速度、“组件”的热量积聚、之间的碰撞模型和关卡边界,以及导弹型武器。

网站、推荐书籍、博客、代码示例——如果它们有助于理解,都欢迎。我正在考虑使用 C# 和 F# 来构建我的游戏,因此使用这两种语言中的任何一种的代码示例都会很棒——但不要让语言阻止你发布一个好的链接。=)

编辑:我并不是说我不懂数学——更多的情况是我不知道为了理解所涉及的系统我需要知道什么,并且真的不知道如何找到资源会以通俗易懂的方式教我。

0 投票
3 回答
29172 浏览

python - Python 中的 2D 动画

我正在用 Python 编写一个模拟器,并对有关基本 2D 动画的选项和意见感到好奇。通过动画,我指的是动态渲染,而不是显示预渲染的图像。

我目前正在使用 matplotlib(Wxagg 后端),我有可能继续使用它,但我怀疑它在性能或功能方面无法充分扩展。

要求是:

  • 跨平台(Linux、MacOS X、Windows)
  • 低复杂性开销
  • 与 wxpython 配合得很好(至少不会过分踩对方的脚趾)
  • 交互性。检测对象何时被点击、鼠标悬停等。

请注意,高性能不在列表中,但在屏幕上处理约 100 个位图对象的能力会很好。

你的意见?

0 投票
5 回答
3842 浏览

c++ - WIN32 上“iPhone”风格动画的最佳 2D 动画库/技术?

全部,

我已经构建了一个漂亮的演示应用程序,它将有关我们内部系统的数据显示为全屏“广告牌”样式显示。你可以把它想象成一个显示国家赤字的应用程序——快速增加的数字,动画非常快,整天。

问题是演示效果很好,客户希望我构建一个工业级的版本!

我想在 C++ 中执行此操作,但它可能是 Java 或C #(尽管我不想使用 C#,因为我在那个环境中并不那么强大)。

我在玩 SDL 或 Allegro,但我都没有这方面的经验,所以我愿意接受最好的(最好是最简单的)工具包。

当我说“iPhone”风格时,我指的是面板之间简单而优雅的过渡。iPhone 出色地使用了幻灯片、淡入淡出和混合。我的应用不需要做任何 3D 风格的动画。在图形方面,我真的只需要简单的东西:90% 的文本、一些图像和简单的图元,如线条、矩形和渐变填充。

当然,我可以在“普通的”DirectDraw 或 OpenGL 中实现这一点,但我真的不想考虑编写计时器类和为动画选择计时方法——那里的一些工具包应该正好适合这个。

谢谢你的帮助!

射频

0 投票
11 回答
12663 浏览

math - 数学和游戏编程

我想编写比我已经知道的基本 2D 东西更复杂的图形 2D 游戏。我不想做 3D 编程。只是更复杂的 2D 东西。我还没来得及学很多东西就辍学了,所以我带着足够的代数知识离开了,以平衡我的支票簿并做一些简单的二维笛卡尔编程。

有没有什么好的资源可以让注意力有限的人(比如我非常感兴趣的主题每人 20 分钟)逐渐学习如何在编程中用数学做一些更有用的事情?

0 投票
3 回答
3991 浏览

3d - 如何从平面相交的 3D 几何图形中提取 2D 切片?

最近,我们的团队面临着在平面和一些 3D 几何体(三角形集)之间构建 2D 切片的任务。谷歌并没有像我们希望的那样有帮助,所以我们把注意力转向这里,看看是否有人遇到过这个问题并提供可能的解决方案。也需要链接。

找到交点本身并不是一项艰巨的任务,但确保正确生成三角形并使用正确的角构成是与我们一起玩艰难的游戏。我们只是缺乏从任意模型构建三角形的数学/理解。

如果您在理解我们正在尝试做的事情时遇到问题,请想象一下这种情况:

将兔子模型加载到程序中。接下来,“激光”穿过太空,将兔子切成两半。激光切割的那个薄片就是我们想要生成的切片。它应该是一个二维三角形集。如果激光不适合你(没有双关语),想想刀,飞机,任何能在飞机上切东西的东西。

提前致谢。

0 投票
2 回答
8058 浏览

iphone - OpenGL ES 中的大滚动背景

我正在为 iPhone 开发 2D 滚动游戏。我有一个大的图像背景,比如 480×6000 像素,只有一部分是可见的(正好一个屏幕的价值,480×320 像素)。在屏幕上获得这样的背景的最佳方法是什么?

目前,我将背景拆分为多个纹理(以绕过最大纹理大小限制),并将每个帧中的整个背景绘制为带纹理的三角形条。滚动是通过平移模型视图矩阵来完成的。剪刀框设置为窗口大小,480×320 像素。这并不意味着要快,我只是想要一个工作代码,然后再进行优化。

我认为也许 OpenGL 实现足够聪明,可以丢弃背景的不可见部分,但根据我编写的一些测量代码,它看起来背景平均需要 7 毫秒来绘制,最多需要 84 毫秒。(这是在模拟器中测量的。)这大约是整个渲染循环的一半,即。对我来说很慢。

绘制背景应该像将一些 480×320 像素从 VRAM 的一部分复制到另一部分一样简单,或者换句话说,速度极快。接近这种性能的最佳方法是什么?

0 投票
1 回答
4004 浏览

math - 绘制二维隐式标量场的等值线

我有一个在 2D 中定义的隐式标量场,对于 2D 中的每个点,我都可以让它计算一个精确的标量值,但它的计算有点复杂。
我想画一条该表面的等值线,比如“0”值的线。函数本身是连续的,但“0”等值线可以有多个连续实例,不能保证所有实例都连接。
计算每个像素的值不是一种选择,因为这会花费太多时间 - 大约几秒钟,并且需要尽可能实时。

我目前使用的是空间的递归划分,可以被认为是一种四叉树。我对空间进行了一个初始的、非常粗略的采样,如果我找到一个包含从正值到负值的过渡的正方形,我将它递归地划分为 4 个较小的正方形并再次检查,在像素级别停止。通过在其 4 个角采样一个正方形来检测正负转换。这工作得相当好,除非它没有。绘制的等值线有时会被剪切,因为对于发生在边缘的小区域且不跨越正方形角的过渡,过渡检测失败。

在此设置中是否有更好的方法来绘制等线图?

0 投票
10 回答
1171 浏览

language-agnostic - 如何从嘈杂的 X、Y 数据中确定路径

我有一个未排序的嘈杂 X、Y 点列表。然而,它们确实形成了一条穿越世界的道路。我想要一种算法来使用线段绘制这些数据的近似值。

这类似于您如何使用线拟合算法来选择线性数据的近似值。我的问题更加困难,因为这条路在世界各地弯曲和蜿蜒。 替代文字 http://www.praeclarum.org/so/pathfinder.png

有谁知道任何标准/强大/易于理解的算法来实现这一点?

问答

你说的吵是什么意思?如果我有一个理想的路径实现,那么我的一组点将从该理想路径中采样,并将高斯噪声添加到 X 和 Y 元素。我不知道该噪声的平均值或标准偏差。我也许可以猜到std dev ...

这些点是否靠近但不在您寻求近似的理想但复杂的路径上?是的。

你有关于路径形状的任何先验信息吗?还有其他方法可以获取此类信息吗?不幸的是没有。