11C: 几何

第11课有三个部分A、B、C,学习顺序不分先后。

在这个练习中,我们会创建4个函数用来执行几何运算:

  • 一个函数用来计算直角三角形斜边的长度,
  • 一个函数用来计算直角三角形的周长,
  • 一个函数用来计算二维中两点间的距离,
  • 以及一个函数用来计算一个任意三角形的周长。

斜边

一个直角三角形在右手边的图片中显示。根据定义, 直角三角形中的一个角等于90度(一个直角)。它有三条边。直角对面的那条边有一个特殊的名字:斜边

如图中所示,让ab作为直角相邻两边的长度, 让c作为斜边的长度。沟谷定理告诉我们

\displaystyle{a^2+b^2=c^2}

在第一个问题中,你的任务是将这个定理转换成一个函数,它的ab将会被告知,你需要用他们来计算斜边的长度。

编程练习: 斜边
定义一个函数hypotenuse(a, b),它会返还斜边的长度c, 如果另外两边的长度为 ab提示

周长

三角形的周长是它的三边之和。所以在上图中, 周长是a+b+c你的程序应该假设hypotenuse函数已经被定义了 (无须将它从第一个框中复制下来)。

编程练习: 直角三角形
使用hypotenuse(a, b)定义一个函数rightTrianglePerimeter(a, b),给予非斜边ab,使其返还一个直角三角形的周长。

二维中的距离

在讲到二维中的点时, 我们会使用两个坐标来定义他们(笛卡尔坐标),x坐标和y坐标。我们需要编写一个函数,它的输入将是一对点,它的输出将是这两点间的距离。hypotenuse这个函数将会帮助我们完成这项任务!

详细来说, 假设一个点的坐标为(x1, y1) ,其中x1和y1都为实数。同时假设另一个点的坐标为(x2, y2)。这里的关键点是画出一个如下图所示的直角三角形:斜边从(x1, y1)开始到(x2, y2)结束,所以它的长度等于两点间的距离。

要想计算斜边的长度,我们需要求出这个三角形另外两边的长度。这个任务可以用坐标的定义来完成 (请看例图): 横向距离是 a = x1-x2 ,纵向距离是 b = y1-y2。

编程练习: 二维距离
假设hypotenuse(a, b)函数已经被定义好了。使用它定义一个函数distance2D(x1, y1, x2, y2) ,它会计算点(x1, y1)和点(x2, y2)之间的距离。

任意三角形的周长

下面将是这节课的最后一个练习。记住三角形周长是三条边长度的总和;同时注意每边的长度就是三角形中两点之间的距离。

编程练习: 完成周长
假设distance2D(x1, y1, x2, y2)函数已经被定义好了。使用它定义一个函数trianglePerimeter(xA, yA, xB, yB, xC, yC)计算一个三角形的周长,这个三角形的三个点分别是(xA, yA), (xB, yB) 和 (xC, yC)。

你现在已经准备好继续下面的课程了!