天天看點

好玩的WPF第四彈:用Viewport2DVisual3D實作3D旋轉效果

好玩的WPF第四彈:用Viewport2DVisual3D實作3D旋轉效果

效果呢就是這麼個效果,但是大家要發揮想象力,比如做成一個可以旋轉的按鈕等等。

定義一個這樣的資源就好。

關鍵是在grid裡放這麼一個東西:

正面:

右側:

大家對比上面這兩個就知道正面的镂空是怎麼來的了……

左側:

後方:

大家先不管meshgeometry3d這些東西是做什麼的,後面我盡量簡單快速的講解它們。

是以先來看看程式的内部。

像這種程式肯定會涉及到計時器的,就是dt_tick方法。我将它設定為每次都轉動1度,而下面這一行則是間隔的時間。

其餘的每個方法都用于調節角度,可以看到在正面時會将角度重置一次。

是以接下來看看positions是什麼意思。

好玩的WPF第四彈:用Viewport2DVisual3D實作3D旋轉效果

原諒我把正方體畫歪了,圖中另外用箭頭指出了“正面”、“右側”等。

大家看看positions中都是3個數字一組對吧,這就是一個點,我在圖中已經辨別出來了。而triangleindices中也是3個數字一組,這3個數字訓示了positions中的組合索引(從0開始索引),然後3個數字組成三角形,如圖中箭頭所指向的。

而texturecoordinates是wpf的3d紋理坐标,這裡就不深究的,後面可以深入探讨寫一篇部落格。

大家也可以拿源碼回去慢慢弄着玩嘛……

是以這篇部落格就到此為止咯。掰掰……