擅长:python、mysql、java
<p>@UnholySheep的bb交叉检查应该是第一步,但是你的问题有两个主题:</p>
<ul>
<li>第一种方法是快速找到所有顶点的位置
<a href="http://www.fevrierdorian.com/blog/post/2011/09/27/Quickly-retrieve-vertex-positions-of-a-Maya-mesh-(English-Translation)" rel="nofollow noreferrer">python api in maya</a></li>
<li>第二个是比较N个点之间的距离,
使用<a href="https://stackoverflow.com/questions/1401712/how-can-the-euclidean-distance-be-calculated-with-numpy">numpy</a>非常快</li>
</ul>
<p>对于第二步,我建议您编写自己的C模块,它可以在python中调用。创建一个沙盒maya场景,并使用不同的方法测量时间</strong></p>
<pre><code>run_t = timeit.default_timer()
test_find_all_vertices_method_a()
print(timeit.default_timer() - run_t)
run_t = timeit.default_timer()
test_find_all_vertices_method_b()
print(timeit.default_timer() - run_t)
</code></pre>