→ blc: wiki上的演算法有看懂嗎? 08/19 21:36
還在理解中 不過似乎都是在處理2D的(?
※ 編輯: BanPeeBan (123.240.53.198 臺灣), 08/19/2020 22:02:15
※ 發信站: 批踢踢實業坊(ptt.cc)
※ 轉錄者: BanPeeBan (101.12.193.67 臺灣), 08/22/2020 05:43:29
※ 編輯: BanPeeBan (101.12.193.67 臺灣), 08/22/2020 05:48:36
推 hwanger : 目前只有最蠢的作法 每三個不共線的點做一個平面 08/22 08:35
→ hwanger : 考慮所有平面(最多C(n,3)個)的集合S 從中選出所有的 08/22 08:38
→ hwanger : 平面G滿足 所有的n點代進去要嘛全非負 要嘛全非正 08/22 08:40
→ hwanger : 收集所有這樣的G 形成S的子集合S'08/22 08:42
→ hwanger : 然後對於每一個S'的元素G 找出所有在G上的點p1,p2,.08/22 08:47
→ hwanger : ..,pk 接著用2D的作法去找在G上凸多邊形頂點就可以08/22 08:49
→ hwanger : 最後凸多面體的頂點 就是這些凸多邊形頂點的聯集08/22 08:51
推 hwanger : 如果單純只想知道一個點是否落在Convex hull 應該是08/22 13:39
→ hwanger : 可以用Farkas' lemma和Linear programming來判定08/22 13:40
推 hwanger : 如果只是想單純從n點中找落在boundary的點 把點代08/22 14:28
→ hwanger : 到S'的元素中即可08/22 14:28
感謝大大 我再想想看
※ 編輯: BanPeeBan (101.12.193.67 臺灣), 08/22/2020 14:47:33
推 hwanger : 雖然原po說沒查到什麼資料 可是google "convex hull 08/22 15:13
→ hwanger : 3D"其實還蠻多資料的 XDDDD 08/22 15:14
→ hwanger : 如果真得沒有找到可以實現的想法的話 可以查一下 08/22 15:16
→ hwanger : Qhull library的原始碼 scipy就是調用qhull 08/22 15:17
推 hwanger : 用Farkas' lemma和Linear programming的那個方法可 08/22 18:58
→ hwanger : 能會因為在想要的區域上沒有最小值而沒辦法判定 沒 08/22 18:58
→ hwanger : 有仔細check過 請先忽略他 08/22 18:58