[英]Calculating the Moment Of Inertia for a concave 2D polygon relative to its orgin
[英]Get a 2D concave polygon from a 3D object
為了計算3D對象的2D表示形式,一種可能的方法是柵格化:從頂視圖創建對象的二進制柵格圖像(“二進制”表示每個像素只有黑色或白色),然后使用一組黑色像素作為2D對象表示形式,或者如果您仍然想要多邊形,則可以運行邊界遍歷算法來計算構成此2D對象邊界的像素序列。 該算法的精度取決於像素分辨率。 一種這樣的實現是OpenCV的findContours( http://docs.opencv.org/2.4/doc/tutorials/imgproc/shapedescriptors/find_contours/find_contours.html )。
擁有像素序列后,您可能希望簡化多段線,以保持較低的頂點數,以便對該多段線的后續操作將運行得更快。 (請參閱http://doc.cgal.org/latest/Polyline_simplification_2/index.html )
更一般而言,如果要進行碰撞,則需要從確定碰撞檢測的精確度開始。 如果需要高精度的3D碰撞檢測,則將平面展平到2D並不是一個好方法。 因此,如果需要高精度和高性能,則必須對網格進行一些預處理,例如計算軸對齊的邊界框或邊界球的層次樹( https://en.wikipedia.org/wiki/Bounding_volume_hierarchy ) 。 如果您的對象經歷了剛性變換,那么邊界球會很好,因為球體在剛性變換下仍然是球體,因為邊界框在旋轉后不會保持軸對齊。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.