我的任务:
创建一个程序来复制图片(仅作为输入)使用基元(如三角形或其他东西).程序应使用进化算法来创建输出图像.
我的问题:
我需要发明一种算法来创建种群并检查它们(多少 - 以%为单位 - 它们与输入图像匹配).我有个主意; 你可以在下面找到它.
所以我想要你:建议(如果你发现我的想法不那么糟糕)或灵感(也许你有更好的主意?)
我的想法:
假设我将仅使用三角形来构建输出图片.
我的第一个人口是P图片(通过使用T随机生成的三角形生成 - 称为元素).
我通过我的健身功能检查每个人口中的图片,并选择他们的E作为精英,其余的人口只是删除:
To compare 2 pictures we check every pixel in picture A and compare his R,G,B with
the same pixel (the same coordinates) in picture B.
I use this:
SingleDif = sqrt[ (Ar - Br)^2 + (Ag - Bg)^2 + (Ab - Bb)^2]
then i sum all differences (from all pixels) - lets call it SumDif
and use:
PictureDif = …Run Code Online (Sandbox Code Playgroud) 我的问题的简短描述
我需要为 3D 打印实现从 G1 指令到 G2 和 G3(http://www.cnccookbook.com/CCCNCGCodeArcsG02G03.htm)的GCODE 自动重构。
G1 是直线运动并打印(路径用矢量描述)。
我正在寻找基于给定向量路径的算法来近似圆/弧(特别是它的中点)。请注意,G2 和 G3 无法打印不属于圆的曲线 - 因此并非每个向量路径都可以通过这种方式近似。
我的问题的详细描述
我正在寻找通过圆(弧)来近似部分(或全部)向量路径(可以是正多边形、它的一部分或不规则多边形部分)的方法。但是,让我们首先关注规则多边形。
在图片中,我绘制了这个问题的不同情况。
注意:每个多边形都是由向量构建的(如第 5 点)。

这不是故事的开始……有几个标准:
我发现的解决方案(好的和坏的):
1) 和 5) - 我的简单解决方案
这是最简单的情况。我可以计算共享一个观点的每一侧之间的半径。如果它们具有相同的长度和每个之间的角度相等,我可以计算圆的中点(作为属于垂直中线的点,每边一条中线),我有我需要的一切:起点,终点,中点观点。
但此解决方案仅适用于情况 1 和 5。
当我遇到案例 2,3,4 或不规则多边形的部分时,我真的不知道该怎么办