我正在繪製一個具有遊動立方體(正方形,因爲它是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:那麼如果你理解它,應該清楚字典鍵是邊數。 –