Deterministik Hacim Hesabı: Aynı Ölçüm Neden Aynı Sayıyı Vermeli
Hesapla'ya iki kez basınca değişen bir hacim ölçüm değildir — gelmekte olan bir anlaşmazlıktır. Aylık mutabakat, hafriyat hakedişi ve denetim; aynı yüzeyin, sınırın ve referansın her seferinde, her makinede aynı sayıyı verdiğini varsayar. Bu yazı deterministik bir hacim hesabının neyi garanti etmesi gerektiğini ve STREAM'in kazı/dolgu motorunun bunu nasıl yaptığını anlatıyor.
Hesap gerçekte ne yapar
STREAM kazı/dolguyu kot ızgarası üzerinde hesaplar. Bir hücre, merkezi çizdiğiniz sınırın içindeyse sayılır. Sayılan her hücrede, yüzeye arazi düzenlemeleri ve kot ötelemesi uygulandıktan sonra Δz = zemin − referans alınır; pozitif Δz, Δz × hücre alanını kazıya, negatif Δz dolguya ekler. Verisi olmayan hücreler atlanır — asla sıfır sayılmaz.
Eğik (3B) alan da yanında verilir: her hücre plan alanı × √(1 + gx² + gy²) katkı yapar; eğim aynı düzeltilmiş yüzeydeki komşulardan alınır.
Tekrarlanabilir kılan kurallar
Determinizm kendiliğinden gelmez; birkaç bilinçli seçimden doğar. Her biri aynı girdinin farklı sayı üretebileceği bir yolu kapatır.
| Kural | Neyi önler |
|---|---|
| Hücreler sabit sırayla (satır şeritleri, satır satır) tek bir toplayıcıya gezilir | İş parçacığı zamanlamasıyla değişen kayan nokta toplamları |
| Örnekleme ızgaraları bir adımı tekrar tekrar ekleyerek değil, tamsayıyla sayılır | Bir çalıştırmada görünüp diğerinde düşen son satır ya da sütun |
| Hücre, merkezi sınırın içindeyse sayılır | Her seferinde farklı karar verilen belirsiz kısmi hücreler |
| NoData atlanır, asla sıfır okunmaz | Boşlukların sahte dolguya ya da kazıya dönüşmesi |
| 'En düşük nokta' referansı aynı düzeltilmiş yüzeyden okunur | Referansın bir yüzeyden, hacmin başka bir yüzeyden alınması |
| Rastgele örnekleme, saat ya da dosya sırası bağımlılığı yok | Sonucun ne zaman ya da nerede çalıştırıldığına bağlı olması |
Cevabı değiştirmeden hız
40 m'lik bir stoku ölçmek için 18 GB'lık bir yüzey baştan sona taranmamalı. STREAM bu yüzden yalnız sınırın çevresindeki bir pencereyi okur — sınırlayıcı kutu artı bir hücre; böylece komşu tabanlı eğim komşularını kaybetmez. Sınır dışındaki hücreler zaten hiçbir şey katmaz; pencere süreyi değiştirir, sonucu değil.
Aynı ilke bir miktarın her optimizasyonu için geçerlidir: daha hızlı yol birebir aynı sayıyı döndürmek zorundadır ve kıyas, yayından önce bilinen bir yüzeyde yapılır.
Sayıyı hâlâ değiştiren — ve değiştirmesi gereken — şeyler
Determinizm aynı girdinin aynı çıktıyı vermesidir; girdileri gizlemez. Referans, sınır, arazi düzenlemeleri ve yüzeyin sürümü hacmi değiştirir ve raporda hacmin yanına yazılmalıdır. Hücre merkeziyle sayıldığı için sınır hücre boyutu çözünürlüğünde izlenir: daha ince ızgara eğri bir sınırı daha yakından izler.
Her hacim aracını aynı yolla sınayabilirsiniz: cevabını bildiğiniz düzlemsel bir deneme yüzeyi kurun — boyunca 2 m yükselen 40 m × 30 m'lik platform, 101,5 m'ye karşı net 600 m³ kazı verir — ve iki kez çalıştırın. Sonuç analitik değerle de kendisiyle de son basamağına kadar aynı olmalı.
Sık sorulan sorular
Deterministik hacim hesabı nedir?
Aynı yüzey, sınır, referans ve ayarların, ne zaman ya da hangi makinede çalıştırılırsa çalıştırılsın her zaman birebir aynı hacmi verdiği hesaptır.
Bir hacim aracının iki çalıştırması neden biraz farklı sayı verebilir?
Genellikle sırası iş parçacığı zamanlamasıyla değişen paralel kayan nokta toplamları, bir adımı tekrar tekrar ekleyerek kurulan örnekleme ızgaraları ya da rastgele örnekleme yüzünden. Her biri sonucu girdiden başka bir şeye bağlar.
Bir hacim aracının tekrarlanabilir olup olmadığını nasıl sınarım?
Cevabı bilinen düzlemsel bir yüzey kullanın — örneğin boyunca 2 m yükselen 40 m × 30 m'lik platform (101,5 m'ye karşı net 600 m³ kazı) — ve iki kez çalıştırın. İki sonuç birbirine ve analitik değere eşit olmalı.
STREAM'de tekrarlanabilir kazı/dolgu hacmi hesaplayın
Yerel Windows · tamamen çevrimdışı · ücretsiz beta