Java:数学线设计

标签 java math

有没有人以前看过这个数学线设计,也许对如何生成它有一些指示?最好使用 Java。

enter image description here

最佳答案

您从外部正方形(矩形、四边形)开始。

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/

相关文章:

java - 使用 Java 处理表单数据

java - 在这种情况下,中间流和终端流方法如何工作

language-agnostic - 从任何基数的比率扩展中获取特定数字(x/y 的第 n 位数字)

c# - 如何在Unity3d中测量两条线段之间的距离

r - 创建遵循各种分布的相关变量

java - 类对象的泛型

java - Spring Boot事务回滚

java - 在JPanel中绘制捕获的屏幕图像,图像再次显示一次?如何修复它只显示一次?

math - 在 3d 空间中的一个点周围均匀排列 X 数量的物体

python - Python中笛卡尔坐标中四个点的二面角/扭转角