cost 279 ms
非立方區域的莫頓曲線,是 2 的冪

[英]Morton curve for non cubic areas that are a power of two

在優化光線追蹤器時,我嘗試使用 Morton 空間填充曲線來改善相交數據結構的數據局部性,但我的 3D 空間不是立方的(例如 512x512x256)。 所有邊都是 2 的冪,但並非所有邊的長度都相同。 我一直找不到任何邊為 2 次方的非方形莫頓曲線的例子。 如果重要的話,我可以保證 x/y 軸的大 ...

最近鄰居的莫頓編碼?

[英]Morton encoding of nearest neighbours?

我在 3D 網格上使用 morton 編碼,以便一組點 (x,y,z) 給我一個 morton 編碼 M(x,y,z) 的一維數組,其中 x,y,z 是整數。 對於每個 M(x,y,z),我的計算還需要網格上的 26 個最近鄰,即。 M(x-1,y-1,z-1), M(x-1,y-1,z+0), ...

如何在 az 順序范圍搜索期間正確計算 bigmin 和 litmax?

[英]How can I properly calculate bigmin and litmax during a z order range search?

本文解釋了如何計算 bigmin 和 litmax(大最小值和小最大值)。 我很難理解第 4 步的措辭,以了解它將如何轉換為偽代碼、C 或 Python。 第四步 一個水平分割我們知道我們需要計算最接近yn分割線的緯度值。 取 min 和 max 的最高有效位直到它們第一次不同的地方 y ...

使用空間填充曲線的時空索引

[英]Spatial and spatio-temporal indexing using space-filling curves

我想根據空間信息或時空信息找到點q的最近鄰居。 為此,我想使用基於Z階曲線或希爾伯特曲線的鍵創建B樹索引。 但是,我已經看到,希爾伯特曲線比Z階更難實現。 我的問題是: 是否值得在最近的鄰居查詢中對Z階曲線使用希爾伯特曲線? ...

使用位交錯的 3D Morton 編碼,傳統與 BMI2 指令集

[英]3D Morton Encoding using bit interleaving, Conventional vs BMI2 Instruction Set

我希望以快速有效的方式在 C 中為 Morton Z-Order 編碼和解碼編寫兩個函數,即。 我之前關注過這些問題 如何計算 3d morton 數交錯 3 個整數的位 我當前基於 SO 和開源代碼的解決方案是 我最近遇到了這個問題(在嘗試使用 2D morton 代碼時): 2d mo ...

3D 網格的 Morton 反向編碼

[英]Morton Reverse Encoding for a 3D grid

我有一個 3D 網格/陣列,比如u[nx+2][ny+2][nz+2] 。 尾隨的 +2 對應於x,y,z三個維度中的每一個維度中的兩層光暈單元。 我有另一個允許細化(使用四叉樹)的網格,因此我有每個單元格的 morton 索引(或 Z 順序)。 假設沒有細化,這兩個網格在物理現實中是相似的(除了 ...

如何有效地交織8 __int16個數字的位?

[英]How to efficiently interleave bits from 8 __int16 numbers?

我正在構建用於空間索引的Morton數,我有8個無符號16位數,它們將變成__int128數。 效率是至關重要的,所以天真的解決方案(循環所有)或構建單獨的8 128位數字太昂貴了。 我正在使用GCC,目標機器是64位但沒有BMI2支持。 如何加快計算速度? ...

用morton代碼找到最近的鄰居

[英]Find nearest neighbor with morton code

我已經實現了一種decode/encode方法,用於將2d點轉換為它們各自的morton code 。 我在尋找的是找到最近的鄰居(在min_distance )所以例如這樣的事情: 這可能嗎? ...

Z-Index有超出界限的限制

[英]Z-Index with out of bound restrictions

我需要從2坐標x,y計算平面上某點的Z-Index(Morton)。 傳統上,這只是通過比特交織來解決的。 但是我有邊界,並且我希望點的z-index僅在活動區域​​內增加morton計數,並在外部時跳過計數。 需要說明的是,4x4平方的典型z順序為: 但是,如果我有一 ...

Morton 編碼 Z 索引空間使用

[英]Morton Encoding Z-indexing Space Usage

我有點困惑,因為我測試了幾種算法來計算 z 索引,對於 (8, 8, 8) 我得到 3584,對於 (7, 7, 7) 我得到 511,這是正確的。 問題是 8*8*8 = 512,而 z-index 是 3584。這意味着如果我使用一維數組按 z-index 存儲東西,我會不會使用更多空間,並且會 ...

2D Morton解碼功能64位

[英]2D Morton decode function 64bits

第一個函數使用Binary Magic Numbers的交織位將[x,y]編碼為64位寬的莫頓碼,其中x和y是32位寬的整數。 反向功能是什么? ...

2d Morton代碼64位解碼功能

[英]2d Morton code 64bits decode function

第一個函數將[x,y]編碼為64位寬的Morton代碼,其中x和y是32位寬整數,使用Binary Magic Numbers的Interleave位。 反向功能是什么? ...

2D莫頓碼編碼/解碼64位

[英]2D morton code encode/decode 64bits

如何將給定[x,y]的莫頓碼(z階)編碼/解碼為產生64位morton碼的32位無符號整數,反之亦然? 我確實有xy2d和d2xy,但僅適用於16位寬的坐標,產生32位morton數。 在網上搜索了很多,但找不到。 請幫忙。 ...

如何在范圍搜索中使用莫頓階(z階曲線)?

[英]How to use Morton Order(z order curve) in range search?

如何在范圍搜索中使用 Morton Order? 來自wiki ,在“使用一維數據結構進行范圍搜索”段落中, 它說 “被查詢的范圍(x = 2, ..., 3, y = 2, ..., 6)用虛線矩形表示。它的最高Z值(MAX)是45。在這個例子中,值在 Z 值遞增方向搜索數據結構時遇到 F = ...

如何將緯度和經度轉換為莫頓碼(z 階曲線)

[英]How convert latitude & longitude to Morton code(z order curve)

我在 Inte.net 上搜索,但只找到了一些關於如何將緯度和經度轉換為莫頓代碼(z 順序曲線)的信息。 從鏈接我知道如何將兩個整數轉換為莫頓代碼。 但是,如果我有緯度或經度等浮點值,我應該如何將浮點值轉換為整數? 然后我可以將 int 轉換為 Morton 代碼。 例如,c# 代碼: 在這里,我 ...

我怎樣才能有效地改變比特?

[英]How can I shuffle bits efficiently?

我需要以偶數索引落在低位字節中的方式對一個16位無符號整數進行混洗,並且奇數索引落在高位字節中。 我的代碼目前看起來像這樣: 我想知道是否有一個比簡單地提取和移動每個單獨位更優雅的解決方案? ...

Morton代碼對於更高維度是最有效的嗎?

[英]Is Morton code the most efficient for higher dimensions?

對於我當前的輸入數據,即3D點,我在訪問點列表時使用Morton代碼來提高緩存一致性。 我有一些其他數據是6D和7D。 Morton代碼對於這樣的尺寸仍然是一種很好的技術嗎? 還是有其他技術嗎? 其他空間填充曲線技術比3D本身的Morton更復雜,我想知道人們是否使用6D / 7D或 ...

使用莫頓碼壓縮數據-如何?

[英]Using morton codes to compress data - how?

我一直在閱讀有關莫頓碼的信息,但我知道在生成的數字序列中保留了局部性。 我不了解的是如何使用這些信息來壓縮數據或有效地並行構造數據。 資料來源: http : //www.forceflow.be/2013/10/07/morton-encodingdecoding-through- ...

如何在范圍搜索中使用Morton Order?

[英]How to use Morton Order in range search?

如果我有一個數據集,其中鍵是3D中的點,由3個帶符號的64位整數表示。 我想使用(排序的)鍵值存儲來存儲它們,其中鍵只是字節數組(但我可以指定一個比較器)。 我想我可以通過使用位交錯將所有這些點轉換為字節數組,就像在Z / Morton命令中一樣,如在如何計算3D Morton數中那樣 ...


 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM