VTK草稿5

4.7 Using Texture

材質(zhì)貼圖的本質(zhì)是一個2D的圖像可以渲染過程中被貼在物體的表面,來創(chuàng)造出更豐富的渲染效果。材質(zhì)貼圖需要兩個信息:

  • texture map,即2D的圖像,在VTK中以vtkImageData的dataset來表示眨攘。
  • texture coordinate,控制貼圖在物體表面的位置嚣州。

下面是示例代碼和實現(xiàn)效果:

# Load in the texture map. A texture is any unsigned char image. If it
# is not of this type, you will have to map it through a lookup table
# or by using vtkImageShiftScale.
bmpReader = vtk.vtkBMPReader()
bmpReader.SetFileName("/Volumes/Data/VTK/VTK-6.2.0/.ExternalData/MD5/8aa8fa634bb80a41256b2fd0e01819af")
atext = vtk.vtkTexture()
atext.SetInputConnection(bmpReader.GetOutputPort())
atext.InterpolateOn()

# Create a plane source and actor. The vtkPlanesSource generates
# texture coordinates.
plane = vtk.vtkPlaneSource()
planeMapper = vtk.vtkPolyDataMapper()
planeMapper.SetInputConnection(plane.GetOutputPort())
planeActor = vtk.vtkActor()
planeActor.SetMapper(planeMapper)
planeActor.SetTexture(atext)
Texture map on plane

注:這里貼圖的坐標就是plane的坐標鲫售,vtkPlaneSource會自動生成這個坐標。

4.8 Picking

pick是一個可視化中很常見的任務(wù)该肴,選定一個點作為pick的起始位置情竹,執(zhí)行vtkAbstractPickerPick()方法,根據(jù)pick的類型匀哄,返回選取點的信息秦效,最簡單的信息是三維的坐標(x-y-z global coordinate),或者包括cell id, point id等拱雏。pick的語法如下:

Pick(selectionX, selectionY, selectionZ, Renderer)
pick點的三維坐標.png

4.9 vtkCoordinate and Coordinate Systems

VTK支持多種坐標系棉安,vtkCoordinate這個類負責坐標系之間的轉(zhuǎn)換底扳。支持的坐標系如下:

  • DISPLAY: 窗口(vtkWindow)中的x-y坐標铸抑,以像素為單。以窗口的左下方為原點衷模。
  • NORMALIZED DISPLAY: 歸一化的DISPLAY鹊汛,[0,1]范圍蒲赂。
  • VIEWPOINT: viewpoint(即一個renderer)內(nèi)的x-y坐標,以像素為單位刁憋。
  • NORMALIZED VIEWPOINT: 歸一化的VIEWPOINT滥嘴。
  • VIEW: x-y-z(-1, 1) 以camera為視角的坐標系,z是深度至耻。
  • WORLD: x-y-z全局坐標
  • USERDEFINED: 用戶自定義的空間若皱,用戶必須相應的坐標系轉(zhuǎn)換方法。

4.10 Controlling vtkActor2D

vtkActor2D類似于vtkActor尘颓,不同之處在于它是繪制在一個平面上的走触,沒有一個4*4的轉(zhuǎn)換矩陣。它也有mapper:vtkMapper2D和property:vtkProperty2D疤苹,最難處理的部分在于它的位置處理互广。要做到這一點,必須要使用上文提到的vtkCoordinate卧土。

4.11 Annotation

VTK提供了兩種方式來標注圖像:

  • 2D annotation: 文字可以被覆蓋在3D圖像的上方(overlay plane)惫皱,即在頂層的圖層上標注。
  • 3D annotation: 文字也被渲染成3D的多邊形數(shù)據(jù)尤莺,就像其他3D圖形一樣旅敷。

2D annotation

2D annotation.png

3D annotation and vtkFollower

3D的標注一般使用vtkVectorText來創(chuàng)建字符串的多邊形表示,然后把它放在合適的位置上颤霎。一個用于放置3D標注的類是vtkFollower扫皱,這是個actor,能確保被渲染的actor始終正對著camera捷绑,所以不管圖像怎么旋轉(zhuǎn)位移韩脑,字符始終能夠看清。

3D annotation.png

這張圖是一個坐標系的圖示粹污,不管坐標系怎么旋轉(zhuǎn)移動段多,指示原點的"Origin"標識始終正對著鏡頭

4.12 Special Plotting Classes

VTK提供了幾種復雜的繪圖操作:

  • Scalar Bar
  • vtkScalarBar用來創(chuàng)建顏色和數(shù)值之間的對應關(guān)系,scalar bar有三個組成部分:一個長方形的色彩帶壮吩;指示數(shù)值的label进苍;ScalarBar的名字。
  • Scalar Bar的使用有以下幾點:
    • 指向一個vtkLookupTable鸭叙,它定義了顏色和數(shù)值之間的對應關(guān)系觉啊。
    • 設(shè)定Scalar Bar的位置和朝向(水平/垂直)
    • 可選擇Scalar Bar的顏色、標簽的數(shù)字沈贝、題目的文字等杠人。
Scalar Bat
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子嗡善,更是在濱河造成了極大的恐慌辑莫,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,383評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件罩引,死亡現(xiàn)場離奇詭異各吨,居然都是意外死亡,警方通過查閱死者的電腦和手機袁铐,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,522評論 3 385
  • 文/潘曉璐 我一進店門揭蜒,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人剔桨,你說我怎么就攤上這事忌锯。” “怎么了领炫?”我有些...
    開封第一講書人閱讀 157,852評論 0 348
  • 文/不壞的土叔 我叫張陵偶垮,是天一觀的道長。 經(jīng)常有香客問我帝洪,道長似舵,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,621評論 1 284
  • 正文 為了忘掉前任葱峡,我火速辦了婚禮砚哗,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘砰奕。我一直安慰自己蛛芥,他們只是感情好,可當我...
    茶點故事閱讀 65,741評論 6 386
  • 文/花漫 我一把揭開白布军援。 她就那樣靜靜地躺著仅淑,像睡著了一般。 火紅的嫁衣襯著肌膚如雪胸哥。 梳的紋絲不亂的頭發(fā)上涯竟,一...
    開封第一講書人閱讀 49,929評論 1 290
  • 那天,我揣著相機與錄音空厌,去河邊找鬼庐船。 笑死,一個胖子當著我的面吹牛嘲更,可吹牛的內(nèi)容都是我干的筐钟。 我是一名探鬼主播,決...
    沈念sama閱讀 39,076評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼赋朦,長吁一口氣:“原來是場噩夢啊……” “哼篓冲!你這毒婦竟也來了李破?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,803評論 0 268
  • 序言:老撾萬榮一對情侶失蹤纹因,失蹤者是張志新(化名)和其女友劉穎喷屋,沒想到半個月后琳拨,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體瞭恰,經(jīng)...
    沈念sama閱讀 44,265評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,582評論 2 327
  • 正文 我和宋清朗相戀三年狱庇,在試婚紗的時候發(fā)現(xiàn)自己被綠了惊畏。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,716評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡密任,死狀恐怖颜启,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情浪讳,我是刑警寧澤缰盏,帶...
    沈念sama閱讀 34,395評論 4 333
  • 正文 年R本政府宣布,位于F島的核電站淹遵,受9級特大地震影響口猜,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜透揣,卻給世界環(huán)境...
    茶點故事閱讀 40,039評論 3 316
  • 文/蒙蒙 一济炎、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧辐真,春花似錦须尚、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,798評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至楔脯,卻和暖如春咙咽,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背淤年。 一陣腳步聲響...
    開封第一講書人閱讀 32,027評論 1 266
  • 我被黑心中介騙來泰國打工钧敞, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人麸粮。 一個月前我還...
    沈念sama閱讀 46,488評論 2 361
  • 正文 我出身青樓溉苛,卻偏偏與公主長得像,于是被迫代替她去往敵國和親弄诲。 傳聞我的和親對象是個殘疾皇子愚战,可洞房花燭夜當晚...
    茶點故事閱讀 43,612評論 2 350

推薦閱讀更多精彩內(nèi)容

  • 我們都知道娇唯,一個三維場景的畫面的好壞,百分之四十取決于模型寂玲,百分之六十取決于貼圖塔插,可見貼圖在畫面中所占的重要性。在...
    自由的天空閱讀 12,374評論 0 12
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,837評論 25 707
  • 一拓哟、紋理基礎(chǔ) 3D圖形渲染中最基本的操作就是對一個表面應用紋理想许。紋理可以表現(xiàn)只從網(wǎng)格的幾何形狀無法得到的附加細節(jié)。...
    cain_huang閱讀 8,725評論 0 7
  • 我不喜歡寫復盤,因為我不愿意費勁兒去回憶我到底學到了什么東西违诗,我總是認為看了那么多數(shù)書漱凝,只要把書中的意思領(lǐng)會了就行...
    小新知之閱讀 263評論 0 0
  • 當我認清自己后 我發(fā)現(xiàn) 我的一切煩惱 來源于我的自以為是 很垃圾 還得瑟的不行
    負Yi閱讀 301評論 0 1