OSG開發之模型移動 旋轉 縮放

2021-08-20 01:51:01 字數 1025 閱讀 7331

對模型最常用的操作莫過於移動了,有很多人不知道如何操作來移動乙個模型。現在我們要明確乙個事例,也就是說osg把加入的模型預設都放在中點了,這非常的不好受。其實有些時候並不建議在場景中移動模型,替代的是模型在未加入場景之前位置就是完好的。 移動/旋轉/縮放其實都是對矩陣進行操作,在osg當中,矩陣可以當作乙個特殊的結點加入到root當中,而矩陣下也可以另入結點,而加入的結點就會被這個矩陣處理過,比如移動過/旋轉過/縮放過。在osg中控制矩陣的類可以為osg::matrixtransform。下面看乙個示例,示例對osgcool.osg進行了各種操作。程式結構如圖1:

圖1程式例項:移動/旋轉/縮放模型

功能:移動/旋轉/縮放模型,這裡加入了四個coolosg,乙個是預設加入在最中間,乙個向上移2單位,乙個是向下移2單位且縮放0.5倍,另乙個是向右4單位,縮放0.5且平躺45度。如圖2所示。

圖2**解釋: 

第10行:讀入乙個osgcool.osg模型 

第12~14行:申請乙個矩陣使加入矩陣的東西沿z軸平移2個單位,在osg中座標軸是可以設定的,預設x軸是x軸,向裡的是y軸,而向上是z軸,這與傳統的opengl座標軸多有不同。 

第16~18行:申請乙個矩陣使加入該矩的模型向下移動兩個單位,值得一提的是,移動和縮放以及旋轉都是對矩陣進行操作,這些操作如果要疊加直接矩陣相乘就可以了,可以查閱一下矩陣的基本知識,最好看圖形學的相關書籍中關於矩陣操作一節。 第20~22行:申請乙個矩陣使加入該矩陣的模型向下移動兩個單位,向右移動四個單位,且繞x軸轉45度。這裡的幾個矩陣也是疊加的,函式degreestoradians可以把角度轉為弧度。 

第24~27行:把這些矩陣都加入到root當中。

透明,旋轉,移動,縮放

透明 在2s內,將imageview的透明度從1變成0然後再變成1。objectanimator animator objectanimator.offloat mimg alpha 1f 0f 1f animator.setduration 2000 時間1s animator.start 旋轉 ...

Blender 1 移動 旋轉 縮放

首先,選中物體。按下g,grab,移動。1.1.1 按xyz軸移動 按下g之後,再按x,物體按x軸移動。同理 按y後移動滑鼠沿y軸移動 按z後移動滑鼠沿z軸移動。還有乙個快捷方式,按g之後,按滑鼠中間,直接可以在xyz軸移動,方便。1.1.2 在平面移動 按下g之後,再按shift x,鎖定x軸,物...

iOS開發 旋轉 縮放 平移

一 建立乙個uiview import viewcontroller.h inte ce viewcontroller property nonatomic,strong uiview myview end implementation viewcontroller void viewdidload...