91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

精度 Precision

發布時間:2020-07-01 17:52:33 來源:網絡 閱讀:216 作者:xmgdc 欄目:網絡安全

柏拉圖認為,盡管世間萬物是不完美的,但存在一種永恒不變的形式,這個形式是完美的,而生命的意義就是讓這個世界盡可能的接近這個完美的形式。

       怎么理解這句話,和我們今天講的精度有什么關系。我們先舉一個例子,方便大家的理解。比如一個圓,對應的數學形式為:

精度 Precision

       相信大家都不會否認這個公式很優雅,真的可以用完美無瑕來形容了。現在畫出來,去其中的一段圓弧,你就意識到,要達到形式上的完美,步步維艱。

精度 Precision

       可見,在現實生活中不存在絕對的完美,總有更高的標準,讓它變得完美。對應到數字上,不完美就是精度的損失。當然,這種損失是不可避免的,甚至是有益的,首先,它能降低成本,比如有損壓縮技術。其次,也有助于我們對事物的理解,比如地球是一個不規則球體,我們會認為它是一個橢球,甚至會進一步簡化,認為它是一個圓球。

       這就有了矛盾點,精度損失本來是一件壞事,怎么讓你三言兩語說成了一件好事。問題的癥結就在于我們對“形式”的理解深度,幫助我們更好的取舍,當我們合理的評估這種精度的損失,達到剛剛好的平衡,也是一種退而求其次的完美。

       上一節我們講了球心坐標和本地坐標之間的轉換,這里也有一個精度的問題。假設赤道上相距1米的兩個點之間的delta,如果是球心坐標,我們用經緯度來表示的話,地球半徑R為6378137米,兩點之間的經度差為x,推算如下。而我們采用以其中一點為原點的本地坐標時,兩點之間的差就是1米(b)。

精度 Precision

       兩個答案哪一個更準確。分為三種情況,一部分人認為答案a詳細準確,比如我們在星戰類電影里面都會有一個畫面,艦長說,距離地球還有多遠,總會有一個人說出一串長長的的數字,讓人覺得準確無誤;一部分人認為答案b簡單準確;還有一部分人認為,兩者一樣準確。確實,兩個答案都是通過數學公式推到出來的,理論上講可以做到一樣準確,但從程序員的角度,浮點型是有精度損失,這是浮點型的存儲規范導致的,通常精度能夠滿足多數需求,但一旦滿足不了,損失是巨大的,而且難發現難解決。比如哥倫比亞號爆炸,就是因為double精度問題導致。

浮點型格式

精度 Precision

       這部分之前做過一個視頻,可以在百度搜索:[編程]1 C++類型簡析,會有詳細介紹。如果不想花時間,只需要記住,float可以有7位有效數字,而double可以有16位,選擇合適的浮點類型,當你的精度需求超過這個范圍時,你就要小心了。

相機抖動

       如果精度達不到要求,怎么辦?不妨把原點換到一個相對近的位置,這樣就可以大大提高精度。這不就是坐標轉換的意義嗎?

       通常,我們都會有一個基準點,保證它是準確的,周邊的物體都是相對該基準點的位置,成為RTC,Relative to centre。但在Virtual Earth中,如果我們近地面瀏覽,RTC-rendering還是會出現瀏覽范圍超過float精度的情況,就會出現精度的丟失,也就是相機抖動。

       這里有兩個步驟,第一將RTC改為RTE(eye),以前以某一個事先約定的中心點為基準點,在瀏覽中,總會出現偏離該點的情況,越遠精度損失就越大,這時我們改為以相機位置為中心點有機會在介紹相關的推導,模型試圖矩陣,法向量等相機矩陣推導后續會專門介紹。當距離物體非常近時,采用RTE的坐標轉換會更精確。

       同時,因為shader中僅支持float類型,這里,Cesium提供了一種編碼方式,用float-float模擬一個double,來確保精度問題,對應EncodedCartesian3.encode方法。這樣,通過一個high的float和一個low的float,分別運算,解決抖動的問題,也算是GPU之duoble運算的一種思路吧。


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

石柱| 山阴县| 深州市| 运城市| 莲花县| 衢州市| 伊春市| 荃湾区| 宣恩县| 扶余县| 商水县| 新闻| 应城市| 通化市| 剑阁县| 饶阳县| 马鞍山市| 长武县| 仙游县| 嘉兴市| 苍溪县| 宁强县| 葵青区| 阿图什市| 邢台县| 海宁市| 新丰县| 竹溪县| 武胜县| 韶山市| 邛崃市| 台江县| 宝丰县| 北流市| 确山县| 彭泽县| 阿坝| 会同县| 赣州市| 崇礼县| 浪卡子县|