優(yōu)化大師app下載汕頭seo建站
OSG陰影
????????在虛擬現(xiàn)實(shí)仿真中,為了真實(shí)地模擬自然效果,陰影效果是不可缺少的,它對一個場景的真實(shí)性是非常重要的。在游戲或仿真中,一個高效的陰影往往能夠提供非常強(qiáng)悍的視覺真實(shí)感。
osgShadow庫
????????在OSG中專門定義了一個名字空間osgShadow來控制渲染實(shí)時陰影。實(shí)時陰影是一種相對高級的技術(shù),在每一頓,場景中的幾何體或燈光位置變動時要計算一個叫做shadow volume的物體shadow volume實(shí)際上是一個三維物體,是投影物體的輪廓,總是從光源方向投出。osgShadow庫的主要組成模塊可以用圖11-10來表示,下面分別介紹這些模塊。
圖11-10 osgShadow庫的主要組成模塊
- osgShadow::ShadowedScene類: 陰影組節(jié)點(diǎn),它繼承自osg::Group,因此可以添加子節(jié)點(diǎn)。同時,它可以指定投影對象和接受投影的對象。
- void?setReceivesShadowTraversalMask(unsigned?int?mask);??
- unsigned?int?getReceivesShadowTraversalMask()?const;??
- void?setCastsShadowTraversalMask(unsigned?int?mask);??
- unsigned?int?getCastsShadowTraversalMask()?const;??
????????指定陰影實(shí)現(xiàn)的方法如下:
- void?setShadowTechnique(ShadowTechnique?*technique)??
- ShadowTechnique*?getShadowTechnique()???
- const ShadowTechnique*?getShadowTechnique()?const??
- osgShadow::ShadowTechnique 類:實(shí)現(xiàn)各種陰影的基類,它派生出3 個子類分別為ShadowMap、ShadowTexture和ShadowVolume。
- osgShadow::ShadowMap:實(shí)現(xiàn)陰影貼圖(shadow map)類。
- osgShadow::ShadowTexture:實(shí)現(xiàn)陰影紋理(shadow texture)類。
- osgShadow::ShadowVolume:實(shí)現(xiàn)基于模板緩存的體積陰影(volume shadow)的陰影技法類。
????????陰影的實(shí)現(xiàn)方法有很多種,現(xiàn)在比較流行的主要是shadow mapping 和shadow volume,前者實(shí)現(xiàn)起來相對簡單,可以發(fā)揮現(xiàn)在GPU可編程流水線的能力,但是由于先天不足,shadow mapping在處理動態(tài)光源/物體時開銷過大,經(jīng)常作為一種靜態(tài)場景中的廉價替代物。而shadow volume的強(qiáng)項正好是shadow mapping的短處,像DOOM3這種大量運(yùn)用動態(tài)光源并且要對時刻都在運(yùn)動中的物體投射陰影,shadow volume是現(xiàn)階段唯一的選擇。
????????<1> shadow mapping算法
????????一個物體之所以會處在陰影中,是由于在它和光源之間存在著遮蔽物,或者說遮蔽物離光源的距離比物體近,這就是shadow mapping算法的基本原理。
????????[1] 以光源為視點(diǎn),或者說是在光源坐標(biāo)系下對整個場景進(jìn)行渲染,目的是要得到一幅所有物體相對于光源的depth map(也就是常說的 shadow map),也就是這幅圖像中每個像素的值代表著場景里面離光源最近的像素的深度值。由于這個階段感興趣的只是像素的深度值,所以可以把所有的光照計算關(guān)掉,并打開z_test和z_write 的渲染狀態(tài)。
????????[2] 將視點(diǎn)恢復(fù)到原來的正常位置,渲染整個場景,對每個像素計算它和光源的距離,然后將這個值和 depth map 中應(yīng)的值比較以確定這個像素點(diǎn)是否處在影當(dāng)中,然后根據(jù)比較的結(jié)果對shadowed fragment 和 lighted fragment 分別進(jìn)行不同的光照計算,這樣就可以得到陰影的效果了。
????????從上面的分析可以看出,depth map 的渲染只和光源的位置及場景中物體的位置有關(guān),無論視點(diǎn)怎么運(yùn)動,只要光源和物體的相互位置關(guān)系不變,shadow map 就可以被重復(fù)使用,因此,對于沒有動態(tài)光源的場景,shadow mapping 是很明智的一種選擇。
????????<2> shadow volume 算法
????????shadow volume 算法第一次被提出是在 1977 年 Franklin C.Crow 寫的一篇論文《SHADOWALGORITHMS_FOR_COMPUTER_GRAPHICS》里,其基本原理是根據(jù)光源和遮蔽物的位置關(guān)系計算出場景中會產(chǎn)生陰影的區(qū)域,然后對所有物體進(jìn)行檢測,以確定其會不會受陰影的影響。具體的算法可查看原論文,這里就不再翻譯了。
????????在一個場景中添加陰影的主要步驟如下:
????????(1) 創(chuàng)建一個陰影場景(osgShadow::ShadowedScene)對象,添加相應(yīng)的子節(jié)點(diǎn),并標(biāo)識陰影接收對象和陰影投影對象。
????????(2)創(chuàng)建一個陰影技術(shù)對象,主要有 osgShadow::ShadowMap、osgShadow::ShadowTexture和osgShadow::ShadowVolume,并關(guān)聯(lián)到陰影場景對象。
????????(3)把陰影場景對象作為子節(jié)點(diǎn)加到場景根節(jié)點(diǎn)下,實(shí)例渲染。
????????下面來看一個簡單的陰影示例。
???????陰影示例
????????陰影(osgShadow)示例的代碼如程序清單 11-8 示。
/********************************* 陰影 *********************************/
const int ReceivesShadowTraversalMask = 0x1;// 標(biāo)識陰影接收對象
const int CastsShadowTraversalMask = 0x2;
const float vertex[][3] = {{ 5998.7998, 41456.1016, 1.7800 },{ 5998.7998, 41456.3984, 1.8200 },{ 5998.7998, 41456.6992, 1.8600 },{ 5998.7998, 41457.0000, 1.8800 },{ 5998.7998, 41457.3008, 1.9000 },{ 5998.7998, 41457.6016, 1.9000 },{ 5998.7998, 41457.8984, 1.8900 },{ 5998.7998, 41458.1992, 1.8800 },{ 5998.7998, 41458.5000, 1.8600 },{ 5998.7998, 41458.8008, 1.8500 },{ 5998.7998, 41459.1016, 1.8300 },{ 5998.7998, 41459.3984, 1.8100 },{ 5998.7998, 41459.6992, 1.7800 },{ 5998.7998, 41460.0000, 1.7500 },{ 5998.7998, 41460.3008, 1.7300 },{ 5998.7998, 41460.6016, 1.7100 },{ 5998.7998, 41460.8984, 1.7000 },{ 5998.7998, 41461.1992, 1.6900 },{ 5998.7998, 41461.5000, 1.7000 },{ 5998.7998, 41461.8008, 1.7400 },{ 5998.7998, 41462.1016, 1.7900 },{ 5998.7998, 41462.3984, 1.8600 },{ 5998.7998, 41462.6992, 1.9400 },{ 5998.7998, 41463.0000, 1.9900 },{ 5998.7998, 41463.3008, 2.0200 },{ 5998.7998, 41463.6016, 2.0300 },{ 5998.7998, 41463.8984, 2.0300 },{ 5998.7998, 41464.1992, 2.0200 },{ 5998.7998, 41464.5000, 2.0100 },{ 5998.7998, 41464.8008, 1.9900 },{ 5998.7998, 41465.1016, 1.9700 },{ 5998.7998, 41465.3984, 1.9600 },{ 5998.7998, 41465.6992, 1.9500 },{ 5998.7998, 41466.0000, 1.9500 },{ 5998.7998, 41466.3008, 1.9500 },{ 5998.7998, 41466.6016, 1.9500 },{ 5998.7998, 41466.8984, 1.9400 },{ 5998.7998, 41467.1992, 1.9300 },{ 5998.7998, 41467.5000, 1.9200 },{ 5999.1001, 41456.1016, 1.8600 },{ 5999.1001, 41456.3984, 1.9100 },{ 5999.1001, 41456.6992, 1.9600 },{ 5999.1001, 41457.0000, 1.9900 },{ 5999.1001, 41457.3008, 2.0100 },{ 5999.1001, 41457.6016, 2.0000 },{ 5999.1001, 41457.8984, 1.9700 },{ 5999.1001, 41458.1992, 1.9400 },{ 5999.1001, 41458.5000, 1.9100 },{ 5999.1001, 41458.8008, 1.8700 },{ 5999.1001, 41459.1016, 1.8400 },{ 5999.1001, 41459.3984, 1.8000 },{ 5999.1001, 41459.6992, 1.7700 },{ 5999.1001, 41460.0000, 1.7400 },{ 5999.1001, 41460.3008, 1.7300 },{ 5999.1001, 41460.6016, 1.7200 },{ 5999.1001, 41460.8984, 1.7200 },{ 5999.1001, 41461.1992, 1.7300 },{ 5999.1001, 41461.5000, 1.7600 },{ 5999.1001, 41461.8008, 1.7900 },{ 5999.1001, 41462.1016, 1.8300 },{ 5999.1001, 41462.3984, 1.8700 },{ 5999.1001, 41462.6992, 1.9100 },{ 5999.1001, 41463.0000, 1.9400 },{ 5999.1001, 41463.3008, 1.9700 },{ 5999.1001, 41463.6016, 1.9900 },{ 5999.1001, 41463.8984, 2.0100 },{ 5999.1001, 41464.1992, 2.0200 },{ 5999.1001, 41464.5000, 2.0100 },{ 5999.1001, 41464.8008, 1.9900 },{ 5999.1001, 41465.1016, 1.9700 },{ 5999.1001, 41465.3984, 1.9600 },{ 5999.1001, 41465.6992, 1.9600 },{ 5999.1001, 41466.0000, 1.9600 },{ 5999.1001, 41466.3008, 1.9600 },{ 5999.1001, 41466.6016, 1.9600 },{ 5999.1001, 41466.8984, 1.9600 },{ 5999.1001, 41467.1992, 1.9600 },{ 5999.1001, 41467.5000, 1.9600 },{ 5999.3999, 41456.1016, 1.9200 },{ 5999.3999, 41456.3984, 1.9800 },{ 5999.3999, 41456.6992, 2.0300 },{ 5999.3999, 41457.0000, 2.0600 },{ 5999.3999, 41457.3008, 2.0700 },{ 5999.3999, 41457.6016, 2.0500 },{ 5999.3999, 41457.8984, 2.0100 },{ 5999.3999, 41458.1992, 1.9700 },{ 5999.3999, 41458.5000, 1.9200 },{ 5999.3999, 41458.8008, 1.8700 },{ 5999.3999, 41459.1016, 1.8300 },{ 5999.3999, 41459.3984, 1.7900 },{ 5999.3999, 41459.6992, 1.7500 },{ 5999.3999, 41460.0000, 1.7300 },{ 5999.3999, 41460.3008, 1.7200 },{ 5999.3999, 41460.6016, 1.7200 },{ 5999.3999, 41460.8984, 1.7400 },{ 5999.3999, 41461.1992, 1.7700 },{ 5999.3999, 41461.5000, 1.8100 },{ 5999.3999, 41461.8008, 1.8400 },{ 5999.3999, 41462.1016, 1.8700 },{ 5999.3999, 41462.3984, 1.8900 },{ 5999.3999, 41462.6992, 1.9100 },{ 5999.3999, 41463.0000, 1.9200 },{ 5999.3999, 41463.3008, 1.9400 },{ 5999.3999, 41463.6016, 1.9700 },{ 5999.3999, 41463.8984, 2.0000 },{ 5999.3999, 41464.1992, 2.0100 },{ 5999.3999, 41464.5000, 2.0100 },{ 5999.3999, 41464.8008, 2.0000 },{ 5999.3999, 41465.1016, 1.9800 },{ 5999.3999, 41465.3984, 1.9700 },{ 5999.3999, 41465.6992, 1.9700 },{ 5999.3999, 41466.0000, 1.9700 },{ 5999.3999, 41466.3008, 1.9800 },{ 5999.3999, 41466.6016, 1.9800 },{ 5999.3999, 41466.8984, 1.9900 },{ 5999.3999, 41467.1992, 1.9900 },{ 5999.3999, 41467.5000, 2.0100 },{ 5999.7002, 41456.1016, 1.9800 },{ 5999.7002, 41456.3984, 2.0300 },{ 5999.7002, 41456.6992, 2.0700 },{ 5999.7002, 41457.0000, 2.0900 },{ 5999.7002, 41457.3008, 2.0800 },{ 5999.7002, 41457.6016, 2.0500 },{ 5999.7002, 41457.8984, 2.0000 },{ 5999.7002, 41458.1992, 1.9500 },{ 5999.7002, 41458.5000, 1.9000 },{ 5999.7002, 41458.8008, 1.8400 },{ 5999.7002, 41459.1016, 1.8000 },{ 5999.7002, 41459.3984, 1.7600 },{ 5999.7002, 41459.6992, 1.7200 },{ 5999.7002, 41460.0000, 1.7100 },{ 5999.7002, 41460.3008, 1.7100 },{ 5999.7002, 41460.6016, 1.7200 },{ 5999.7002, 41460.8984, 1.7500 },{ 5999.7002, 41461.1992, 1.8000 },{ 5999.7002, 41461.5000, 1.8600 },{ 5999.7002, 41461.8008, 1.9000 },{ 5999.7002, 41462.1016, 1.9300 },{ 5999.7002, 41462.3984, 1.9400 },{ 5999.7002, 41462.6992, 1.9400 },{ 5999.7002, 41463.0000, 1.9500 },{ 5999.7002, 41463.3008, 1.9600 },{ 5999.7002, 41463.6016, 1.9800 },{ 5999.7002, 41463.8984, 2.0000 },{ 5999.7002, 41464.1992, 2.0100 },{ 5999.7002, 41464.5000, 2.0100 },{ 5999.7002, 41464.8008, 2.0000 },{ 5999.7002, 41465.1016, 1.9900 },{ 5999.7002, 41465.3984, 1.9800 },{ 5999.7002, 41465.6992, 1.9800 },{ 5999.7002, 41466.0000, 1.9900 },{ 5999.7002, 41466.3008, 2.0000 },{ 5999.7002, 41466.6016, 2.0100 },{ 5999.7002, 41466.8984, 2.0200 },{ 5999.7002, 41467.1992, 2.0400 },{ 5999.7002, 41467.5000, 2.0600 },{ 6000.0000, 41456.1016, 2.0200 },{ 6000.0000, 41456.3984, 2.0400 },{ 6000.0000, 41456.6992, 2.0600 },{ 6000.0000, 41457.0000, 2.0600 },{ 6000.0000, 41457.3008, 2.0400 },{ 6000.0000, 41457.6016, 2.0000 },{ 6000.0000, 41457.8984, 1.9500 },{ 6000.0000, 41458.1992, 1.9000 },{ 6000.0000, 41458.5000, 1.8400 },{ 6000.0000, 41458.8008, 1.7900 },{ 6000.0000, 41459.1016, 1.7500 },{ 6000.0000, 41459.3984, 1.7100 },{ 6000.0000, 41459.6992, 1.6900 },{ 6000.0000, 41460.0000, 1.6800 },{ 6000.0000, 41460.3008, 1.6900 },{ 6000.0000, 41460.6016, 1.7200 },{ 6000.0000, 41460.8984, 1.7600 },{ 6000.0000, 41461.1992, 1.8200 },{ 6000.0000, 41461.5000, 1.8800 },{ 6000.0000, 41461.8008, 1.9300 },{ 6000.0000, 41462.1016, 1.9600 },{ 6000.0000, 41462.3984, 1.9600 },{ 6000.0000, 41462.6992, 1.9600 },{ 6000.0000, 41463.0000, 1.9600 },{ 6000.0000, 41463.3008, 1.9700 },{ 6000.0000, 41463.6016, 1.9900 },{ 6000.0000, 41463.8984, 2.0100 },{ 6000.0000, 41464.1992, 2.0200 },{ 6000.0000, 41464.5000, 2.0200 },{ 6000.0000, 41464.8008, 2.0100 },{ 6000.0000, 41465.1016, 1.9900 },{ 6000.0000, 41465.3984, 1.9900 },{ 6000.0000, 41465.6992, 1.9900 },{ 6000.0000, 41466.0000, 2.0000 },{ 6000.0000, 41466.3008, 2.0200 },{ 6000.0000, 41466.6016, 2.0400 },{ 6000.0000, 41466.8984, 2.0600 },{ 6000.0000, 41467.1992, 2.0800 },{ 6000.0000, 41467.5000, 2.1000 },{ 6000.2998, 41456.1016, 2.0600 },{ 6000.2998, 41456.3984, 2.0700 },{ 6000.2998, 41456.6992, 2.0700 },{ 6000.2998, 41457.0000, 2.0500 },{ 6000.2998, 41457.3008, 2.0200 },{ 6000.2998, 41457.6016, 1.9700 },{ 6000.2998, 41457.8984, 1.9000 },{ 6000.2998, 41458.1992, 1.8400 },{ 6000.2998, 41458.5000, 1.7800 },{ 6000.2998, 41458.8008, 1.7400 },{ 6000.2998, 41459.1016, 1.7000 },{ 6000.2998, 41459.3984, 1.6800 },{ 6000.2998, 41459.6992, 1.6700 },{ 6000.2998, 41460.0000, 1.6700 },{ 6000.2998, 41460.3008, 1.6800 },{ 6000.2998, 41460.6016, 1.7100 },{ 6000.2998, 41460.8984, 1.7400 },{ 6000.2998, 41461.1992, 1.7800 },{ 6000.2998, 41461.5000, 1.8300 },{ 6000.2998, 41461.8008, 1.8700 },{ 6000.2998, 41462.1016, 1.8900 },{ 6000.2998, 41462.3984, 1.9000 },{ 6000.2998, 41462.6992, 1.9000 },{ 6000.2998, 41463.0000, 1.9100 },{ 6000.2998, 41463.3008, 1.9300 },{ 6000.2998, 41463.6016, 1.9500 },{ 6000.2998, 41463.8984, 1.9800 },{ 6000.2998, 41464.1992, 2.0000 },{ 6000.2998, 41464.5000, 2.0100 },{ 6000.2998, 41464.8008, 2.0100 },{ 6000.2998, 41465.1016, 2.0000 },{ 6000.2998, 41465.3984, 2.0000 },{ 6000.2998, 41465.6992, 2.0000 },{ 6000.2998, 41466.0000, 2.0200 },{ 6000.2998, 41466.3008, 2.0400 },{ 6000.2998, 41466.6016, 2.0600 },{ 6000.2998, 41466.8984, 2.0800 },{ 6000.2998, 41467.1992, 2.1100 },{ 6000.2998, 41467.5000, 2.1300 },{ 6000.6001, 41456.1016, 2.1000 },{ 6000.6001, 41456.3984, 2.1100 },{ 6000.6001, 41456.6992, 2.1000 },{ 6000.6001, 41457.0000, 2.0700 },{ 6000.6001, 41457.3008, 2.0200 },{ 6000.6001, 41457.6016, 1.9500 },{ 6000.6001, 41457.8984, 1.8700 },{ 6000.6001, 41458.1992, 1.8000 },{ 6000.6001, 41458.5000, 1.7400 },{ 6000.6001, 41458.8008, 1.7000 },{ 6000.6001, 41459.1016, 1.6800 },{ 6000.6001, 41459.3984, 1.6600 },{ 6000.6001, 41459.6992, 1.6600 },{ 6000.6001, 41460.0000, 1.6700 },{ 6000.6001, 41460.3008, 1.6800 },{ 6000.6001, 41460.6016, 1.7000 },{ 6000.6001, 41460.8984, 1.7200 },{ 6000.6001, 41461.1992, 1.7400 },{ 6000.6001, 41461.5000, 1.7700 },{ 6000.6001, 41461.8008, 1.7900 },{ 6000.6001, 41462.1016, 1.8100 },{ 6000.6001, 41462.3984, 1.8200 },{ 6000.6001, 41462.6992, 1.8200 },{ 6000.6001, 41463.0000, 1.8400 },{ 6000.6001, 41463.3008, 1.8600 },{ 6000.6001, 41463.6016, 1.9000 },{ 6000.6001, 41463.8984, 1.9400 },{ 6000.6001, 41464.1992, 1.9600 },{ 6000.6001, 41464.5000, 1.9800 },{ 6000.6001, 41464.8008, 1.9900 },{ 6000.6001, 41465.1016, 2.0000 },{ 6000.6001, 41465.3984, 2.0100 },{ 6000.6001, 41465.6992, 2.0200 },{ 6000.6001, 41466.0000, 2.0400 },{ 6000.6001, 41466.3008, 2.0600 },{ 6000.6001, 41466.6016, 2.0900 },{ 6000.6001, 41466.8984, 2.1100 },{ 6000.6001, 41467.1992, 2.1300 },{ 6000.6001, 41467.5000, 2.1600 },{ 6000.8999, 41456.1016, 2.1000 },{ 6000.8999, 41456.3984, 2.1000 },{ 6000.8999, 41456.6992, 2.0800 },{ 6000.8999, 41457.0000, 2.0500 },{ 6000.8999, 41457.3008, 2.0000 },{ 6000.8999, 41457.6016, 1.9200 },{ 6000.8999, 41457.8984, 1.8400 },{ 6000.8999, 41458.1992, 1.7800 },{ 6000.8999, 41458.5000, 1.7200 },{ 6000.8999, 41458.8008, 1.6900 },{ 6000.8999, 41459.1016, 1.6700 },{ 6000.8999, 41459.3984, 1.6600 },{ 6000.8999, 41459.6992, 1.6600 },{ 6000.8999, 41460.0000, 1.6700 },{ 6000.8999, 41460.3008, 1.6800 },{ 6000.8999, 41460.6016, 1.6900 },{ 6000.8999, 41460.8984, 1.7100 },{ 6000.8999, 41461.1992, 1.7200 },{ 6000.8999, 41461.5000, 1.7300 },{ 6000.8999, 41461.8008, 1.7400 },{ 6000.8999, 41462.1016, 1.7500 },{ 6000.8999, 41462.3984, 1.7600 },{ 6000.8999, 41462.6992, 1.7700 },{ 6000.8999, 41463.0000, 1.7900 },{ 6000.8999, 41463.3008, 1.8200 },{ 6000.8999, 41463.6016, 1.8600 },{ 6000.8999, 41463.8984, 1.9000 },{ 6000.8999, 41464.1992, 1.9400 },{ 6000.8999, 41464.5000, 1.9700 },{ 6000.8999, 41464.8008, 1.9900 },{ 6000.8999, 41465.1016, 2.0100 },{ 6000.8999, 41465.3984, 2.0300 },{ 6000.8999, 41465.6992, 2.0500 },{ 6000.8999, 41466.0000, 2.0700 },{ 6000.8999, 41466.3008, 2.0900 },{ 6000.8999, 41466.6016, 2.1200 },{ 6000.8999, 41466.8984, 2.1400 },{ 6000.8999, 41467.1992, 2.1600 },{ 6000.8999, 41467.5000, 2.1800 },{ 6001.2002, 41456.1016, 2.0600 },{ 6001.2002, 41456.3984, 2.0400 },{ 6001.2002, 41456.6992, 2.0200 },{ 6001.2002, 41457.0000, 1.9800 },{ 6001.2002, 41457.3008, 1.9400 },{ 6001.2002, 41457.6016, 1.8800 },{ 6001.2002, 41457.8984, 1.8100 },{ 6001.2002, 41458.1992, 1.7600 },{ 6001.2002, 41458.5000, 1.7200 },{ 6001.2002, 41458.8008, 1.7000 },{ 6001.2002, 41459.1016, 1.6800 },{ 6001.2002, 41459.3984, 1.6700 },{ 6001.2002, 41459.6992, 1.6700 },{ 6001.2002, 41460.0000, 1.6800 },{ 6001.2002, 41460.3008, 1.6900 },{ 6001.2002, 41460.6016, 1.7000 },{ 6001.2002, 41460.8984, 1.7100 },{ 6001.2002, 41461.1992, 1.7100 },{ 6001.2002, 41461.5000, 1.7200 },{ 6001.2002, 41461.8008, 1.7200 },{ 6001.2002, 41462.1016, 1.7300 },{ 6001.2002, 41462.3984, 1.7400 },{ 6001.2002, 41462.6992, 1.7500 },{ 6001.2002, 41463.0000, 1.7700 },{ 6001.2002, 41463.3008, 1.8100 },{ 6001.2002, 41463.6016, 1.8700 },{ 6001.2002, 41463.8984, 1.9300 },{ 6001.2002, 41464.1992, 1.9800 },{ 6001.2002, 41464.5000, 2.0200 },{ 6001.2002, 41464.8008, 2.0400 },{ 6001.2002, 41465.1016, 2.0500 },{ 6001.2002, 41465.3984, 2.0600 },{ 6001.2002, 41465.6992, 2.0800 },{ 6001.2002, 41466.0000, 2.1000 },{ 6001.2002, 41466.3008, 2.1200 },{ 6001.2002, 41466.6016, 2.1500 },{ 6001.2002, 41466.8984, 2.1700 },{ 6001.2002, 41467.1992, 2.1900 },{ 6001.2002, 41467.5000, 2.2200 },{ 6001.5000, 41456.1016, 2.0000 },{ 6001.5000, 41456.3984, 1.9700 },{ 6001.5000, 41456.6992, 1.9400 },{ 6001.5000, 41457.0000, 1.9000 },{ 6001.5000, 41457.3008, 1.8600 },{ 6001.5000, 41457.6016, 1.8200 },{ 6001.5000, 41457.8984, 1.7800 },{ 6001.5000, 41458.1992, 1.7500 },{ 6001.5000, 41458.5000, 1.7200 },{ 6001.5000, 41458.8008, 1.7100 },{ 6001.5000, 41459.1016, 1.7000 },{ 6001.5000, 41459.3984, 1.6900 },{ 6001.5000, 41459.6992, 1.6900 },{ 6001.5000, 41460.0000, 1.7000 },{ 6001.5000, 41460.3008, 1.7100 },{ 6001.5000, 41460.6016, 1.7100 },{ 6001.5000, 41460.8984, 1.7200 },{ 6001.5000, 41461.1992, 1.7200 },{ 6001.5000, 41461.5000, 1.7200 },{ 6001.5000, 41461.8008, 1.7200 },{ 6001.5000, 41462.1016, 1.7200 },{ 6001.5000, 41462.3984, 1.7300 },{ 6001.5000, 41462.6992, 1.7500 },{ 6001.5000, 41463.0000, 1.7800 },{ 6001.5000, 41463.3008, 1.8200 },{ 6001.5000, 41463.6016, 1.8900 },{ 6001.5000, 41463.8984, 1.9700 },{ 6001.5000, 41464.1992, 2.0300 },{ 6001.5000, 41464.5000, 2.0800 },{ 6001.5000, 41464.8008, 2.0900 },{ 6001.5000, 41465.1016, 2.0900 },{ 6001.5000, 41465.3984, 2.0900 },{ 6001.5000, 41465.6992, 2.1000 },{ 6001.5000, 41466.0000, 2.1200 },{ 6001.5000, 41466.3008, 2.1500 },{ 6001.5000, 41466.6016, 2.1700 },{ 6001.5000, 41466.8984, 2.2000 },{ 6001.5000, 41467.1992, 2.2200 },{ 6001.5000, 41467.5000, 2.2600 },{ 6001.7998, 41456.1016, 1.9400 },{ 6001.7998, 41456.3984, 1.9100 },{ 6001.7998, 41456.6992, 1.8700 },{ 6001.7998, 41457.0000, 1.8400 },{ 6001.7998, 41457.3008, 1.8100 },{ 6001.7998, 41457.6016, 1.7900 },{ 6001.7998, 41457.8984, 1.7700 },{ 6001.7998, 41458.1992, 1.7500 },{ 6001.7998, 41458.5000, 1.7300 },{ 6001.7998, 41458.8008, 1.7200 },{ 6001.7998, 41459.1016, 1.7100 },{ 6001.7998, 41459.3984, 1.7100 },{ 6001.7998, 41459.6992, 1.7100 },{ 6001.7998, 41460.0000, 1.7100 },{ 6001.7998, 41460.3008, 1.7200 },{ 6001.7998, 41460.6016, 1.7200 },{ 6001.7998, 41460.8984, 1.7300 },{ 6001.7998, 41461.1992, 1.7300 },{ 6001.7998, 41461.5000, 1.7200 },{ 6001.7998, 41461.8008, 1.7200 },{ 6001.7998, 41462.1016, 1.7200 },{ 6001.7998, 41462.3984, 1.7300 },{ 6001.7998, 41462.6992, 1.7600 },{ 6001.7998, 41463.0000, 1.7900 },{ 6001.7998, 41463.3008, 1.8400 },{ 6001.7998, 41463.6016, 1.9200 },{ 6001.7998, 41463.8984, 2.0100 },{ 6001.7998, 41464.1992, 2.0800 },{ 6001.7998, 41464.5000, 2.1200 },{ 6001.7998, 41464.8008, 2.1300 },{ 6001.7998, 41465.1016, 2.1200 },{ 6001.7998, 41465.3984, 2.1100 },{ 6001.7998, 41465.6992, 2.1200 },{ 6001.7998, 41466.0000, 2.1300 },{ 6001.7998, 41466.3008, 2.1600 },{ 6001.7998, 41466.6016, 2.1800 },{ 6001.7998, 41466.8984, 2.2100 },{ 6001.7998, 41467.1992, 2.2400 },{ 6001.7998, 41467.5000, 2.2800 },{ 6002.1001, 41456.1016, 1.8900 },{ 6002.1001, 41456.3984, 1.8500 },{ 6002.1001, 41456.6992, 1.8200 },{ 6002.1001, 41457.0000, 1.8000 },{ 6002.1001, 41457.3008, 1.7800 },{ 6002.1001, 41457.6016, 1.7600 },{ 6002.1001, 41457.8984, 1.7500 },{ 6002.1001, 41458.1992, 1.7400 },{ 6002.1001, 41458.5000, 1.7400 },{ 6002.1001, 41458.8008, 1.7300 },{ 6002.1001, 41459.1016, 1.7300 },{ 6002.1001, 41459.3984, 1.7200 },{ 6002.1001, 41459.6992, 1.7200 },{ 6002.1001, 41460.0000, 1.7200 },{ 6002.1001, 41460.3008, 1.7300 },{ 6002.1001, 41460.6016, 1.7300 },{ 6002.1001, 41460.8984, 1.7400 },{ 6002.1001, 41461.1992, 1.7300 },{ 6002.1001, 41461.5000, 1.7200 },{ 6002.1001, 41461.8008, 1.7200 },{ 6002.1001, 41462.1016, 1.7300 },{ 6002.1001, 41462.3984, 1.7500 },{ 6002.1001, 41462.6992, 1.7800 },{ 6002.1001, 41463.0000, 1.8200 },{ 6002.1001, 41463.3008, 1.8800 },{ 6002.1001, 41463.6016, 1.9600 },{ 6002.1001, 41463.8984, 2.0600 },{ 6002.1001, 41464.1992, 2.1300 },{ 6002.1001, 41464.5000, 2.1700 },{ 6002.1001, 41464.8008, 2.1700 },{ 6002.1001, 41465.1016, 2.1500 },{ 6002.1001, 41465.3984, 2.1400 },{ 6002.1001, 41465.6992, 2.1300 },{ 6002.1001, 41466.0000, 2.1400 },{ 6002.1001, 41466.3008, 2.1600 },{ 6002.1001, 41466.6016, 2.1800 },{ 6002.1001, 41466.8984, 2.2100 },{ 6002.1001, 41467.1992, 2.2400 },{ 6002.1001, 41467.5000, 2.2900 },{ 6002.3999, 41456.1016, 1.8300 },{ 6002.3999, 41456.3984, 1.8000 },{ 6002.3999, 41456.6992, 1.7800 },{ 6002.3999, 41457.0000, 1.7600 },{ 6002.3999, 41457.3008, 1.7400 },{ 6002.3999, 41457.6016, 1.7400 },{ 6002.3999, 41457.8984, 1.7400 },{ 6002.3999, 41458.1992, 1.7400 },{ 6002.3999, 41458.5000, 1.7400 },{ 6002.3999, 41458.8008, 1.7400 },{ 6002.3999, 41459.1016, 1.7300 },{ 6002.3999, 41459.3984, 1.7300 },{ 6002.3999, 41459.6992, 1.7300 },{ 6002.3999, 41460.0000, 1.7300 },{ 6002.3999, 41460.3008, 1.7400 },{ 6002.3999, 41460.6016, 1.7400 },{ 6002.3999, 41460.8984, 1.7400 },{ 6002.3999, 41461.1992, 1.7400 },{ 6002.3999, 41461.5000, 1.7300 },{ 6002.3999, 41461.8008, 1.7300 },{ 6002.3999, 41462.1016, 1.7400 },{ 6002.3999, 41462.3984, 1.7700 },{ 6002.3999, 41462.6992, 1.8000 },{ 6002.3999, 41463.0000, 1.8500 },{ 6002.3999, 41463.3008, 1.9200 },{ 6002.3999, 41463.6016, 2.0100 },{ 6002.3999, 41463.8984, 2.1100 },{ 6002.3999, 41464.1992, 2.1800 },{ 6002.3999, 41464.5000, 2.2200 },{ 6002.3999, 41464.8008, 2.2200 },{ 6002.3999, 41465.1016, 2.1900 },{ 6002.3999, 41465.3984, 2.1700 },{ 6002.3999, 41465.6992, 2.1500 },{ 6002.3999, 41466.0000, 2.1600 },{ 6002.3999, 41466.3008, 2.1700 },{ 6002.3999, 41466.6016, 2.1900 },{ 6002.3999, 41466.8984, 2.2100 },{ 6002.3999, 41467.1992, 2.2400 },{ 6002.3999, 41467.5000, 2.2900 },{ 6002.7002, 41456.1016, 1.8100 },{ 6002.7002, 41456.3984, 1.7900 },{ 6002.7002, 41456.6992, 1.7800 },{ 6002.7002, 41457.0000, 1.7600 },{ 6002.7002, 41457.3008, 1.7500 },{ 6002.7002, 41457.6016, 1.7500 },{ 6002.7002, 41457.8984, 1.7500 },{ 6002.7002, 41458.1992, 1.7500 },{ 6002.7002, 41458.5000, 1.7500 },{ 6002.7002, 41458.8008, 1.7500 },{ 6002.7002, 41459.1016, 1.7400 },{ 6002.7002, 41459.3984, 1.7300 },{ 6002.7002, 41459.6992, 1.7300 },{ 6002.7002, 41460.0000, 1.7300 },{ 6002.7002, 41460.3008, 1.7400 },{ 6002.7002, 41460.6016, 1.7400 },{ 6002.7002, 41460.8984, 1.7500 },{ 6002.7002, 41461.1992, 1.7400 },{ 6002.7002, 41461.5000, 1.7400 },{ 6002.7002, 41461.8008, 1.7400 },{ 6002.7002, 41462.1016, 1.7500 },{ 6002.7002, 41462.3984, 1.7900 },{ 6002.7002, 41462.6992, 1.8300 },{ 6002.7002, 41463.0000, 1.8800 },{ 6002.7002, 41463.3008, 1.9500 },{ 6002.7002, 41463.6016, 2.0400 },{ 6002.7002, 41463.8984, 2.1400 },{ 6002.7002, 41464.1992, 2.2100 },{ 6002.7002, 41464.5000, 2.2600 },{ 6002.7002, 41464.8008, 2.2500 },{ 6002.7002, 41465.1016, 2.2200 },{ 6002.7002, 41465.3984, 2.2000 },{ 6002.7002, 41465.6992, 2.1900 },{ 6002.7002, 41466.0000, 2.1900 },{ 6002.7002, 41466.3008, 2.2100 },{ 6002.7002, 41466.6016, 2.2200 },{ 6002.7002, 41466.8984, 2.2400 },{ 6002.7002, 41467.1992, 2.2700 },{ 6002.7002, 41467.5000, 2.3100 },{ 6003.0000, 41456.1016, 1.8400 },{ 6003.0000, 41456.3984, 1.8300 },{ 6003.0000, 41456.6992, 1.8200 },{ 6003.0000, 41457.0000, 1.8100 },{ 6003.0000, 41457.3008, 1.8000 },{ 6003.0000, 41457.6016, 1.7900 },{ 6003.0000, 41457.8984, 1.7800 },{ 6003.0000, 41458.1992, 1.7700 },{ 6003.0000, 41458.5000, 1.7600 },{ 6003.0000, 41458.8008, 1.7600 },{ 6003.0000, 41459.1016, 1.7500 },{ 6003.0000, 41459.3984, 1.7400 },{ 6003.0000, 41459.6992, 1.7400 },{ 6003.0000, 41460.0000, 1.7400 },{ 6003.0000, 41460.3008, 1.7500 },{ 6003.0000, 41460.6016, 1.7500 },{ 6003.0000, 41460.8984, 1.7500 },{ 6003.0000, 41461.1992, 1.7500 },{ 6003.0000, 41461.5000, 1.7500 },{ 6003.0000, 41461.8008, 1.7500 },{ 6003.0000, 41462.1016, 1.7700 },{ 6003.0000, 41462.3984, 1.8000 },{ 6003.0000, 41462.6992, 1.8500 },{ 6003.0000, 41463.0000, 1.9100 },{ 6003.0000, 41463.3008, 1.9800 },{ 6003.0000, 41463.6016, 2.0600 },{ 6003.0000, 41463.8984, 2.1500 },{ 6003.0000, 41464.1992, 2.2200 },{ 6003.0000, 41464.5000, 2.2700 },{ 6003.0000, 41464.8008, 2.2700 },{ 6003.0000, 41465.1016, 2.2400 },{ 6003.0000, 41465.3984, 2.2300 },{ 6003.0000, 41465.6992, 2.2200 },{ 6003.0000, 41466.0000, 2.2300 },{ 6003.0000, 41466.3008, 2.2600 },{ 6003.0000, 41466.6016, 2.2800 },{ 6003.0000, 41466.8984, 2.3000 },{ 6003.0000, 41467.1992, 2.3300 },{ 6003.0000, 41467.5000, 2.3700 },{ 6003.2998, 41456.1016, 1.8500 },{ 6003.2998, 41456.3984, 1.8600 },{ 6003.2998, 41456.6992, 1.8700 },{ 6003.2998, 41457.0000, 1.8700 },{ 6003.2998, 41457.3008, 1.8600 },{ 6003.2998, 41457.6016, 1.8500 },{ 6003.2998, 41457.8984, 1.8200 },{ 6003.2998, 41458.1992, 1.8000 },{ 6003.2998, 41458.5000, 1.7800 },{ 6003.2998, 41458.8008, 1.7700 },{ 6003.2998, 41459.1016, 1.7600 },{ 6003.2998, 41459.3984, 1.7500 },{ 6003.2998, 41459.6992, 1.7500 },{ 6003.2998, 41460.0000, 1.7500 },{ 6003.2998, 41460.3008, 1.7600 },{ 6003.2998, 41460.6016, 1.7600 },{ 6003.2998, 41460.8984, 1.7600 },{ 6003.2998, 41461.1992, 1.7600 },{ 6003.2998, 41461.5000, 1.7600 },{ 6003.2998, 41461.8008, 1.7700 },{ 6003.2998, 41462.1016, 1.7800 },{ 6003.2998, 41462.3984, 1.8200 },{ 6003.2998, 41462.6992, 1.8700 },{ 6003.2998, 41463.0000, 1.9300 },{ 6003.2998, 41463.3008, 1.9900 },{ 6003.2998, 41463.6016, 2.0700 },{ 6003.2998, 41463.8984, 2.1500 },{ 6003.2998, 41464.1992, 2.2100 },{ 6003.2998, 41464.5000, 2.2600 },{ 6003.2998, 41464.8008, 2.2600 },{ 6003.2998, 41465.1016, 2.2500 },{ 6003.2998, 41465.3984, 2.2500 },{ 6003.2998, 41465.6992, 2.2500 },{ 6003.2998, 41466.0000, 2.2800 },{ 6003.2998, 41466.3008, 2.3200 },{ 6003.2998, 41466.6016, 2.3500 },{ 6003.2998, 41466.8984, 2.3800 },{ 6003.2998, 41467.1992, 2.4100 },{ 6003.2998, 41467.5000, 2.4400 },{ 6003.6001, 41456.1016, 1.8600 },{ 6003.6001, 41456.3984, 1.8800 },{ 6003.6001, 41456.6992, 1.9000 },{ 6003.6001, 41457.0000, 1.9200 },{ 6003.6001, 41457.3008, 1.9200 },{ 6003.6001, 41457.6016, 1.9000 },{ 6003.6001, 41457.8984, 1.8700 },{ 6003.6001, 41458.1992, 1.8400 },{ 6003.6001, 41458.5000, 1.8100 },{ 6003.6001, 41458.8008, 1.7900 },{ 6003.6001, 41459.1016, 1.7700 },{ 6003.6001, 41459.3984, 1.7600 },{ 6003.6001, 41459.6992, 1.7600 },{ 6003.6001, 41460.0000, 1.7600 },{ 6003.6001, 41460.3008, 1.7700 },{ 6003.6001, 41460.6016, 1.7700 },{ 6003.6001, 41460.8984, 1.7800 },{ 6003.6001, 41461.1992, 1.7700 },{ 6003.6001, 41461.5000, 1.7700 },{ 6003.6001, 41461.8008, 1.7800 },{ 6003.6001, 41462.1016, 1.8000 },{ 6003.6001, 41462.3984, 1.8400 },{ 6003.6001, 41462.6992, 1.9000 },{ 6003.6001, 41463.0000, 1.9500 },{ 6003.6001, 41463.3008, 2.0200 },{ 6003.6001, 41463.6016, 2.0900 },{ 6003.6001, 41463.8984, 2.1600 },{ 6003.6001, 41464.1992, 2.2200 },{ 6003.6001, 41464.5000, 2.2600 },{ 6003.6001, 41464.8008, 2.2700 },{ 6003.6001, 41465.1016, 2.2700 },{ 6003.6001, 41465.3984, 2.2700 },{ 6003.6001, 41465.6992, 2.2900 },{ 6003.6001, 41466.0000, 2.3400 },{ 6003.6001, 41466.3008, 2.4000 },{ 6003.6001, 41466.6016, 2.4500 },{ 6003.6001, 41466.8984, 2.4900 },{ 6003.6001, 41467.1992, 2.5100 },{ 6003.6001, 41467.5000, 2.5200 },{ 6003.8999, 41456.1016, 1.8800 },{ 6003.8999, 41456.3984, 1.9000 },{ 6003.8999, 41456.6992, 1.9300 },{ 6003.8999, 41457.0000, 1.9600 },{ 6003.8999, 41457.3008, 1.9600 },{ 6003.8999, 41457.6016, 1.9400 },{ 6003.8999, 41457.8984, 1.9000 },{ 6003.8999, 41458.1992, 1.8700 },{ 6003.8999, 41458.5000, 1.8400 },{ 6003.8999, 41458.8008, 1.8100 },{ 6003.8999, 41459.1016, 1.7800 },{ 6003.8999, 41459.3984, 1.7700 },{ 6003.8999, 41459.6992, 1.7600 },{ 6003.8999, 41460.0000, 1.7700 },{ 6003.8999, 41460.3008, 1.7800 },{ 6003.8999, 41460.6016, 1.7900 },{ 6003.8999, 41460.8984, 1.7900 },{ 6003.8999, 41461.1992, 1.7900 },{ 6003.8999, 41461.5000, 1.7900 },{ 6003.8999, 41461.8008, 1.8000 },{ 6003.8999, 41462.1016, 1.8200 },{ 6003.8999, 41462.3984, 1.8700 },{ 6003.8999, 41462.6992, 1.9300 },{ 6003.8999, 41463.0000, 2.0000 },{ 6003.8999, 41463.3008, 2.0600 },{ 6003.8999, 41463.6016, 2.1400 },{ 6003.8999, 41463.8984, 2.2100 },{ 6003.8999, 41464.1992, 2.2800 },{ 6003.8999, 41464.5000, 2.3200 },{ 6003.8999, 41464.8008, 2.3200 },{ 6003.8999, 41465.1016, 2.3200 },{ 6003.8999, 41465.3984, 2.3300 },{ 6003.8999, 41465.6992, 2.3500 },{ 6003.8999, 41466.0000, 2.4100 },{ 6003.8999, 41466.3008, 2.4900 },{ 6003.8999, 41466.6016, 2.5500 },{ 6003.8999, 41466.8984, 2.5900 },{ 6003.8999, 41467.1992, 2.6000 },{ 6003.8999, 41467.5000, 2.6000 },{ 6004.2002, 41456.1016, 1.9100 },{ 6004.2002, 41456.3984, 1.9200 },{ 6004.2002, 41456.6992, 1.9600 },{ 6004.2002, 41457.0000, 1.9800 },{ 6004.2002, 41457.3008, 1.9800 },{ 6004.2002, 41457.6016, 1.9500 },{ 6004.2002, 41457.8984, 1.9100 },{ 6004.2002, 41458.1992, 1.8700 },{ 6004.2002, 41458.5000, 1.8400 },{ 6004.2002, 41458.8008, 1.8100 },{ 6004.2002, 41459.1016, 1.7900 },{ 6004.2002, 41459.3984, 1.7800 },{ 6004.2002, 41459.6992, 1.7700 },{ 6004.2002, 41460.0000, 1.7800 },{ 6004.2002, 41460.3008, 1.7900 },{ 6004.2002, 41460.6016, 1.8000 },{ 6004.2002, 41460.8984, 1.8100 },{ 6004.2002, 41461.1992, 1.8100 },{ 6004.2002, 41461.5000, 1.8000 },{ 6004.2002, 41461.8008, 1.8100 },{ 6004.2002, 41462.1016, 1.8400 },{ 6004.2002, 41462.3984, 1.9000 },{ 6004.2002, 41462.6992, 1.9700 },{ 6004.2002, 41463.0000, 2.0500 },{ 6004.2002, 41463.3008, 2.1400 },{ 6004.2002, 41463.6016, 2.2200 },{ 6004.2002, 41463.8984, 2.3100 },{ 6004.2002, 41464.1992, 2.3800 },{ 6004.2002, 41464.5000, 2.4300 },{ 6004.2002, 41464.8008, 2.4400 },{ 6004.2002, 41465.1016, 2.4200 },{ 6004.2002, 41465.3984, 2.4200 },{ 6004.2002, 41465.6992, 2.4400 },{ 6004.2002, 41466.0000, 2.5100 },{ 6004.2002, 41466.3008, 2.5800 },{ 6004.2002, 41466.6016, 2.6500 },{ 6004.2002, 41466.8984, 2.6900 },{ 6004.2002, 41467.1992, 2.6900 },{ 6004.2002, 41467.5000, 2.6800 },{ 6004.5000, 41456.1016, 1.9500 },{ 6004.5000, 41456.3984, 1.9500 },{ 6004.5000, 41456.6992, 1.9600 },{ 6004.5000, 41457.0000, 1.9700 },{ 6004.5000, 41457.3008, 1.9600 },{ 6004.5000, 41457.6016, 1.9300 },{ 6004.5000, 41457.8984, 1.8900 },{ 6004.5000, 41458.1992, 1.8500 },{ 6004.5000, 41458.5000, 1.8200 },{ 6004.5000, 41458.8008, 1.8000 },{ 6004.5000, 41459.1016, 1.7900 },{ 6004.5000, 41459.3984, 1.7800 },{ 6004.5000, 41459.6992, 1.7800 },{ 6004.5000, 41460.0000, 1.7900 },{ 6004.5000, 41460.3008, 1.8000 },{ 6004.5000, 41460.6016, 1.8200 },{ 6004.5000, 41460.8984, 1.8300 },{ 6004.5000, 41461.1992, 1.8300 },{ 6004.5000, 41461.5000, 1.8300 },{ 6004.5000, 41461.8008, 1.8400 },{ 6004.5000, 41462.1016, 1.8700 },{ 6004.5000, 41462.3984, 1.9400 },{ 6004.5000, 41462.6992, 2.0200 },{ 6004.5000, 41463.0000, 2.1200 },{ 6004.5000, 41463.3008, 2.2100 },{ 6004.5000, 41463.6016, 2.3200 },{ 6004.5000, 41463.8984, 2.4200 },{ 6004.5000, 41464.1992, 2.5000 },{ 6004.5000, 41464.5000, 2.5600 },{ 6004.5000, 41464.8008, 2.5600 },{ 6004.5000, 41465.1016, 2.5400 },{ 6004.5000, 41465.3984, 2.5400 },{ 6004.5000, 41465.6992, 2.5500 },{ 6004.5000, 41466.0000, 2.6100 },{ 6004.5000, 41466.3008, 2.6800 },{ 6004.5000, 41466.6016, 2.7400 },{ 6004.5000, 41466.8984, 2.7800 },{ 6004.5000, 41467.1992, 2.7800 },{ 6004.5000, 41467.5000, 2.7600 },{ 6004.7998, 41456.1016, 1.9800 },{ 6004.7998, 41456.3984, 1.9600 },{ 6004.7998, 41456.6992, 1.9400 },{ 6004.7998, 41457.0000, 1.9100 },{ 6004.7998, 41457.3008, 1.8900 },{ 6004.7998, 41457.6016, 1.8600 },{ 6004.7998, 41457.8984, 1.8300 },{ 6004.7998, 41458.1992, 1.8100 },{ 6004.7998, 41458.5000, 1.7900 },{ 6004.7998, 41458.8008, 1.7900 },{ 6004.7998, 41459.1016, 1.7900 },{ 6004.7998, 41459.3984, 1.7900 },{ 6004.7998, 41459.6992, 1.7900 },{ 6004.7998, 41460.0000, 1.8000 },{ 6004.7998, 41460.3008, 1.8200 },{ 6004.7998, 41460.6016, 1.8400 },{ 6004.7998, 41460.8984, 1.8500 },{ 6004.7998, 41461.1992, 1.8600 },{ 6004.7998, 41461.5000, 1.8700 },{ 6004.7998, 41461.8008, 1.8900 },{ 6004.7998, 41462.1016, 1.9200 },{ 6004.7998, 41462.3984, 1.9900 },{ 6004.7998, 41462.6992, 2.0800 },{ 6004.7998, 41463.0000, 2.1700 },{ 6004.7998, 41463.3008, 2.2700 },{ 6004.7998, 41463.6016, 2.3900 },{ 6004.7998, 41463.8984, 2.5100 },{ 6004.7998, 41464.1992, 2.6100 },{ 6004.7998, 41464.5000, 2.6700 },{ 6004.7998, 41464.8008, 2.6800 },{ 6004.7998, 41465.1016, 2.6600 },{ 6004.7998, 41465.3984, 2.6500 },{ 6004.7998, 41465.6992, 2.6600 },{ 6004.7998, 41466.0000, 2.7100 },{ 6004.7998, 41466.3008, 2.7700 },{ 6004.7998, 41466.6016, 2.8300 },{ 6004.7998, 41466.8984, 2.8700 },{ 6004.7998, 41467.1992, 2.8700 },{ 6004.7998, 41467.5000, 2.8500 },{ 6005.1001, 41456.1016, 2.0300 },{ 6005.1001, 41456.3984, 1.9800 },{ 6005.1001, 41456.6992, 1.9300 },{ 6005.1001, 41457.0000, 1.8900 },{ 6005.1001, 41457.3008, 1.8400 },{ 6005.1001, 41457.6016, 1.8200 },{ 6005.1001, 41457.8984, 1.8000 },{ 6005.1001, 41458.1992, 1.8000 },{ 6005.1001, 41458.5000, 1.8000 },{ 6005.1001, 41458.8008, 1.8000 },{ 6005.1001, 41459.1016, 1.7800 },{ 6005.1001, 41459.3984, 1.7900 },{ 6005.1001, 41459.6992, 1.8000 },{ 6005.1001, 41460.0000, 1.8200 },{ 6005.1001, 41460.3008, 1.8400 },{ 6005.1001, 41460.6016, 1.8600 },{ 6005.1001, 41460.8984, 1.8800 },{ 6005.1001, 41461.1992, 1.9000 },{ 6005.1001, 41461.5000, 1.9200 },{ 6005.1001, 41461.8008, 1.9400 },{ 6005.1001, 41462.1016, 1.9800 },{ 6005.1001, 41462.3984, 2.0500 },{ 6005.1001, 41462.6992, 2.1300 },{ 6005.1001, 41463.0000, 2.2100 },{ 6005.1001, 41463.3008, 2.3100 },{ 6005.1001, 41463.6016, 2.4300 },{ 6005.1001, 41463.8984, 2.5600 },{ 6005.1001, 41464.1992, 2.6600 },{ 6005.1001, 41464.5000, 2.7400 },{ 6005.1001, 41464.8008, 2.7600 },{ 6005.1001, 41465.1016, 2.7400 },{ 6005.1001, 41465.3984, 2.7400 },{ 6005.1001, 41465.6992, 2.7500 },{ 6005.1001, 41466.0000, 2.7900 },{ 6005.1001, 41466.3008, 2.8600 },{ 6005.1001, 41466.6016, 2.9100 },{ 6005.1001, 41466.8984, 2.9400 },{ 6005.1001, 41467.1992, 2.9500 },{ 6005.1001, 41467.5000, 2.9300 },{ 6005.3999, 41456.1016, 2.0700 },{ 6005.3999, 41456.3984, 2.0200 },{ 6005.3999, 41456.6992, 1.9500 },{ 6005.3999, 41457.0000, 1.8900 },{ 6005.3999, 41457.3008, 1.8400 },{ 6005.3999, 41457.6016, 1.8100 },{ 6005.3999, 41457.8984, 1.8000 },{ 6005.3999, 41458.1992, 1.8000 },{ 6005.3999, 41458.5000, 1.8000 },{ 6005.3999, 41458.8008, 1.8000 },{ 6005.3999, 41459.1016, 1.7900 },{ 6005.3999, 41459.3984, 1.8000 },{ 6005.3999, 41459.6992, 1.8200 },{ 6005.3999, 41460.0000, 1.8400 },{ 6005.3999, 41460.3008, 1.8600 },{ 6005.3999, 41460.6016, 1.8800 },{ 6005.3999, 41460.8984, 1.9100 },{ 6005.3999, 41461.1992, 1.9300 },{ 6005.3999, 41461.5000, 1.9600 },{ 6005.3999, 41461.8008, 1.9900 },{ 6005.3999, 41462.1016, 2.0300 },{ 6005.3999, 41462.3984, 2.0900 },{ 6005.3999, 41462.6992, 2.1700 },{ 6005.3999, 41463.0000, 2.2500 },{ 6005.3999, 41463.3008, 2.3400 },{ 6005.3999, 41463.6016, 2.4500 },{ 6005.3999, 41463.8984, 2.5600 },{ 6005.3999, 41464.1992, 2.6600 },{ 6005.3999, 41464.5000, 2.7400 },{ 6005.3999, 41464.8008, 2.7700 },{ 6005.3999, 41465.1016, 2.7800 },{ 6005.3999, 41465.3984, 2.8000 },{ 6005.3999, 41465.6992, 2.8300 },{ 6005.3999, 41466.0000, 2.8800 },{ 6005.3999, 41466.3008, 2.9400 },{ 6005.3999, 41466.6016, 2.9800 },{ 6005.3999, 41466.8984, 3.0200 },{ 6005.3999, 41467.1992, 3.0300 },{ 6005.3999, 41467.5000, 3.0200 },{ 6005.7002, 41456.1016, 2.0900 },{ 6005.7002, 41456.3984, 2.0300 },{ 6005.7002, 41456.6992, 1.9600 },{ 6005.7002, 41457.0000, 1.8900 },{ 6005.7002, 41457.3008, 1.8300 },{ 6005.7002, 41457.6016, 1.8000 },{ 6005.7002, 41457.8984, 1.8000 },{ 6005.7002, 41458.1992, 1.8000 },{ 6005.7002, 41458.5000, 1.8000 },{ 6005.7002, 41458.8008, 1.8000 },{ 6005.7002, 41459.1016, 1.8100 },{ 6005.7002, 41459.3984, 1.8200 },{ 6005.7002, 41459.6992, 1.8300 },{ 6005.7002, 41460.0000, 1.8500 },{ 6005.7002, 41460.3008, 1.8800 },{ 6005.7002, 41460.6016, 1.9000 },{ 6005.7002, 41460.8984, 1.9200 },{ 6005.7002, 41461.1992, 1.9500 },{ 6005.7002, 41461.5000, 1.9800 },{ 6005.7002, 41461.8008, 2.0200 },{ 6005.7002, 41462.1016, 2.0600 },{ 6005.7002, 41462.3984, 2.1200 },{ 6005.7002, 41462.6992, 2.2000 },{ 6005.7002, 41463.0000, 2.2800 },{ 6005.7002, 41463.3008, 2.3700 },{ 6005.7002, 41463.6016, 2.4600 },{ 6005.7002, 41463.8984, 2.5500 },{ 6005.7002, 41464.1992, 2.6400 },{ 6005.7002, 41464.5000, 2.7200 },{ 6005.7002, 41464.8008, 2.7700 },{ 6005.7002, 41465.1016, 2.8100 },{ 6005.7002, 41465.3984, 2.8600 },{ 6005.7002, 41465.6992, 2.9100 },{ 6005.7002, 41466.0000, 2.9600 },{ 6005.7002, 41466.3008, 3.0100 },{ 6005.7002, 41466.6016, 3.0500 },{ 6005.7002, 41466.8984, 3.0900 },{ 6005.7002, 41467.1992, 3.1000 },{ 6005.7002, 41467.5000, 3.1000 },{ 6006.0000, 41456.1016, 2.0700 },{ 6006.0000, 41456.3984, 2.0100 },{ 6006.0000, 41456.6992, 1.9400 },{ 6006.0000, 41457.0000, 1.8700 },{ 6006.0000, 41457.3008, 1.8000 },{ 6006.0000, 41457.6016, 1.8000 },{ 6006.0000, 41457.8984, 1.8000 },{ 6006.0000, 41458.1992, 1.8000 },{ 6006.0000, 41458.5000, 1.8000 },{ 6006.0000, 41458.8008, 1.8100 },{ 6006.0000, 41459.1016, 1.8200 },{ 6006.0000, 41459.3984, 1.8300 },{ 6006.0000, 41459.6992, 1.8400 },{ 6006.0000, 41460.0000, 1.8600 },{ 6006.0000, 41460.3008, 1.8900 },{ 6006.0000, 41460.6016, 1.9100 },{ 6006.0000, 41460.8984, 1.9300 },{ 6006.0000, 41461.1992, 1.9600 },{ 6006.0000, 41461.5000, 1.9900 },{ 6006.0000, 41461.8008, 2.0300 },{ 6006.0000, 41462.1016, 2.0800 },{ 6006.0000, 41462.3984, 2.1500 },{ 6006.0000, 41462.6992, 2.2400 },{ 6006.0000, 41463.0000, 2.3200 },{ 6006.0000, 41463.3008, 2.4100 },{ 6006.0000, 41463.6016, 2.5000 },{ 6006.0000, 41463.8984, 2.6000 },{ 6006.0000, 41464.1992, 2.6900 },{ 6006.0000, 41464.5000, 2.7800 },{ 6006.0000, 41464.8008, 2.8300 },{ 6006.0000, 41465.1016, 2.8800 },{ 6006.0000, 41465.3984, 2.9200 },{ 6006.0000, 41465.6992, 2.9700 },{ 6006.0000, 41466.0000, 3.0200 },{ 6006.0000, 41466.3008, 3.0700 },{ 6006.0000, 41466.6016, 3.1200 },{ 6006.0000, 41466.8984, 3.1500 },{ 6006.0000, 41467.1992, 3.1700 },{ 6006.0000, 41467.5000, 3.1700 },{ 6006.2998, 41456.1016, 2.0300 },{ 6006.2998, 41456.3984, 1.9700 },{ 6006.2998, 41456.6992, 1.9000 },{ 6006.2998, 41457.0000, 1.8300 },{ 6006.2998, 41457.3008, 1.8000 },{ 6006.2998, 41457.6016, 1.8000 },{ 6006.2998, 41457.8984, 1.8000 },{ 6006.2998, 41458.1992, 1.8000 },{ 6006.2998, 41458.5000, 1.8000 },{ 6006.2998, 41458.8008, 1.8200 },{ 6006.2998, 41459.1016, 1.8300 },{ 6006.2998, 41459.3984, 1.8500 },{ 6006.2998, 41459.6992, 1.8600 },{ 6006.2998, 41460.0000, 1.8800 },{ 6006.2998, 41460.3008, 1.9000 },{ 6006.2998, 41460.6016, 1.9200 },{ 6006.2998, 41460.8984, 1.9400 },{ 6006.2998, 41461.1992, 1.9700 },{ 6006.2998, 41461.5000, 2.0100 },{ 6006.2998, 41461.8008, 2.0500 },{ 6006.2998, 41462.1016, 2.1000 },{ 6006.2998, 41462.3984, 2.1800 },{ 6006.2998, 41462.6992, 2.2700 },{ 6006.2998, 41463.0000, 2.3600 },{ 6006.2998, 41463.3008, 2.4500 },{ 6006.2998, 41463.6016, 2.5600 },{ 6006.2998, 41463.8984, 2.6700 },{ 6006.2998, 41464.1992, 2.7700 },{ 6006.2998, 41464.5000, 2.8600 },{ 6006.2998, 41464.8008, 2.9100 },{ 6006.2998, 41465.1016, 2.9400 },{ 6006.2998, 41465.3984, 2.9700 },{ 6006.2998, 41465.6992, 3.0100 },{ 6006.2998, 41466.0000, 3.0600 },{ 6006.2998, 41466.3008, 3.1200 },{ 6006.2998, 41466.6016, 3.1800 },{ 6006.2998, 41466.8984, 3.2200 },{ 6006.2998, 41467.1992, 3.2400 },{ 6006.2998, 41467.5000, 3.2400 },{ 6006.6001, 41456.1016, 1.9600 },{ 6006.6001, 41456.3984, 1.9100 },{ 6006.6001, 41456.6992, 1.8500 },{ 6006.6001, 41457.0000, 1.8000 },{ 6006.6001, 41457.3008, 1.8000 },{ 6006.6001, 41457.6016, 1.8000 },{ 6006.6001, 41457.8984, 1.8000 },{ 6006.6001, 41458.1992, 1.8000 },{ 6006.6001, 41458.5000, 1.8000 },{ 6006.6001, 41458.8008, 1.8200 },{ 6006.6001, 41459.1016, 1.8400 },{ 6006.6001, 41459.3984, 1.8600 },{ 6006.6001, 41459.6992, 1.8800 },{ 6006.6001, 41460.0000, 1.9000 },{ 6006.6001, 41460.3008, 1.9100 },{ 6006.6001, 41460.6016, 1.9300 },{ 6006.6001, 41460.8984, 1.9500 },{ 6006.6001, 41461.1992, 1.9800 },{ 6006.6001, 41461.5000, 2.0200 },{ 6006.6001, 41461.8008, 2.0700 },{ 6006.6001, 41462.1016, 2.1200 },{ 6006.6001, 41462.3984, 2.2000 },{ 6006.6001, 41462.6992, 2.3000 },{ 6006.6001, 41463.0000, 2.3900 },{ 6006.6001, 41463.3008, 2.4900 },{ 6006.6001, 41463.6016, 2.6100 },{ 6006.6001, 41463.8984, 2.7300 },{ 6006.6001, 41464.1992, 2.8400 },{ 6006.6001, 41464.5000, 2.9300 },{ 6006.6001, 41464.8008, 2.9700 },{ 6006.6001, 41465.1016, 2.9800 },{ 6006.6001, 41465.3984, 3.0000 },{ 6006.6001, 41465.6992, 3.0300 },{ 6006.6001, 41466.0000, 3.0900 },{ 6006.6001, 41466.3008, 3.1700 },{ 6006.6001, 41466.6016, 3.2400 },{ 6006.6001, 41466.8984, 3.3000 },{ 6006.6001, 41467.1992, 3.3200 },{ 6006.6001, 41467.5000, 3.3200 },{ 6006.8999, 41456.1016, 1.8800 },{ 6006.8999, 41456.3984, 1.8500 },{ 6006.8999, 41456.6992, 1.8000 },{ 6006.8999, 41457.0000, 1.8000 },{ 6006.8999, 41457.3008, 1.8000 },{ 6006.8999, 41457.6016, 1.8000 },{ 6006.8999, 41457.8984, 1.8000 },{ 6006.8999, 41458.1992, 1.8000 },{ 6006.8999, 41458.5000, 1.8000 },{ 6006.8999, 41458.8008, 1.8200 },{ 6006.8999, 41459.1016, 1.8500 },{ 6006.8999, 41459.3984, 1.8800 },{ 6006.8999, 41459.6992, 1.9000 },{ 6006.8999, 41460.0000, 1.9200 },{ 6006.8999, 41460.3008, 1.9300 },{ 6006.8999, 41460.6016, 1.9400 },{ 6006.8999, 41460.8984, 1.9600 },{ 6006.8999, 41461.1992, 1.9900 },{ 6006.8999, 41461.5000, 2.0400 },{ 6006.8999, 41461.8008, 2.0800 },{ 6006.8999, 41462.1016, 2.1400 },{ 6006.8999, 41462.3984, 2.2300 },{ 6006.8999, 41462.6992, 2.3300 },{ 6006.8999, 41463.0000, 2.4300 },{ 6006.8999, 41463.3008, 2.5400 },{ 6006.8999, 41463.6016, 2.6700 },{ 6006.8999, 41463.8984, 2.7900 },{ 6006.8999, 41464.1992, 2.9100 },{ 6006.8999, 41464.5000, 3.0000 },{ 6006.8999, 41464.8008, 3.0400 },{ 6006.8999, 41465.1016, 3.0400 },{ 6006.8999, 41465.3984, 3.0500 },{ 6006.8999, 41465.6992, 3.0800 },{ 6006.8999, 41466.0000, 3.1500 },{ 6006.8999, 41466.3008, 3.2400 },{ 6006.8999, 41466.6016, 3.3200 },{ 6006.8999, 41466.8984, 3.3800 },{ 6006.8999, 41467.1992, 3.4000 },{ 6006.8999, 41467.5000, 3.4000 },{ 6007.2002, 41456.1016, 1.8300 },{ 6007.2002, 41456.3984, 1.8000 },{ 6007.2002, 41456.6992, 1.8000 },{ 6007.2002, 41457.0000, 1.8000 },{ 6007.2002, 41457.3008, 1.8000 },{ 6007.2002, 41457.6016, 1.8000 },{ 6007.2002, 41457.8984, 1.8000 },{ 6007.2002, 41458.1992, 1.8000 },{ 6007.2002, 41458.5000, 1.8000 },{ 6007.2002, 41458.8008, 1.8000 },{ 6007.2002, 41459.1016, 1.8600 },{ 6007.2002, 41459.3984, 1.8900 },{ 6007.2002, 41459.6992, 1.9200 },{ 6007.2002, 41460.0000, 1.9400 },{ 6007.2002, 41460.3008, 1.9500 },{ 6007.2002, 41460.6016, 1.9600 },{ 6007.2002, 41460.8984, 1.9800 },{ 6007.2002, 41461.1992, 2.0100 },{ 6007.2002, 41461.5000, 2.0600 },{ 6007.2002, 41461.8008, 2.1100 },{ 6007.2002, 41462.1016, 2.1700 },{ 6007.2002, 41462.3984, 2.2600 },{ 6007.2002, 41462.6992, 2.3700 },{ 6007.2002, 41463.0000, 2.4800 },{ 6007.2002, 41463.3008, 2.6000 },{ 6007.2002, 41463.6016, 2.7300 },{ 6007.2002, 41463.8984, 2.8600 },{ 6007.2002, 41464.1992, 2.9700 },{ 6007.2002, 41464.5000, 3.0600 },{ 6007.2002, 41464.8008, 3.0900 },{ 6007.2002, 41465.1016, 3.0900 },{ 6007.2002, 41465.3984, 3.1000 },{ 6007.2002, 41465.6992, 3.1300 },{ 6007.2002, 41466.0000, 3.2100 },{ 6007.2002, 41466.3008, 3.3100 },{ 6007.2002, 41466.6016, 3.4100 },{ 6007.2002, 41466.8984, 3.4800 },{ 6007.2002, 41467.1992, 3.5000 },{ 6007.2002, 41467.5000, 3.4800 },{ 6007.5000, 41456.1016, 1.8000 },{ 6007.5000, 41456.3984, 1.7800 },{ 6007.5000, 41456.6992, 1.8000 },{ 6007.5000, 41457.0000, 1.8000 },{ 6007.5000, 41457.3008, 1.8000 },{ 6007.5000, 41457.6016, 1.8000 },{ 6007.5000, 41457.8984, 1.8000 },{ 6007.5000, 41458.1992, 1.8000 },{ 6007.5000, 41458.5000, 1.8000 },{ 6007.5000, 41458.8008, 1.8400 },{ 6007.5000, 41459.1016, 1.8800 },{ 6007.5000, 41459.3984, 1.9100 },{ 6007.5000, 41459.6992, 1.9400 },{ 6007.5000, 41460.0000, 1.9600 },{ 6007.5000, 41460.3008, 1.9700 },{ 6007.5000, 41460.6016, 1.9900 },{ 6007.5000, 41460.8984, 2.0100 },{ 6007.5000, 41461.1992, 2.0500 },{ 6007.5000, 41461.5000, 2.1000 },{ 6007.5000, 41461.8008, 2.1600 },{ 6007.5000, 41462.1016, 2.2300 },{ 6007.5000, 41462.3984, 2.3200 },{ 6007.5000, 41462.6992, 2.4400 },{ 6007.5000, 41463.0000, 2.5600 },{ 6007.5000, 41463.3008, 2.6800 },{ 6007.5000, 41463.6016, 2.8000 },{ 6007.5000, 41463.8984, 2.9200 },{ 6007.5000, 41464.1992, 3.0200 },{ 6007.5000, 41464.5000, 3.1100 },{ 6007.5000, 41464.8008, 3.1300 },{ 6007.5000, 41465.1016, 3.1200 },{ 6007.5000, 41465.3984, 3.1200 },{ 6007.5000, 41465.6992, 3.1500 },{ 6007.5000, 41466.0000, 3.2400 },{ 6007.5000, 41466.3008, 3.3700 },{ 6007.5000, 41466.6016, 3.4800 },{ 6007.5000, 41466.8984, 3.5700 },{ 6007.5000, 41467.1992, 3.5800 },{ 6007.5000, 41467.5000, 3.5600 },{ 6007.7998, 41456.1016, 1.8100 },{ 6007.7998, 41456.3984, 1.7800 },{ 6007.7998, 41456.6992, 1.8000 },{ 6007.7998, 41457.0000, 1.8000 },{ 6007.7998, 41457.3008, 1.8000 },{ 6007.7998, 41457.6016, 1.8000 },{ 6007.7998, 41457.8984, 1.8000 },{ 6007.7998, 41458.1992, 1.8000 },{ 6007.7998, 41458.5000, 1.8000 },{ 6007.7998, 41458.8008, 1.8700 },{ 6007.7998, 41459.1016, 1.9000 },{ 6007.7998, 41459.3984, 1.9400 },{ 6007.7998, 41459.6992, 1.9700 },{ 6007.7998, 41460.0000, 1.9900 },{ 6007.7998, 41460.3008, 2.0000 },{ 6007.7998, 41460.6016, 2.0200 },{ 6007.7998, 41460.8984, 2.0500 },{ 6007.7998, 41461.1992, 2.1000 },{ 6007.7998, 41461.5000, 2.1600 },{ 6007.7998, 41461.8008, 2.2300 },{ 6007.7998, 41462.1016, 2.3100 },{ 6007.7998, 41462.3984, 2.4100 },{ 6007.7998, 41462.6992, 2.5400 },{ 6007.7998, 41463.0000, 2.6600 },{ 6007.7998, 41463.3008, 2.7800 },{ 6007.7998, 41463.6016, 2.8900 },{ 6007.7998, 41463.8984, 2.9900 },{ 6007.7998, 41464.1992, 3.0800 },{ 6007.7998, 41464.5000, 3.1600 },{ 6007.7998, 41464.8008, 3.1800 },{ 6007.7998, 41465.1016, 3.1700 },{ 6007.7998, 41465.3984, 3.1800 },{ 6007.7998, 41465.6992, 3.2100 },{ 6007.7998, 41466.0000, 3.3000 },{ 6007.7998, 41466.3008, 3.4300 },{ 6007.7998, 41466.6016, 3.5400 },{ 6007.7998, 41466.8984, 3.6300 },{ 6007.7998, 41467.1992, 3.6400 },{ 6007.7998, 41467.5000, 3.6000 },{ 6008.1001, 41456.1016, 1.8200 },{ 6008.1001, 41456.3984, 1.7900 },{ 6008.1001, 41456.6992, 1.8000 },{ 6008.1001, 41457.0000, 1.8000 },{ 6008.1001, 41457.3008, 1.8000 },{ 6008.1001, 41457.6016, 1.8000 },{ 6008.1001, 41457.8984, 1.8000 },{ 6008.1001, 41458.1992, 1.8000 },{ 6008.1001, 41458.5000, 1.8700 },{ 6008.1001, 41458.8008, 1.9000 },{ 6008.1001, 41459.1016, 1.9300 },{ 6008.1001, 41459.3984, 1.9600 },{ 6008.1001, 41459.6992, 2.0000 },{ 6008.1001, 41460.0000, 2.0200 },{ 6008.1001, 41460.3008, 2.0400 },{ 6008.1001, 41460.6016, 2.0700 },{ 6008.1001, 41460.8984, 2.1000 },{ 6008.1001, 41461.1992, 2.1600 },{ 6008.1001, 41461.5000, 2.2300 },{ 6008.1001, 41461.8008, 2.3100 },{ 6008.1001, 41462.1016, 2.3900 },{ 6008.1001, 41462.3984, 2.5000 },{ 6008.1001, 41462.6992, 2.6300 },{ 6008.1001, 41463.0000, 2.7500 },{ 6008.1001, 41463.3008, 2.8700 },{ 6008.1001, 41463.6016, 2.9800 },{ 6008.1001, 41463.8984, 3.0800 },{ 6008.1001, 41464.1992, 3.1600 },{ 6008.1001, 41464.5000, 3.2300 },{ 6008.1001, 41464.8008, 3.2600 },{ 6008.1001, 41465.1016, 3.2500 },{ 6008.1001, 41465.3984, 3.2600 },{ 6008.1001, 41465.6992, 3.2900 },{ 6008.1001, 41466.0000, 3.3800 },{ 6008.1001, 41466.3008, 3.4900 },{ 6008.1001, 41466.6016, 3.5900 },{ 6008.1001, 41466.8984, 3.6700 },{ 6008.1001, 41467.1992, 3.6700 },{ 6008.1001, 41467.5000, 3.6400 },{ 6008.3999, 41456.1016, 1.8100 },{ 6008.3999, 41456.3984, 1.8000 },{ 6008.3999, 41456.6992, 1.8000 },{ 6008.3999, 41457.0000, 1.8000 },{ 6008.3999, 41457.3008, 1.8000 },{ 6008.3999, 41457.6016, 1.8000 },{ 6008.3999, 41457.8984, 1.8000 },{ 6008.3999, 41458.1992, 1.8000 },{ 6008.3999, 41458.5000, 1.9100 },{ 6008.3999, 41458.8008, 1.9400 },{ 6008.3999, 41459.1016, 1.9600 },{ 6008.3999, 41459.3984, 1.9900 },{ 6008.3999, 41459.6992, 2.0200 },{ 6008.3999, 41460.0000, 2.0500 },{ 6008.3999, 41460.3008, 2.0800 },{ 6008.3999, 41460.6016, 2.1200 },{ 6008.3999, 41460.8984, 2.1600 },{ 6008.3999, 41461.1992, 2.2200 },{ 6008.3999, 41461.5000, 2.2900 },{ 6008.3999, 41461.8008, 2.3600 },{ 6008.3999, 41462.1016, 2.4400 },{ 6008.3999, 41462.3984, 2.5600 },{ 6008.3999, 41462.6992, 2.6900 },{ 6008.3999, 41463.0000, 2.8100 },{ 6008.3999, 41463.3008, 2.9400 },{ 6008.3999, 41463.6016, 3.0600 },{ 6008.3999, 41463.8984, 3.1700 },{ 6008.3999, 41464.1992, 3.2700 },{ 6008.3999, 41464.5000, 3.3500 },{ 6008.3999, 41464.8008, 3.3700 },{ 6008.3999, 41465.1016, 3.3600 },{ 6008.3999, 41465.3984, 3.3600 },{ 6008.3999, 41465.6992, 3.3800 },{ 6008.3999, 41466.0000, 3.4500 },{ 6008.3999, 41466.3008, 3.5500 },{ 6008.3999, 41466.6016, 3.6400 },{ 6008.3999, 41466.8984, 3.7100 },{ 6008.3999, 41467.1992, 3.7100 },{ 6008.3999, 41467.5000, 3.6900 },{ 6008.7002, 41456.1016, 1.7800 },{ 6008.7002, 41456.3984, 1.7800 },{ 6008.7002, 41456.6992, 1.8000 },{ 6008.7002, 41457.0000, 1.8000 },{ 6008.7002, 41457.3008, 1.8000 },{ 6008.7002, 41457.6016, 1.8000 },{ 6008.7002, 41457.8984, 1.8000 },{ 6008.7002, 41458.1992, 1.9000 },{ 6008.7002, 41458.5000, 1.9400 },{ 6008.7002, 41458.8008, 1.9800 },{ 6008.7002, 41459.1016, 2.0100 },{ 6008.7002, 41459.3984, 2.0400 },{ 6008.7002, 41459.6992, 2.0800 },{ 6008.7002, 41460.0000, 2.1100 },{ 6008.7002, 41460.3008, 2.1500 },{ 6008.7002, 41460.6016, 2.1800 },{ 6008.7002, 41460.8984, 2.2300 },{ 6008.7002, 41461.1992, 2.2800 },{ 6008.7002, 41461.5000, 2.3300 },{ 6008.7002, 41461.8008, 2.3800 },{ 6008.7002, 41462.1016, 2.4600 },{ 6008.7002, 41462.3984, 2.5700 },{ 6008.7002, 41462.6992, 2.7000 },{ 6008.7002, 41463.0000, 2.8300 },{ 6008.7002, 41463.3008, 2.9700 },{ 6008.7002, 41463.6016, 3.1000 },{ 6008.7002, 41463.8984, 3.2300 },{ 6008.7002, 41464.1992, 3.3600 },{ 6008.7002, 41464.5000, 3.4500 },{ 6008.7002, 41464.8008, 3.4800 },{ 6008.7002, 41465.1016, 3.4600 },{ 6008.7002, 41465.3984, 3.4600 },{ 6008.7002, 41465.6992, 3.4700 },{ 6008.7002, 41466.0000, 3.5300 },{ 6008.7002, 41466.3008, 3.6200 },{ 6008.7002, 41466.6016, 3.7000 },{ 6008.7002, 41466.8984, 3.7600 },{ 6008.7002, 41467.1992, 3.7700 },{ 6008.7002, 41467.5000, 3.7500 },{ 6009.0000, 41456.1016, 1.7300 },{ 6009.0000, 41456.3984, 1.7500 },{ 6009.0000, 41456.6992, 1.7500 },{ 6009.0000, 41457.0000, 1.8000 },{ 6009.0000, 41457.3008, 1.8000 },{ 6009.0000, 41457.6016, 1.8000 },{ 6009.0000, 41457.8984, 1.8600 },{ 6009.0000, 41458.1992, 1.9000 },{ 6009.0000, 41458.5000, 1.9500 },{ 6009.0000, 41458.8008, 2.0000 },{ 6009.0000, 41459.1016, 2.0600 },{ 6009.0000, 41459.3984, 2.1100 },{ 6009.0000, 41459.6992, 2.1700 },{ 6009.0000, 41460.0000, 2.2100 },{ 6009.0000, 41460.3008, 2.2400 },{ 6009.0000, 41460.6016, 2.2800 },{ 6009.0000, 41460.8984, 2.3200 },{ 6009.0000, 41461.1992, 2.3400 },{ 6009.0000, 41461.5000, 2.3700 },{ 6009.0000, 41461.8008, 2.4000 },{ 6009.0000, 41462.1016, 2.4500 },{ 6009.0000, 41462.3984, 2.5500 },{ 6009.0000, 41462.6992, 2.6800 },{ 6009.0000, 41463.0000, 2.8100 },{ 6009.0000, 41463.3008, 2.9400 },{ 6009.0000, 41463.6016, 3.0900 },{ 6009.0000, 41463.8984, 3.2300 },{ 6009.0000, 41464.1992, 3.3700 },{ 6009.0000, 41464.5000, 3.4900 },{ 6009.0000, 41464.8008, 3.5200 },{ 6009.0000, 41465.1016, 3.5200 },{ 6009.0000, 41465.3984, 3.5200 },{ 6009.0000, 41465.6992, 3.5400 },{ 6009.0000, 41466.0000, 3.6000 },{ 6009.0000, 41466.3008, 3.6900 },{ 6009.0000, 41466.6016, 3.7600 },{ 6009.0000, 41466.8984, 3.8300 },{ 6009.0000, 41467.1992, 3.8400 },{ 6009.0000, 41467.5000, 3.8300 },{ 6009.2998, 41456.1016, 1.7000 },{ 6009.2998, 41456.3984, 1.7100 },{ 6009.2998, 41456.6992, 1.7200 },{ 6009.2998, 41457.0000, 1.7400 },{ 6009.2998, 41457.3008, 1.7600 },{ 6009.2998, 41457.6016, 1.7900 },{ 6009.2998, 41457.8984, 1.8400 },{ 6009.2998, 41458.1992, 1.8900 },{ 6009.2998, 41458.5000, 1.9400 },{ 6009.2998, 41458.8008, 2.0000 },{ 6009.2998, 41459.1016, 2.0800 },{ 6009.2998, 41459.3984, 2.1500 },{ 6009.2998, 41459.6992, 2.2300 },{ 6009.2998, 41460.0000, 2.2800 },{ 6009.2998, 41460.3008, 2.3300 },{ 6009.2998, 41460.6016, 2.3800 },{ 6009.2998, 41460.8984, 2.4200 },{ 6009.2998, 41461.1992, 2.4300 },{ 6009.2998, 41461.5000, 2.4300 },{ 6009.2998, 41461.8008, 2.4300 },{ 6009.2998, 41462.1016, 2.4500 },{ 6009.2998, 41462.3984, 2.5400 },{ 6009.2998, 41462.6992, 2.6500 },{ 6009.2998, 41463.0000, 2.7700 },{ 6009.2998, 41463.3008, 2.8900 },{ 6009.2998, 41463.6016, 3.0300 },{ 6009.2998, 41463.8984, 3.1800 },{ 6009.2998, 41464.1992, 3.3200 },{ 6009.2998, 41464.5000, 3.4500 },{ 6009.2998, 41464.8008, 3.5000 },{ 6009.2998, 41465.1016, 3.5200 },{ 6009.2998, 41465.3984, 3.5400 },{ 6009.2998, 41465.6992, 3.5800 },{ 6009.2998, 41466.0000, 3.6500 },{ 6009.2998, 41466.3008, 3.7500 },{ 6009.2998, 41466.6016, 3.8400 },{ 6009.2998, 41466.8984, 3.9100 },{ 6009.2998, 41467.1992, 3.9400 },{ 6009.2998, 41467.5000, 3.9300 },{ 6009.6001, 41456.3984, 1.6900 },{ 6009.6001, 41456.6992, 1.7000 },{ 6009.6001, 41457.0000, 1.7100 },{ 6009.6001, 41457.3008, 1.7300 },{ 6009.6001, 41457.6016, 1.7600 },{ 6009.6001, 41457.8984, 1.8000 },{ 6009.6001, 41458.1992, 1.8500 },{ 6009.6001, 41458.5000, 1.9000 },{ 6009.6001, 41458.8008, 1.9700 },{ 6009.6001, 41459.1016, 2.0500 },{ 6009.6001, 41459.3984, 2.1400 },{ 6009.6001, 41459.6992, 2.2200 },{ 6009.6001, 41460.0000, 2.3100 },{ 6009.6001, 41460.3008, 2.3800 },{ 6009.6001, 41460.6016, 2.4600 },{ 6009.6001, 41460.8984, 2.5200 },{ 6009.6001, 41461.1992, 2.5400 },{ 6009.6001, 41461.5000, 2.5200 },{ 6009.6001, 41461.8008, 2.5200 },{ 6009.6001, 41462.1016, 2.5300 },{ 6009.6001, 41462.3984, 2.5900 },{ 6009.6001, 41462.6992, 2.6900 },{ 6009.6001, 41463.0000, 2.7900 },{ 6009.6001, 41463.3008, 2.8900 },{ 6009.6001, 41463.6016, 3.0100 },{ 6009.6001, 41463.8984, 3.1400 },{ 6009.6001, 41464.1992, 3.2600 },{ 6009.6001, 41464.5000, 3.3700 },{ 6009.6001, 41464.8008, 3.4400 },{ 6009.6001, 41465.1016, 3.4900 },{ 6009.6001, 41465.3984, 3.5500 },{ 6009.6001, 41465.6992, 3.6100 },{ 6009.6001, 41466.0000, 3.7000 },{ 6009.6001, 41466.3008, 3.8100 },{ 6009.6001, 41466.6016, 3.9200 },{ 6009.6001, 41466.8984, 4.0000 },{ 6009.6001, 41467.1992, 4.0400 },{ 6009.6001, 41467.5000, 4.0400 },{ 6009.6001, 41467.8008, 4.0500 },{ 6009.8999, 41456.3984, 1.6900 },{ 6009.8999, 41456.6992, 1.7000 },{ 6009.8999, 41457.0000, 1.7100 },{ 6009.8999, 41457.3008, 1.7200 },{ 6009.8999, 41457.6016, 1.7400 },{ 6009.8999, 41457.8984, 1.7600 },{ 6009.8999, 41458.1992, 1.7900 },{ 6009.8999, 41458.5000, 1.8200 },{ 6009.8999, 41458.8008, 1.9000 },{ 6009.8999, 41459.1016, 2.0000 },{ 6009.8999, 41459.3984, 2.1000 },{ 6009.8999, 41459.6992, 2.2000 },{ 6009.8999, 41460.0000, 2.3100 },{ 6009.8999, 41460.3008, 2.4200 },{ 6009.8999, 41460.6016, 2.5200 },{ 6009.8999, 41460.8984, 2.6200 },{ 6009.8999, 41461.1992, 2.6500 },{ 6009.8999, 41461.5000, 2.6600 },{ 6009.8999, 41461.8008, 2.6700 },{ 6009.8999, 41462.1016, 2.6900 },{ 6009.8999, 41462.3984, 2.7400 },{ 6009.8999, 41462.6992, 2.8200 },{ 6009.8999, 41463.0000, 2.9000 },{ 6009.8999, 41463.3008, 2.9900 },{ 6009.8999, 41463.6016, 3.0700 },{ 6009.8999, 41463.8984, 3.1600 },{ 6009.8999, 41464.1992, 3.2400 },{ 6009.8999, 41464.5000, 3.3100 },{ 6009.8999, 41464.8008, 3.4000 },{ 6009.8999, 41465.1016, 3.4800 },{ 6009.8999, 41465.3984, 3.5700 },{ 6009.8999, 41465.6992, 3.6600 },{ 6009.8999, 41466.0000, 3.7700 },{ 6009.8999, 41466.3008, 3.8800 },{ 6009.8999, 41466.6016, 3.9900 },{ 6009.8999, 41466.8984, 4.0900 },{ 6009.8999, 41467.1992, 4.1300 },{ 6009.8999, 41467.5000, 4.1400 },{ 6009.8999, 41467.8008, 4.1600 },};void shadower_11_8(const string &strDataFolder)
{osg::ref_ptr<osgViewer::Viewer> viewer = new osgViewer::Viewer();osg::ref_ptr<osg::GraphicsContext::Traits> traits = new osg::GraphicsContext::Traits;traits->x = 40;traits->y = 40;traits->width = 600;traits->height = 480;traits->windowDecoration = true;traits->doubleBuffer = true;traits->sharedContext = 0;osg::ref_ptr<osg::GraphicsContext> gc = osg::GraphicsContext::createGraphicsContext(traits.get());osg::ref_ptr<osg::Camera> camera = viewer->getCamera();camera->setGraphicsContext(gc.get());camera->setViewport(new osg::Viewport(0, 0, traits->width, traits->height));GLenum buffer = traits->doubleBuffer ? GL_BACK : GL_FRONT;camera->setDrawBuffer(buffer);camera->setReadBuffer(buffer);osg::ref_ptr<osg::Group> root = new osg::Group();// 創(chuàng)建一個陰影節(jié)點(diǎn),并標(biāo)識接收對象和投影對象osg::ref_ptr<osgShadow::ShadowedScene> shadowedScene = new osgShadow::ShadowedScene();shadowedScene->setReceivesShadowTraversalMask(ReceivesShadowTraversalMask);shadowedScene->setCastsShadowTraversalMask(CastsShadowTraversalMask);// 創(chuàng)建陰影紋理osg::ref_ptr<osgShadow::ShadowTexture> st = new osgShadow::ShadowTexture();// 關(guān)聯(lián)陰影紋理shadowedScene->setShadowTechnique(st);osg::ref_ptr<osg::Node> node = new osg::Node();node = createModel(strDataFolder);// 添加場景數(shù)據(jù)并添加光源shadowedScene->addChild(createLight(node.get()));shadowedScene->addChild(node.get());root->addChild(shadowedScene.get());// 優(yōu)化場景數(shù)據(jù)osgUtil::Optimizer optimize;optimize.optimize(root.get());viewer->setSceneData(root.get());viewer->realize();viewer->run();
}// 創(chuàng)建動畫路徑
osg::ref_ptr<osg::AnimationPath> createAnimationPath(osg::Vec3 ¢er,float radius, double looptime)
{osg::ref_ptr<osg::AnimationPath> animationPath = new osg::AnimationPath;animationPath->setLoopMode(osg::AnimationPath::LOOP);int numSamples = 40;float yaw = 0.0;float yaw_delta = 2.0 * osg::PI / (numSamples - 1.0);float roll = osg::inDegrees(30.0);double time = 0.0;double time_delta = looptime / (double)numSamples;for (int i = 0; i < numSamples; ++i){osg::Vec3 position(center + osg::Vec3(sinf(yaw) * radius, cosf(yaw) * radius, 0.0));osg::Quat rotation(osg::Quat(roll, osg::Vec3(0.0, 1.0, 0.0))*osg::Quat(-(yaw + osg::inDegrees(90.0)), osg::Vec3(0.0, 0.0, 1.0)));animationPath->insert(time, osg::AnimationPath::ControlPoint(position, rotation));yaw += yaw_delta;time += time_delta;}return animationPath.get();
}// 創(chuàng)建地形平面
osg::ref_ptr<osg::Node> createBase(const string &strDataFolder, const osg::Vec3 ¢er, float radius)
{osg::ref_ptr<osg::Geode> geode = new osg::Geode;// 設(shè)置紋理屬性osg::ref_ptr<osg::StateSet> stateset = new osg::StateSet();string strDataPath = strDataFolder + "Images\\lz.rgb";osg::ref_ptr<osg::Image> image = osgDB::readImageFile(strDataPath);if (image.get()){osg::ref_ptr<osg::Texture2D> texture = new osg::Texture2D;texture->setImage(image.get());stateset->setTextureAttributeAndModes(0, texture.get(), osg::StateAttribute::ON);}geode->setStateSet(stateset.get());// 申請一個高程類osg::ref_ptr<osg::HeightField> grid = new osg::HeightField;grid->allocate(38, 39);grid->setOrigin(center + osg::Vec3(-radius, -radius, 0.0));grid->setXInterval(radius * 2.0 / (38 - 1.0));grid->setYInterval(radius * 2.0 / (39 - 1.0));// 得到最高值和最低值,以確定合適的高程素芳和高程偏移float minHeight = FLT_MAX;float maxHeight = -FLT_MAX;for (unsigned int r = 0; r < 39; ++r){for (unsigned int c = 0; c < 38; ++c){float h = vertex[r + c * 39][2];if (h > maxHeight){maxHeight = h;}if (h < minHeight){minHeight = h;}}}float heightScale = radius * 0.5 / (maxHeight - minHeight);float heightOffset = -(minHeight + maxHeight) * 0.5;// 設(shè)置行列數(shù)據(jù)for (unsigned int r = 0; r < 39; ++r){for (unsigned int c = 0; c < 38; ++c){float h = vertex[r + c * 39][2];grid->setHeight(c, r, (h + heightOffset) * heightScale);}}geode->addDrawable(new osg::ShapeDrawable(grid.get()));osg::ref_ptr<osg::Group> group = new osg::Group;group->addChild(geode.get());return group.get();
}// 創(chuàng)建飛機(jī)動畫模型
osg::ref_ptr<osg::Node> createMovingModel(const string &strDataFolder, osg::Vec3 ¢er, float radius)
{float animationLength = 10.0;osg::ref_ptr<osg::AnimationPath> animationPath = createAnimationPath(center, radius,animationLength);osg::ref_ptr<osg::Group> model = new osg::Group;string strDataPath = strDataFolder + "cessna.osg";osg::ref_ptr<osg::Node> cessna = osgDB::readNodeFile(strDataPath);if (cessna.get()){const osg::BoundingSphere &bs = cessna->getBound();float size = radius / bs.radius() * 0.3;osg::ref_ptr< osg::MatrixTransform> positioned = new osg::MatrixTransform;positioned->setDataVariance(osg::Object::STATIC);positioned->setMatrix(osg::Matrix::translate(-bs.center())*osg::Matrix::scale(size, size, size)*osg::Matrix::rotate(osg::inDegrees(180.0f), 0.0f, 0.0f, 2.0f));positioned->addChild(cessna.get());osg::ref_ptr<osg::MatrixTransform> xform = new osg::MatrixTransform;xform->setUpdateCallback(new osg::AnimationPathCallback(animationPath, 0.0, 2.0));xform->addChild(positioned);model->addChild(xform.get());}return model.get();
}// 創(chuàng)建場景數(shù)據(jù)
osg::ref_ptr<osg::Node> createModel(const string &strDataFolder)
{osg::Vec3 center(0, 0, 0);float radius = 100.0;osg::Vec3 lightPosition(center + osg::Vec3(0, 0, radius));osg::ref_ptr<osg::Node> shadower = createMovingModel(strDataFolder, center, radius * 0.5);shadower->setNodeMask(CastsShadowTraversalMask);osg::ref_ptr<osg::Node> shadowed = createBase(strDataFolder, center - osg::Vec3(0, 0, radius*0.25), radius);shadowed->setNodeMask(CastsShadowTraversalMask);osg::ref_ptr<osg::Group> group = new osg::Group;group->addChild(shadowed.get());group->addChild(shadower.get());return group.get();
}// 創(chuàng)建一個光照
osg::ref_ptr<osg::Node> createLight(osg::ref_ptr<osg::Node> model)
{osg::ComputeBoundsVisitor cbbv;model->accept(cbbv);osg::BoundingBox bb = cbbv.getBoundingBox();osg::Vec4 lightpos;lightpos.set(bb.center().x(), bb.center().y(), bb.zMax() + bb.radius() * 2.0, 1.0);osg::ref_ptr<osg::LightSource> ls = new osg::LightSource();ls->getLight()->setPosition(lightpos);ls->getLight()->setAmbient(osg::Vec4(0.2, 0.2, 0.2, 1.0));ls->getLight()->setDiffuse(osg::Vec4(0.8, 0.8, 0.8, 1.0));return ls.get();
}
????????運(yùn)行程序,截圖如圖 11-11 所示
圖11-11陰影示例裁圖