我正在浏览有关在 2D 游戏中创建闪电效果的博客。我想在 python 中实现相同的效果。但是我被困在一个地方。
假设startpoint和endPoint是 2D plane 中的坐标,表示线段的极值点。
让我们看一下博客中的以下代码片段:
midPoint = Average(startpoint, endPoint);
// Offset the midpoint by a random amount along the normal.
midPoint += Perpendicular(Normalize(endPoint-startPoint))*RandomFloat(-offsetAmount,offsetAmount);
.
Normalize(endPoint-startPoint):
那条线得到一个从 startPoint 到 endPoint 的单位向量(长度为 1 的向量)
Perpendicular(Normalize(endPoint-startPoint))
然后得到一个垂直于它的向量(即与直线成直角)
我不是普通的 python 编码器。python 中是否有任何内置的Normalize和Perpendicular函数可以帮助我在 python 中实现上述代码。