小编Mr.*_*Qbs的帖子

遗传/进化算法 - 画家

我的任务:

创建一个程序来复制图片(仅作为输入)使用基元(如三角形或其他东西).程序应使用进化算法来创建输出图像.


我的问题:

我需要发明一种算法来创建种群并检查它们(多少 - 以%为单位 - 它们与输入图像匹配).我有个主意; 你可以在下面找到它.

所以我想要你:建议(如果你发现我的想法不那么糟糕)或灵感(也许你有更好的主意?)


我的想法:

假设我将仅使用三角形来构建输出图片.

我的第一个人口是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)

algorithm genetic-algorithm evolutionary-algorithm

6
推荐指数
1
解决办法
480
查看次数

多边形(或其部分)的圆形近似

我的问题的简短描述

我需要为 3D 打印实现从 G1 指令到 G2 和 G3(http://www.cnccookbook.com/CCCNCGCodeArcsG02G03.htm)的GCODE 自动重构。

G1 是直线运动并打印(路径用矢量描述)。

我正在寻找基于给定向量路径的算法来近似圆/弧(特别是它的中点)。请注意,G2 和 G3 无法打印不属于圆的曲线 - 因此并非每个向量路径都可以通过这种方式近似。

我的问题的详细描述

我正在寻找通过圆(弧)来近似部分(或全部)向量路径(可以是正多边形、它的一部分或不规则多边形部分)的方法。但是,让我们首先关注规则多边形。

在图片中,我绘制了这个问题的不同情况。 注意:每个多边形都是由向量构建的(如第 5 点)。 在此处输入图片说明

  1. 全 x 边形上的近似值。
  2. 一侧不同的部分 x 边形的近似值
  3. x-gon 的近似值,其中两侧不同但彼此相等
  4. x-gon 的近似值,其中两侧不同(彼此不相等)不相等
  5. 所有边都相等的部分 x-gom 的近似值

这不是故事的开始……有几个标准:

  • 圆的起点/终点必须在矢量路径的起点/终点。
  • 我需要知道圆圈的中点。

我发现的解决方案(好的和坏的):

1) 和 5) - 我的简单解决方案

这是最简单的情况。我可以计算共享一个观点的每一侧之间的半径。如果它们具有相同的长度和每个之间的角度相等,我可以计算圆的中点(作为属于垂直中线的点,每边一条中线),我有我需要的一切:起点,终点,中点观点。

但此解决方案仅适用于情况 1 和 5。

当我遇到案例 2,3,4 或不规则多边形的部分时,我真的不知道该怎么办

algorithm approximation computational-geometry g-code

3
推荐指数
1
解决办法
1894
查看次数