跳转到内容

计算机编程/物理

来自维基教科书,开放世界中的开放书籍

关于本文件

[编辑 | 编辑源代码]

我之前编写过一个(有效的)二维物理系统,目前在大学攻读物理工程专业,所以我有经验,但我绝不是行业专家,所以我将开始编写这份文档,并希望要么是了解这方面内容的人参与进来并接手,要么是指导我,让我能够正确地完成这项工作。

另外,如果我的格式看起来不好,任何人都可以随意更改。

`外部人员 - 为物理部分添加了更多内容。希望不会太长或偏离主题。

关于物理学

[编辑 | 编辑源代码]

如今,计算机程序模拟各种物理系统,例如游戏中的真实感和在建造前测试机械原型。随着当前的处理能力不断提高,这些物理模拟也变得越来越复杂和精细。因此,在物理学适用的领域,没有这些功能的程序显得更加简单和原始,因此与具有这些功能的程序相比,它们的吸引力更低。

并非所有程序都需要全方位的计算能力。大多数游戏只需要能够准确地计算机械过程。用于测试物体的程序需要更复杂的才能,例如计算两个表面之间摩擦产生的热量。某些程序甚至可能希望执行伪计算,即基于物理学但经过调整以实现更理想行为的计算,或者它们可能只代表可能发生的非常狭窄范围的过程。

在进行物理编程时,需要考虑各种不同的物理机制,包括分支决策(例如物体之间的碰撞)、重力以及作用于物体的任何其他外力,以及根据特定情况的各种其他元素,并相应地进行补偿。

每个不同的物体都有自己的质量/重量,这通常取决于物体本身的大小。有效地进行物理编程通常需要跟踪每个物体的重量,在计算每次碰撞的力时考虑重力和碰撞等其他力,这取决于物体的重量,并相应地执行操作。

物体重量对周围世界产生影响的一个例子是,当物体放置在另一个由弱力支撑的物体上时,会导致该物体向下移动到地面。可以编写物理示例以演示此现象的类型实际上是无限的,对于初学者来说,建议他们尝试像重力这样的基本物理示例。

物理学中的概念和编程

[编辑 | 编辑源代码]

先决条件

[编辑 | 编辑源代码]

要进行物理编程或使用物理学,应该熟悉一些广泛适用的概念和技术

  • 代数
  • 坐标系
    • 二维
      • 笛卡尔坐标系 (x, y)
      • 极坐标系 - 距离和方向 (r, θ)
      • 参数方程
    • 三维
      • 笛卡尔坐标系 (x, y, z)
      • 极坐标系 - 距离和两个角度 (ρ, θ, φ)
      • 参数方程
    • (更高维度将在“相对论”下讨论)
  • 三角函数
  • 级数近似(微积分预备知识)
  • 微积分和微分方程的数值方法
    • ...
  • 迭代
  • 矩阵和矩阵运算
    • 行列式
    • 矩阵乘法
    • ...
  • 边界条件
  • 复数运算(涉及 )
    • 复数加法
    • 复数乘法
    • 复数指数和对数
    • 双曲三角函数

热力学

[编辑 | 编辑源代码]
  • 布朗运动
  • 热量和温度
  • “热力学第零定律”
  • 热力学第一定律
  • 热力学第二定律
  • 热力学第三定律

相对论

[编辑 | 编辑源代码]

量子力学

[编辑 | 编辑源代码]
华夏公益教科书