5 计算几何教程:线段与直线
系列进度
计算几何入门 · 第 5 / 18 篇
整理说明
这篇内容怎么整理
郭震 · 2026-06-04
阅读路线
先按这条路线读
先抓住主线,再回到代码、配置和图文细节,读起来会更稳。
计算几何适合用图来理解,关键是把几何对象、关系判断和算法边界放在一起看。阅读时可以按「线段 -> 定义 -> 线段的性质 -> 应用案例」建立结构,再回到正文里的代码、案例或指标做验证。
读完后,用一个真实小任务复查:输入是什么,处理环节在哪里,输出是否可验收;失败时先查「线段」,再查「定义」。
在上一篇教程中,我们讨论了基础概念之“点和向量”。这一部分将继续探讨计算几何中的基础概念——线段与直线。线段和直线是构建几何形状的基本元素,也是后续多边形与多面体研究的基础。
线段
定义
线段是连接两个端点的直线部分。线段的特点是具有长度和方向,但没有延续性。用数学表示,给定两个点 和 ,线段 可以定义为所有落在 和 之间的点的集合。
学习线段与直线时,先看对象是否有端点、是否无限延伸、如何表示方向。很多相交和距离问题都卡在边界条件上。
线段的性质
-
长度:线段的长度可以通过以下公式计算:
-
中点:线段的中点 的坐标可以通过以下公式计算:
斜率:线段的斜率 可以表达为:
注意,当 时,斜率是无定义的,这时线段是一条垂直线。
代码示例
我们可以通过 Python 来计算线段的长度和中点。下面的代码展示了如何实现这一点:
import math
def line_segment_properties(A, B):
x1, y1 = A
x2, y2 = B
# 计算长度
length = math.sqrt((x2 - x1)**2 + (y2 - y1)**2)
# 计算中点
midpoint = ((x1 + x2) / 2, (y1 + y2) / 2)
# 计算斜率
slope = None
if x2 != x1:
slope = (y2 - y1) / (x2 - x1)
return length, midpoint, slope
A = (3, 4)
B = (7, 1)
length, midpoint, slope = line_segment_properties(A, B)
print(f"长度: {length}, 中点: {midpoint}, 斜率: {slope}")
应用案例
在图形处理中,频繁使用线段来表示形状的边界。例如,在计算图形的包围盒时,通常会对物体的顶点之间的线段进行处理。
直线
定义
直线是一个无限延伸的线,通常是由一条线段延伸而来。直线没有起点和终点,且可以用点和斜率进行表示。我们可以用两个点A和B,来确定一条直线。
进入《计算几何教程:线段与直线》正文前,可以先扫一遍配图:它在问什么、要分清哪些概念、哪一步值得动手、最后用什么标准验收。
直线的方程
直线通常有两种主要表示方式:
-
斜截式:形式为:
其中, 是斜率, 是轴截距。
-
点斜式:通过一个点 及斜率 表示为:
斜率的特性
- 当 时,直线向上倾斜。
- 当 时,直线向下倾斜。
- 表示水平线。
代码示例
下面是 Python 中计算直线方程的示例:
def line_equation(A, slope):
x1, y1 = A
b = y1 - slope * x1 # 根据斜截式算出截距
return slope, b
A = (3, 4)
slope = 2 # 假设斜率为2
line_eq = line_equation(A, slope)
print(f"直线方程: y = {line_eq[0]}x + {line_eq[1]}")
应用案例
直线在几何运算中具有广泛的应用,例如在图形裁剪算法中,直线用于定义裁剪边界。
复习《计算几何教程:线段与直线》时,建议把关键概念、操作步骤和可见结果放在同一页里回看。
练习《计算几何教程:线段与直线》时,建议把输入条件、处理动作和可见结果写在一起,方便下次复查。
小结
在本节中,我们探讨了线段与直线的基础概念,包括它们的定义、性质、及在实际中的应用和示例代码。理解这些基本概念,为我们学习多边形与多面体的几何特性奠定了基础。下一节我们将进入多边形与多面体的讨论,期待与您再次相见!
继续阅读
从这篇继续找到相关教程
常见问题
读前先确认这三点
计算几何教程:线段与直线适合谁读?
这是 计算几何入门 系列第 5 / 18 篇,适合正在学习计算几何入门,并且需要把概念落到操作步骤或判断标准里的读者。
读这篇计算几何入门教程要多久?
按中文技术文章阅读速度估算,通读大约 3 分钟;如果要跟着复现,建议把命令、配置和结果检查分开做。
这篇文章里的图文节点怎么用?
正文里有 6 个图文节点,可以先用它们抓住流程、配置和判断点,再回到对应段落细读。
分享文章
转发到常用平台
微信/朋友圈可先复制链接
相关教程
从相近问题继续读
继续阅读