If you're seeing this message, it means we're having trouble loading external resources on our website.

如果你被网页过滤器挡住,请确保域名*.kastatic.org*.kasandbox.org 没有被阻止.

主要内容

角度和单位

在向量和力的部分中,我们仔细的设计了一个面向对象的结构来使一个物体在屏幕上移动,使用向量的概念来表示由环境中的力驱使的位置、速度、以及加速度。我们可以直接从这里进入粒子系统、转向力、群体行为等话题。如果我们这么做的话,会跳过一个我们需要的非常重要的数学领域:三角学,或者说三角形的数学,特别是直角三角形的。
三角学会给我们很多工具。我们可以用它来考虑角度、角速度以及角加速度。三角学将教会我们正弦和余弦函数,如果使用得当我们可以得到一个很好的缓和的波浪。它将使我们能够在设计角度的环境中计算更复杂的力,比如钟摆的摆动或者从斜坡上滑落的盒子。
所以这个部分会比较混杂。我们会从ProcessingJS中角度的基础开始,讲解很多三角学的话题,最后将所有应用到力学当中。同时,我们的这个小小的休息会让我们理解之后更有难度的例题中的三角学。

角度

在我们可以做任何这些事情之前,我们需要确保理解在ProcessingJS中一个角度意味着什么。如果你有使用ProcessingJS的经验,你无疑在使用rotate()函数来旋转对象的时候遇到过这个问题。
最重要的第一步是学习弧度角度。你可能最熟悉以角度为单位的角度的概念。一个完全的旋转是从0度到360度。90度(直角)是360度的1/4,如下图所示为两条垂直的线。
用度为单位来想角度对我们来说是相当直观的。例如,下图中的正方形围绕其中心旋转了45度。
但有时我们可能会发现用弧度 来表示角度会更好。弧度是有弧度是以圆弧长度与圆半径之比定义的角度的度量单位。一个弧度是当这个比等于一时的角度 (见第一个图)。180度 = PI 弧度,360 度 = 2*PI 弧度,90 度 = pi/2 弧度,以此类推。
从角度 (degrees) 转换为弧度 (radians) 的公式是:
radians=2PI(degrees/360)
值得庆幸的是,当使用处理角度的函数时,如 sin()atan(),ProcessingJS 可以很容易的决定我们想用的单位。在可汗学院中,默认值为角度,但可以用以下代码将其改为弧度:
angleMode = "radians";
此外,ProcessingJS 还提供了便于转换这两个单位的函数。radians() 函数会自动将值从度转换为弧度,而常量 PI 和 TWO_PI (分别等于180度和360度)给我们提供了使用常用数字的便利。
例如,以下的代码会将网格旋转60度:
angleMode = "radians";
var angle = radians(60);
rotate(angle);
如果你从未试过在 ProcessingJS 中旋转物体,阅读这篇 文章 或者整个 变形教学 将会非常有帮助。
什么是PI?
数学常数 pi(或 π)是一个被定为圆的周长(环绕边界的距离)及其直径(一条穿过圆心并在其边界有断点的直线)的比的实数。它大约等于 3.14159,可以在ProcessingJS 的具有变量 PI 或者在任何带有 Math.PI 的 JavaScript 程序中得到。

“自然模拟”系列课程是由 Daniel Shiffman 的 "编程的本质" 衍生而来,基于 知识共享 著名-非商用性 3.0 本地化许可协议

想加入讨论吗?

尚无帖子。
你会英语吗?单击此处查看更多可汗学院英文版的讨论.