我已經制定了測試兩個一維線段/範圍的方法。一維線段/量程相交測試:解決方案名稱?
因此限定範圍爲:
[min, max]
鑑於範圍內的兩個實例:
a = [min, max]
b = [min, max]
我使用以下方法來測試,如果它們相交:
(a.max - b.min) * (b.max - a.min) >= 0.
我覺得這是一個一維的交叉產品,所以我的問題是:
此解決方案是否被分類爲一維交叉產品或其他東西?
我已經制定了測試兩個一維線段/範圍的方法。一維線段/量程相交測試:解決方案名稱?
因此限定範圍爲:
[min, max]
鑑於範圍內的兩個實例:
a = [min, max]
b = [min, max]
我使用以下方法來測試,如果它們相交:
(a.max - b.min) * (b.max - a.min) >= 0.
我覺得這是一個一維的交叉產品,所以我的問題是:
此解決方案是否被分類爲一維交叉產品或其他東西?
如何:
intersects = !((a.max < b.min) || (b.max < a.min))
這是更快(不涉及繁殖和體面的編譯器會優化不走),只是爲可讀。
不錯的解決方案亞倫,我同意它比我的解決方案更清晰,我想我會用它來代替我的代碼:) – 2009-10-13 09:03:14
對於x
和y
這兩個實數,一維交叉積只是x*y
。所以我想你可以稱這是一個一維交叉產品,但這只是乘法的一個奇特名稱。
這是一個可愛的把戲,但我不認爲它在數學上有任何特殊的後果。交叉產品都是關於矢量的,而不是線段。
感謝彼得,是的,我只是在尋找一個奇特的名字:) – 2009-10-13 08:33:41
交叉積的推廣是產生向量空間的外代數的楔形積。 https://en.wikipedia.org/wiki/Exterior_algebra – 2015-10-07 02:56:57