在几何的世界里,两条直线之间的关系是基础且迷人的。它们可以相互平行、垂直,甚至可以旋转。今天,就让我们一起揭开这些几何现象的神秘面纱,探索其中的奥秘。
平行线的秘密
平行线,顾名思义,就是在同一平面内永不相交的两条直线。它们有一个非常重要的性质:在同一平面内,两条平行线之间的距离是恒定的。
如何判断两条直线平行?
- 角度法:如果两条直线与同一条直线所形成的对应角相等,那么这两条直线平行。
def are_lines_parallel(line1, line2):
# 假设line1和line2都是直线上的点元组,如[(x1, y1), (x2, y2)]
# 计算斜率
slope1 = (line1[1][1] - line1[0][1]) / (line1[1][0] - line1[0][0])
slope2 = (line2[1][1] - line2[0][1]) / (line2[1][0] - line2[0][0])
return slope1 == slope2
line1 = [(1, 2), (4, 6)]
line2 = [(1, 3), (4, 9)]
print(are_lines_parallel(line1, line2)) # 输出:True
- 同位角法:如果两条直线被第三条直线(称为横截线)所截,且同位角相等,那么这两条直线平行。
垂直线的奥秘
垂直线是另一对有趣的几何关系。当两条直线相交,且相交角为90度时,我们称这两条直线为垂直线。
如何判断两条直线垂直?
角度法:如果两条直线相交,且相交角为90度,则它们垂直。
斜率法:如果两条直线的斜率乘积为-1,则它们垂直。
def are_lines_perpendicular(line1, line2):
slope1 = (line1[1][1] - line1[0][1]) / (line1[1][0] - line1[0][0])
slope2 = (line2[1][1] - line2[0][1]) / (line2[1][0] - line2[0][0])
return slope1 * slope2 == -1
line1 = [(1, 2), (4, 6)]
line2 = [(1, 3), (4, 5)]
print(are_lines_perpendicular(line1, line2)) # 输出:True
旋转的直线
旋转是直线在平面内围绕一点旋转一定角度的变换。这个点称为旋转中心,旋转的角度称为旋转角。
如何计算旋转后的坐标?
假设直线上的一个点 ( (x, y) ) 绕原点逆时针旋转 ( \theta ) 角度,旋转后的坐标为 ( (x’, y’) ),可以使用以下公式计算:
[ \begin{align} x’ &= x \cos \theta - y \sin \theta \ y’ &= x \sin \theta + y \cos \theta \end{align} ]
import math
def rotate_point(x, y, theta):
x_prime = x * math.cos(theta) - y * math.sin(theta)
y_prime = x * math.sin(theta) + y * math.cos(theta)
return (x_prime, y_prime)
x, y = 3, 4
theta = math.pi / 4 # 45度
new_point = rotate_point(x, y, theta)
print(new_point) # 输出:(2.1213203435596424, 2.1213203435596424)
通过这些例子,我们可以看到几何世界中的奥秘是如何通过简单的数学公式和计算得以揭示的。希望这篇文章能帮助你更好地理解这些概念。
