计算机编程/物理
外观
< 计算机编程
我之前编写过一个(有效的)二维物理系统,目前在大学攻读物理工程专业,所以我有经验,但我绝不是行业专家,所以我将开始编写这份文档,并希望要么是了解这方面内容的人参与进来并接手,要么是指导我,让我能够正确地完成这项工作。
另外,如果我的格式看起来不好,任何人都可以随意更改。
`外部人员 - 为物理部分添加了更多内容。希望不会太长或偏离主题。
如今,计算机程序模拟各种物理系统,例如游戏中的真实感和在建造前测试机械原型。随着当前的处理能力不断提高,这些物理模拟也变得越来越复杂和精细。因此,在物理学适用的领域,没有这些功能的程序显得更加简单和原始,因此与具有这些功能的程序相比,它们的吸引力更低。
并非所有程序都需要全方位的计算能力。大多数游戏只需要能够准确地计算机械过程。用于测试物体的程序需要更复杂的才能,例如计算两个表面之间摩擦产生的热量。某些程序甚至可能希望执行伪计算,即基于物理学但经过调整以实现更理想行为的计算,或者它们可能只代表可能发生的非常狭窄范围的过程。
在进行物理编程时,需要考虑各种不同的物理机制,包括分支决策(例如物体之间的碰撞)、重力以及作用于物体的任何其他外力,以及根据特定情况的各种其他元素,并相应地进行补偿。
每个不同的物体都有自己的质量/重量,这通常取决于物体本身的大小。有效地进行物理编程通常需要跟踪每个物体的重量,在计算每次碰撞的力时考虑重力和碰撞等其他力,这取决于物体的重量,并相应地执行操作。
物体重量对周围世界产生影响的一个例子是,当物体放置在另一个由弱力支撑的物体上时,会导致该物体向下移动到地面。可以编写物理示例以演示此现象的类型实际上是无限的,对于初学者来说,建议他们尝试像重力这样的基本物理示例。
要进行物理编程或使用物理学,应该熟悉一些广泛适用的概念和技术
- 代数
- 坐标系
- 二维
- 笛卡尔坐标系 (x, y)
- 极坐标系 - 距离和方向 (r, θ)
- 参数方程
- 三维
- 笛卡尔坐标系 (x, y, z)
- 极坐标系 - 距离和两个角度 (ρ, θ, φ)
- 参数方程
- (更高维度将在“相对论”下讨论)
- 二维
- 三角函数
- 级数近似(微积分预备知识)
- 微积分和微分方程的数值方法
- ...
- 迭代
- 矩阵和矩阵运算
- 行列式
- 矩阵乘法
- ...
- 边界条件
- 复数运算(涉及 )
- 复数加法
- 复数乘法
- 复数指数和对数
- 双曲三角函数
- 参考系
- 向量
- 向量加法
- 点积
- 叉积
- 矩阵乘积
- 力
- 动量
- 能量
- 碰撞和几何力
- 简谐运动,弹簧
- 摩擦
- 静摩擦
- 动摩擦
- 滚动,车轮
- 空气和其他流体中的摩擦
- 流体力学
- 计算机编程/物理学/加速物体的位置函数
- 计算机编程/物理学/加速物体的位置函数(恒定加速度)
- 计算机编程/物理学/物体在空间中的运动(分段近似)
- 布朗运动
- 热量和温度
- “热力学第零定律”
- 热力学第一定律
- 热力学第二定律
- 热力学第三定律