慕尼黑8549860
2022-06-28 17:54:48
我想計(jì)算平面上幾個(gè)點(diǎn)的凸包,使用scipy.這是我的代碼:import numpy as npfrom scipy.spatial import ConvexHullpoints = np.array([[10, 10], [30, 10], [30, 20], [10, 20]])hull = ConvexHull(points)print(hull.vertices, hull.area)它打?。篬0 1 2 3] 60.0因此,返回的是周長(zhǎng)而不是面積(我檢查了另一個(gè)示例,相同的行為)。這是一個(gè)錯(cuò)誤嗎?Python 3.7.4(64 位),scipy 1.3.1。
2 回答

開(kāi)滿(mǎn)天機(jī)
TA貢獻(xiàn)1786條經(jīng)驗(yàn) 獲得超13個(gè)贊
我想hull.area
指的是一維的周長(zhǎng)和二維的面積。如果您想要由 1D 外殼分隔的區(qū)域或由 2D 外殼分隔的體積,請(qǐng)hull.volume
改為調(diào)用。

鴻蒙傳說(shuō)
TA貢獻(xiàn)1865條經(jīng)驗(yàn) 獲得超7個(gè)贊
Convex Hull的定義是基于周長(zhǎng),而不是面積:
在數(shù)學(xué)中,歐幾里得平面或歐幾里得空間(或更一般地,在實(shí)數(shù)上的仿射空間)中的一組點(diǎn) X 的凸包或凸包絡(luò)或凸閉包是包含 X 的最小凸集。例如,當(dāng) X 是平面的有界子集時(shí),可以將凸包可視化為由圍繞 X 拉伸的橡皮筋包圍的形狀。
所以這是一個(gè)預(yù)期的結(jié)果。盡管在我看來(lái)您已經(jīng)打印了周長(zhǎng) ( [0 1 2 3]
) 和面積 ( 60.0
)?
添加回答
舉報(bào)
0/150
提交
取消