线段相关计算与测试
1. 代码优化与可视化
在某些情况下, d 变量并不会增加代码的可读性,并且由于它只被使用了一次,我们可以将两个方法链式调用并返回结果,这种模式在代码中经常会用到。
同时,我们可以通过可视化的方式来理解刚刚实现的概念。左侧的线段展示了方向向量 $\vec{d}$,其起点为 $S$(起始点),终点为 $E$(结束点)。右侧的线段展示了方向向量的归一化版本 $\hat{d}$ 及其垂直对应向量 $\hat{n}$,分别为方向和法向单位向量。
2. 线段长度计算
线段的一个重要属性是其长度,即两个端点之间的距离。计算线段长度至少有两种方法:
- 计算点 $S$ 和 $E$ 之间的距离。
- 计算方向向量 $\vec{d}$ 的长度。
我们选择第一种方法,代码如下:
class Segment:
# --snip--
@property
def length(self):
return self.start.distance_to(self.end)
此时, segment.py 文件应如下所示:
from geom2d.point import Point
from geom2d.vectors import make_vector_between, make_versor_between
class S
超级会员免费看
订阅专栏 解锁全文
1069

被折叠的 条评论
为什么被折叠?



