gpt4 book ai didi

algorithm - 找到 'average' 矢量形状?

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:18:34 25 4
gpt4 key购买 nike

我有 100 个相似的形状(简单矢量图形)。我如何找到所有 100 个实例的“平均/合并”形状?

谢谢,你

最佳答案

算法提案

  1. 计算每个形状 {A} 的面积。

  2. 找到具有最多点 {N} 的形状 {S}(您最终会得到一个 N 边多边形)

  3. 将 {S} 与另一个形状合并并创建第一个合并的 {M} 形状。然后将 {M} 与剩余的形状合并。 {M} 将是动态的/重写/每次与另一个形状合并时都会改变。


合并函数:伪代码
首先调用 Merge({S}, {S2}),然后为其余形状调用 Merge({M}, {S2})

参数:
{S1}=点数最多的形状;
{S2}=要合并的形状;

function Merge({S1}, {S2}):    

FOR EACH {point} of {S1} DO
{near}=find nearest {S2}{point}
{size}=( SQRT({S1}{A}) + SQRT({S2}{A}) )/2
{line}=create line starting at {near}, going to/over {point} of length {size}
add point in {M} with position at half the {line}
END FOR
RETURN {M}
;

3种初始形状:矩形、三角形、7边多边形 {S}=green
3shapes

merged green with rectangle {M}=blue
merge1

merged blue with triangle {M}=yellow <-最终结果 final

注意:合并的形状不按比例!没占面积!

关于algorithm - 找到 'average' 矢量形状?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14730340/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com