我查看了python-graph和boost圖形庫的python綁定,但沒有發現任何與網格的雙重化有關的東西(對偶的頂點是原始圖的面,並且通過邊如果它們在原始圖中共享邊,則爲雙)。在我開始重新發明這個輪子之前,有沒有可能忽視的實現?是否有能夠計算3D網格對偶的Python庫?
2
A
回答
2
可能有,但實現它很簡單。要做到這一點,需要找到使用它的三角形的邊緣。有了這些信息,就可以構建三角形之間的連接。
簡單的Python實現,三角形(或多邊形)爲頂點索引列表和邊緣有序對頂點指數:
from collections import defaultdict
from itertools import combinations
triangles = [(1,2,3), (2,3,4), (1,3,5), (3,4,5), (5,6,7), (4,5,6)]
# For each edge set triangles containing that edge
edge2trias = defaultdict(list) # edge (v1,v2) -> list of triangles
for t_ind, ps in enumerate(triangles):
for edge in zip(ps, ps[1:]+ps[:1]):
edge2trias[tuple(sorted(edge))].append(t_ind)
# For each edge, set pair(s) of neighbouring triangles
tria2neigh = defaultdict(list) # triangle index -> list of neighbouring triangles
for edge, trias in edge2trias.iteritems():
for t1, t2 in combinations(trias, 2):
tria2neigh[t1].append(t2)
tria2neigh[t2].append(t1)
1
並回答自己的問題 - graph-tool's line graph function計算雙圖的。
相關問題
- 1. C#WPF不能夠對3D網格
- 2. 3D碰撞網格(更有效的碰撞計算)
- 3. 是否有計算許多3D對象所需的總3D空間的OSS或算法?
- 4. 是否有一個能夠理解SKOS的Python庫,特別是altLabel-/pref-Label-Concept?
- 5. CGAL是否支持多個對象的3D網格劃分?
- 6. 基於性能的雲計算和網格計算的比較
- 7. AutoMapper是否能夠更新對象
- 8. 是否有運算符來計算Python中的百分比?
- 9. 如何計算3D網格中的主要曲率方向?
- 10. 是否有能夠使用MTOM處理WS-Security的Java SOAP庫?
- 11. 是否有一個Java庫能夠收集UI使用情況統計信息?
- 12. 程序計算出輸入的數字是否爲偶數
- 13. 是否有可能在Python中返回AD中的所有計算機
- 14. Python:從3D投影計算對象的2D區域
- 15. 智能手機網格計算
- 16. 讓我的jquery計算器能夠計算百分比
- 17. 網格計算API
- 18. Javascript網格計算
- 19. 網格內計算
- 20. Python 3D數組。計算R平方
- 21. Ç計算所有可能的子網
- 22. 一個良好的3D網格庫
- 23. 是否有可能使設計人員能夠運行的方法
- 24. 如何累積3D三角形網格的邊緣?在c C++中計算網格邊緣的算法?
- 25. 有沒有任何C#3D圖形庫可以幫助我計算3D對象在空間中的2D位置?
- 26. 是否有可能在第二個gridview中計算總計?
- 27. CMake的不能夠找到Python庫
- 28. 3D相對角度總和計算
- 29. 算法是否存在計算兩個水密網格的聯合?
- 30. 'params'串是否足夠防止偶爾的讀者讀取它?
是的,結束了一個非常類似的實現。 –