有没有人以前看过这个数学线设计,也许对如何生成它有一些指示?最好使用 Java。
最佳答案
您从外部正方形(矩形、四边形)开始。
1) Draw it.
2) Move each vertex 10 percent of the way towards its neighbor.
3) repeat starting at #1.
稍微棘手的部分在步骤 2 中。如果将顶点 1 移向顶点 2,然后将顶点 2 移向顶点 3,将顶点 3 移向顶点 4,最后一件事是将顶点 4 移向顶点 1 所在的位置 - 而不是您将其移动到的位置.最简单的方法是先复制顶点 1 - 称之为顶点 5 - 然后将每个顶点移向列表中的下一个顶点。
10% 是一个可调参数。 现在,要移动某个百分比的方式,您可以使用加权平均值:
x1 = x1 + (x2-x1)*p
y1 = y1 + (y2-y1)*p
其中 p 为 0.1 表示 10%。
这确保新顶点位于在每种情况下 2 个旧顶点之间绘制的线上。它适用于所有四边形,而不仅仅是正方形。这也是理解样条的开始。
关于Java:数学线设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12260305/