Questions tagged «mathematics»

数学问题涉及游戏开发中使用的算术,几何,微积分,公式和其他计算。

16
所有游戏程序员都应该知道什么数学?[关闭]
足够简单的问题:为了成功,所有游戏程序员都应该掌握什么数学? 我并不是在谈论在游戏编程的利基领域中渲染数学或任何东西,更具体地说,甚至是游戏程序员都应该知道的事情,如果他们不这样做,他们可能会发现它很有用。 注意:由于没有一个正确的答案,所以这个问题(及其答案)是社区Wiki。 另外,如果您想使用精美的乳胶数学方程式,请随时使用http://mathurl.com/。

12
如何开发RPG伤害公式?
我正在开发经典的2D RPG(类似于最终幻想),我想知道是否有人对如何破坏公式/与资源/示例的链接有一些建议?我将说明当前的设置。希望我不会对这个问题过分解决,如果我的问题太大/太广泛,我深表歉意 我的角色统计信息包括以下内容: enum Stat { HP = 0, MP = 1, SP = 2, Strength = 3, Vitality = 4, Magic = 5, Spirit = 6, Skill = 7, Speed = 8, //Speed/Agility are the same thing Agility = 8, Evasion = 9, MgEvasion = 10, Accuracy = 11, …

2
什么是四元数?
什么是四元数,它们如何工作?另外,在2D平面上使用三个点可以获得什么优势?最后,什么时候使用四元数被认为是一种好习惯?

8
沿着贝塞尔曲线在两个行星之间移动飞船,但缺少一些加速方程
好的,我已经在math.stackechange.com上发布了这个,但是没有得到任何答案:( 首先是我的问题的图片,随后进行描述: 因此,我已经设定了所有要点和价值观。 船舶开始时P1以S=0.27 Degrees每game嗒作动绕左行星运动,到达时按照贝塞尔Point A曲线弯曲直到到达Point D,然后P2以S=0.42 Degrees每game嗒作动绕右行星航行。两者的区别在于S,行星绕行星的移动速度相同。 到目前为止一切顺利,我已经启动并运行了,现在是我的问题。 当S P1和S P2相差很大时,船在到达目的地时会在两种速度之间跳跃,这看起来很糟糕。所以,我需要加速的船Point A,并Point D从S P1到S P2。 我所缺少的是紫色,它们是: 一种计算滴答声的方法,其中考虑了加速度,船舶沿着贝塞尔曲线移动。 再次考虑加速度,一种基于T在贝塞尔曲线上找到位置的方法。 ATM I通过计算点之间的距离来计算贝塞尔N曲线的长度。因此,我认为我需要的是一种缩放比例的方法,该方法T需要根据加速度将其放入贝塞尔曲线计算中。
48 2d  mathematics 

3
如何确定打开哪些推进器以旋转船舶?
船的配置会动态更改,因此当我想顺时针或逆时针旋转船时,必须确定要打开哪个推进器。推进器始终与船舶轴线对齐(永远不成角度),并且可以打开或关闭。这是可能的设置之一: 到目前为止,我已经尝试过将发射向量和方向向量可视化到船的质心: 不幸的是,我对此并不了解。

7
游戏中使用了atan和atan2吗?
我有一些麻烦的了解Math.tan()和Math.atan()和Math.atan2()。 我具有三角学的基本知识,但对我来说,在游戏开发中使用SIN,COS和TAN等非常新。 我正在阅读一些教程,并且看到通过使用切线,我们可以得出一个对象需要旋转一个角度以面对另一个对象(例如鼠标)的角度。那么为什么我们仍然需要使用atan或atan2?

4
球撞到角落,它将在哪里偏转?
我需要复习三角函数,希望您可以通过简单的数学模型为您提供帮助。到目前为止,这是我在模型中附加的模型。我知道当球快速移动时帧动画还有其他问题,但是现在我只需要计算ballDx和ballDy。ballDx = 0(仅垂直运动)也是可能的,但是当球偏斜时,ballDx可能会获得不同的值。

2
如何为RPG升级要求创建可调公式?
我正在尝试创建一个可以简单地通过更改两个值来修改的公式:number_of_levels和last_level_experience。这是为了使人们能够改变游戏的水平要求。 我已经知道了,以便可以指定上一级升级所需的XP数量,但是我希望能够控制上一级升级所需的XP,在这种情况下,它们可能会有很大差异。例如,如果我有40个等级,最后一个等级为1,000,000 XP,则第一个等级要求为625。但是,如果我将等级更改为80,则第一个等级变为156。在两种情况下,最后一个等级都需要1,000,000。 仅通过这两个基本值,就必须有某种方法使计算机绘制出合适的曲线。 #include <iostream> int main() { int levels = 40; if (levels < 2) levels = 2; int experience_for_last_level = 1e6; float fraction = 1.0 / levels; { int i = 0; float fraction_counter = fraction; int counter = levels; int total = 0; for (i = …

5
游戏中的演员应该负责吸引自己吗?
我对游戏开发非常陌生,但对编程却不是。 我(再次)使用JavaScript的canvas元素在玩Pong类型的游戏。 我创建了一个Paddle具有以下属性的对象... width height x y colour 我也有一个Pong具有诸如...的属性的对象 width height backgroundColour draw()。 该draw()方法当前正在重置canvas,这就是出现问题的地方。 如果Paddle对象具有draw()负责其绘制的方法,或者draw()该Pong对象的负责负责其演员的绘制(我认为这是正确的术语,如果我不正确,请更正我)。 我发现在Paddle实例化两个对象Player和时,绘制自身会很有利Enemy。如果在没有Pong的draw(),我需要两次写类似的代码。 最佳做法是什么? 谢谢。

4
为什么在游戏开发中弧度优先于度?
我一直在寻找弧度的定义,发现数学家更喜欢弧度,因为它们是从pi派生的,而不是像度数那样完全任意的。 但是,我还没有找到在游戏开发中使用它们的令人信服的理由,可能是由于我完全缺乏相关的数学理解。我知道语言中大多数sin / cos / tan函数的弧度是多少,但是有人也可以按度创建库函数(并避免使用pi时固有的舍入错误)。 我不希望这是一个自以为是的民意测验,我只是想听听那些从事游戏开发(以及相关的数学研究)的人,他们认为弧度提供了优于学位的体验,而不是“我们使用弧度因为我们一直使用它们”,只是为了帮助我(可能还有其他人)了解它们的好处。

2
为什么我们在游戏物理学中使用勾股定理?
我最近了解到,我们在物理计算中经常使用勾股定理,恐怕我并没有真正理解这一点。 这是一本书的示例,以确保对象MAXIMUM_VELOCITY在水平面中的移动速度不会快于常量: MAXIMUM_VELOCITY = <any number>; SQUARED_MAXIMUM_VELOCITY = MAXIMUM_VELOCITY * MAXIMUM_VELOCITY; function animate(){ var squared_horizontal_velocity = (x_velocity * x_velocity) + (z_velocity * z_velocity); if( squared_horizontal_velocity <= SQUARED_MAXIMUM_VELOCITY ){ scalar = squared_horizontal_velocity / SQUARED_MAXIMUM_VELOCITY; x_velocity = x_velocity / scalar; z_velocity = x_velocity / scalar; } } 让我们用一些数字尝试一下: 对象试图在x中移动5个单位,在z中移动5个单位。总共只能水平移动5个单位! MAXIMUM_VELOCITY = 5; …

5
当每个等级按比例需要更多XP时,如何从总XP中计算当前等级?
在我的游戏中,达到下一个等级所需的XP是当前等级×等级阈值。鉴于此,我怎样才能从获得的总经验值中获得当前的水平? 例如: Level Threshold = 50 Current Level = 1 从1级开始,我需要(1×50)= 50 XP才能达到2级,依此类推。 Level 1: 50 XP needed to reach level 2 Level 2: 100 more XP needed to reach level 3 Level 3: 150 more XP needed to reach level 4 换句话说,进度表如下: Level 1: 0 XP to 49 XP …

6
闲置游戏如何处理如此大量的数字?
只是想知道Tap titans和Cookie Clicker之类的游戏如何处理这么大的数字。 我正在尝试实现一个空闲游戏,但是C#支持的最大数字格式是十进制。 我希望最多支持10 ^ 500;需要浮点数 我该如何处理? PS它需要跨平台,即PC,Mac,iOS,Android,并与Unity兼容

6
使用距离平方检查而不是距离有什么缺点吗?
我使用了距离平方检查来进行我的所有距离(vector3长度)检查,这是由于不产生平方根会提高性能(就像在普通长度检查中一样)。 从外观上看,平方距离检查在每种情况下都能正常工作: if x^2 < y^2, then x < y, even when 0 < (x or y) < 1 我不考虑x或y小于0的情况,因为距离和距离平方始终为正。 由于此方法有效,因此似乎从未需要进行距离检查,但是我a不安,感觉自己缺少某些东西。在对精度要求严格的情况下,这种方法是否仍然有效?


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.