geometry + Python > 四面体結合体 > 隠面の「頂点インデックス組合せ」を見つける > v0.1
GeForce GTX 1070 (8GB)
ASRock Z170M Pro4S [Intel Z170chipset]
Ubuntu 16.04 LTS desktop amd64
TensorFlow v1.2.1
cuDNN v5.1 for Linux
CUDA v8.0
Python 3.5.2
IPython 6.0.0 -- An enhanced Interactive Python.
gcc (Ubuntu 5.4.0-6ubuntu1~16.04.4) 5.4.0 20160609
GNU bash, version 4.3.48(1)-release (x86_64-pc-linux-gnu)
scipy v0.19.1
geopandas v0.3.0
MATLAB R2017b (Home Edition)
背景
MATLAB > freeBoundary()を試してみた > tetmeshを処理してみた > 疑問点
MATLABにはfreeBoundary()というAPIがある。Numpyのビルトインにはない。
作るしかない(泥縄式開発方式: DDD[Doronawa Driven Development])
テストデータ
MATLAB > 四面体メッシュプロット > tetramesh() | view(30,30) | サブセット表示 tetramesh(tet(2:3,:),X)
上記にて隠面ありの四面体結合体の情報が得られている。
問題の整理
- 三角形の座標が与えられる
- 三角形の座標のインデックスの組合せが与えられる
- 隠面となる三角形のインデックス組合せを求めよ
上記の例の三角形のインデックス(以下)を用いる。
MATLABコード。
>> load tetmesh
>> tet(2:3,:)
ans =
1092 856 1094 1095
1092 1095 896 856
解き方 (案)
思いついたのが以下。
異なる2つの四面体において、インデックスが3つ重なっていれば隠面である。
code v0.1
Python3コード。
alist = [ 1092, 856, 1094, 1095 ]
blist = [ 1092, 1095, 896, 856 ]
#print(alist)
#print(blist)
overlap = []
for elem in alist:
if elem in blist:
overlap += [ elem ]
print(overlap)
Success #stdin #stdout 0.02s 27704KB
[1092, 856, 1095]
Author And Source
この問題について(geometry + Python > 四面体結合体 > 隠面の「頂点インデックス組合せ」を見つける > v0.1), 我々は、より多くの情報をここで見つけました https://qiita.com/7of9/items/040272752327456a2988著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .