乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      WPF中的三維空間(1)

       牛人的尾巴 2016-06-06

      WPF中的三維空間(1)

      (2012-10-01 11:02:21)
      標(biāo)簽:

      雜談

      WPF中可以創(chuàng)建三維幾何圖形,支持3D對象的應(yīng)用,支持從3D Max等軟件將3D文件obj導(dǎo)入設(shè)計(jì)中,但是目前還不支持將材質(zhì)同時(shí)導(dǎo)入,這樣需要在WPF中對3D對象重新設(shè)置顏色或貼圖。

      2.10.1 WPF中的三維空間

      1.三維空間坐標(biāo)

      WPF中二維圖形的坐標(biāo)系原點(diǎn)定位在呈現(xiàn)區(qū)域(屏幕)的左上角,其X 軸上的正方向朝右,Y軸的正向朝下。 在WPF的三維坐標(biāo)系中,原點(diǎn)一般位于在WPF中創(chuàng)建的三維對象的中心(導(dǎo)入的三維對象的情況就不一定了,比如從3DMax中導(dǎo)入的obj文件),三維坐標(biāo)的X 軸正方向朝右,Y軸的正方向朝上,Z軸的正方向從原點(diǎn)向外朝向觀察者。

      WPF中的三維空間(1)

      2-191 三維空間坐標(biāo)

      2-191給出了WPF三維空間坐標(biāo)系(X:紅色,Y:綠色,Z:藍(lán)色),兩個(gè)坐標(biāo)軸之間的弧線表示可以旋轉(zhuǎn),其中:

      Y-Z之間的弧線(紅色)表示可以圍繞X軸旋轉(zhuǎn);

      X-Z之間的弧線(綠色)表示可以圍繞Y軸旋轉(zhuǎn);

      X-Y之間的弧線(藍(lán)色)表示可以圍繞Z軸旋轉(zhuǎn)。

      2照相機(jī)及典型位置

      照相機(jī)是觀察者觀察三維對象形態(tài)和位置的工具,照相機(jī)的位置坐標(biāo)及與對象的距離直接影響到三維對象的呈現(xiàn)。WPF中的相機(jī)有正交相機(jī)(OrthographicCamera)和透視(遠(yuǎn)景)相機(jī)(PerspectiveCamera)兩類,從觀察者的角度來說前者對觀察對象沒有透視感,遠(yuǎn)近都一樣。后者的工作原理與普通照相機(jī)鏡頭類似,對象離照相機(jī)越遠(yuǎn),看起來就越小,觀察到的對象則有遠(yuǎn)小近大的效果。

      照相機(jī)的位置坐標(biāo)是可以變化的,一個(gè)典型的透視相機(jī)位置設(shè)置如2-192所示。

      WPF中的三維空間(1)

      2-192 典型的透視相機(jī)位置設(shè)置

      2-192中,當(dāng)相機(jī)位置靠近Z軸中心時(shí),即Z坐標(biāo)值變小,觀察到的對象變大,當(dāng)相機(jī)位置遠(yuǎn)離Z軸中心時(shí),即Z坐標(biāo)值變大,觀察到的對象變小。

      照相機(jī)的位置就是觀察者的位置,相機(jī)的位置可以任意設(shè)置,這樣觀察到的三維對象的“形象”就會發(fā)生變化,在三維場景中正確設(shè)置相機(jī)位置很重要,圖2-192是一個(gè)典型設(shè)置。

      3.材料

      三維對象使用的材料分三類:

      漫射材料:確定三維對象在直射光(白光)照射下的顏色,其作用就如同墻面噴漆一樣。

      放射材料:使對象產(chǎn)生發(fā)光效果。光的顏色由材料的顏色決定。

      反射材料:控制三維對象上高光反射區(qū)域的顏色。高光反射區(qū)域指在金屬鉻等光滑亮澤表面上看到的光亮區(qū)域。

      4.光的分類

         照射在三維對象上的光線分為4類,如圖2-193所示。

      WPF中的三維空間(1)

                                                     2-193 光的分類

      1)環(huán)境光:環(huán)境光將光投向各個(gè)方向,使所有對象均勻受光。如果只用環(huán)境光,則

      對象可能會顯得褪色,而且顏色單一。為了獲得最佳效果,需要使用其他光。如圖2-193左一圖。

      2)投射光:投射光所投射的光如同聚光燈一般,光從發(fā)光位置發(fā)出,并在錐形區(qū)域內(nèi)傳播。投射光不會影響到位于錐形發(fā)光區(qū)域以外的那部分三維對象。如圖2-193左二圖。 

      3)定向光:定向光沿著特定的方向均勻平行投射,就像太陽光一樣。如圖2-193左三圖。

      4點(diǎn)光:點(diǎn)光從一個(gè)點(diǎn)向所有方向投射光,就像普通的燈泡一樣。如圖2-193右圖。

      2.10.2 WPF三維空間的元素

          1Viewport3D控件

      Expression Blend中提供了Viewport3D控件,這是三維對象元素的上層容器,是相機(jī)對象元素Camera、三維圖形呈現(xiàn)對象元素ModelVisual3D的集合。添加obj對象到【設(shè)計(jì)面板】后就自動建立了1個(gè)Viewport3D控件,在【對象和時(shí)間線】面板中可以看到,其中包含下列屬性設(shè)置:

      1Camera:相機(jī),可以在【屬性】面板選擇以下屬性設(shè)置:

      相機(jī)類型:遠(yuǎn)景相機(jī)、正交相機(jī)及有關(guān)參數(shù);

      Position照相機(jī)在三維空間中的位置;

      Direction照相機(jī)在三維空間中的拍攝方向;

      UP Vector正向矢量,指定此照相機(jī)的“上方”所指的方向。

      Perspective Field of View:透視視野,僅適用于遠(yuǎn)景相機(jī),較小的數(shù)值會減少對象因遠(yuǎn)景拍攝而變形的程度。較大的數(shù)值會像使用魚眼鏡頭一樣導(dǎo)致對象大幅變形。

      Near Clipping Plane/Far Clipping Plane近點(diǎn)/遠(yuǎn)點(diǎn)剪切平面,可控制對象與照相機(jī)之間的最近或最遠(yuǎn)距離,超出上述距離的對象將從所呈現(xiàn)的視圖中消失。

      2AmbientLight:環(huán)境光色彩設(shè)置,可以在上述的光類型中選擇需要的光源。

      3DirectionLight:定向光色彩設(shè)置,可以在上述的光類型中選擇需要的光源。

      4DefaultMaterial:材質(zhì)設(shè)置,可以在前面介紹的材料類型中選擇,可以選擇圖形刷資源。

      2ModelVisual3D元素

      三維元素ModelVisual3D可以再包含多個(gè)ModelVisual3D子元素,比如燈光,三維造型。

      3GeometryModel3D元素

      GeometryModel3DModelVisual3D子元素內(nèi)的三維造型元素,材質(zhì)是其屬性,而三維圖形構(gòu)建又由最底層網(wǎng)格元素MeshGeometry3D完成。

      4MeshGeometry3D元素

      這是1個(gè)若干3D點(diǎn)(Point3D的集合,每3個(gè)3D點(diǎn)按一定環(huán)繞方向組成1個(gè)三角形,WPF采用逆時(shí)針的環(huán)繞方向,符合所謂“右手法則”,即垂直豎起右手的大拇指,彎曲其余4指,其余4指指向正是三角形的環(huán)繞方向,大拇指的指向是三角形的正面,反向是其背面,如圖2-194所示,正是這些三角形構(gòu)成了WPF中的三維造型世界。

      WPF中的三維空間(1)
      2-194 MeshGeometry3D

      2-195是【對象和時(shí)間線】面板呈現(xiàn)的1個(gè)三維對象元素的列表,可以看出上面所說的三維元素之間的關(guān)系。

                                  WPF中的三維空間(1)

                                                 2-195 三維對象元素

      2-195中有1個(gè)Viewport3D控件,其中有1個(gè)Camera元素,1個(gè)名為“World”的三維元素ModelVisual3D,這是多個(gè)ModelVisual3D元素的集合,“AmbientLightContainer”、“DirectionalLightContainer”和“RootGeometryContainer”均屬于ModelVisual3D元素,其中“RootGeometryContainer”元素又包含多個(gè)ModelVisual3D子元素,如“Cylinder01”、“Cylinder02”等?!?span lang="EN-US" xml:lang="EN-US">Cylinder01”中又包含GeometryModel3D 元素。

        本站是提供個(gè)人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多