我正在绘制一个具有游动立方体(正方形,因为它是2d)算法的元球。 一切都很好,但我想把它作为一个矢量对象。Vectorised游行立方体(正方形) - 将线条连接成曲线
到目前为止,我已经从每个活动的方形中得到了一两条向量线,并将它们保存在列表行中。换句话说,我有一组小矢量线,空间上显示几个等值线(曲线) - 我的目标是从线重建那些曲线。
现在我坚持快速将它们连接在一起:基本上我需要将所有行一一连接成几个序列(曲线)。我不知道有多少曲线(序列)会在那里,线条可能在不同的方向,我需要将线条处理成独特点的序列。
到目前为止,我写的东西显然是丑陋和半工作(这里线是点作为属性点,并CHP的列表中选择一个类的功能检查,如果点足够接近,牛逼 definies这个“够”):
def countur2(lines):
'''transform random list of lines into
list of grouped sequences'''
t = 2 # tolerance
sqnss = [[lines[0]]] # sequences
kucha = [lines[0]] #list of already used lines
for l in lines:
for i,el in enumerate(lines):
print 'working on el', i
ss = sqnss[-1][0]
ee = sqnss[-1][-1]
if el not in kucha:
if chP(el.points[0],ee.points[1],t):
sqnss[-1].append(el)
kucha.append(el)
break
elif chP(el.points[1],ee.points[1],t):
sqnss[-1].append(el.rvrse())
kucha.append(el)
break
elif chP(el.points[1],ss.points[0],t):
sqnss[-1] = [el] + sqnss[-1]
kucha.append(el)
break
elif chP(el.points[0],ss.points[0],t):
sqnss[-1] = [el.rvrse()] + sqnss[-1]
kucha.append(el)
break
print 'new shape added, with el as start'
sqnss.append([el])
kucha.append(el)
#return sqnse of points
ps = []
for x in sqnss: ps.append([el.points[0] for el in x])
return ps
我知道这是一个大问题,但请给我正确的方向上没有任何线索来处理这个任务
作为这些字典中的关键字(解决方案1),你是什么意思? –
@Casy_fill:你了解链接过程吗? –
@Casy_fill:那么如果你理解它,应该清楚字典键是边数。 –