亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在 VTK 中創建顏色圖?

如何在 VTK 中創建顏色圖?

墨色風雨 2022-11-09 17:14:45
我在 VTK 中創建了一個簡單的非結構化正方形:x = [0,10,0,10]y = [0, 0, 10, 10]z = [0,0,0,0]data = np.asarray([x,y,z]).Tfor i in range(0, len(x)):    points.InsertPoint(i, data[i])quad = [2,3,1,0]ugrid.InsertNextCell(vtk.VTK_QUAD, 4, quad)ugrid.SetPoints(points)假設我想創建一個正方形溫度的顏色圖。我知道角落的溫度: temp = [0,20,40,60]知道這些值如何為整個正方形著色?VTK 在他們的教程(ColoredElevationMap 教程)中提供了一個創建顏色圖的示例,但是,我并不完全理解它,我相信還有另一種更簡單的方法可以在我不知道的 VTK 中創建顏色圖。
查看完整描述

2 回答

?
元芳怎么了

TA貢獻1798條經驗 獲得超7個贊

您應該添加數據數組并將其設置為標量(= 在 VTK 中使用的默認數組,特別是用于著色)


temperature = vtk.vtkIntArray()

temperature.SetName("Temp")

temp = [00,20,40,60]

for t in temp:

    temperature.InsertNextValue(t)


ugrid.GetPointData().SetScalars(temperature)

然后在渲染部分,默認使用這個數組進行著色。您仍然需要更新顏色范圍:


mapper.SetScalarRange(ugrid.GetScalarRange())

你可以看看這個例子(編輯:更新鏈接感謝@paulo-carvalho)


查看完整回答
反對 回復 2022-11-09
?
繁華開滿天機

TA貢獻1816條經驗 獲得超4個贊

添加到 Nico Vuaille 的答案??梢允褂貌檎冶砀牡貓D的顏色,例如:


lut = vtk.vtkLookupTable()

lut.SetHueRange(0, 0)

lut.SetSaturationRange(0, 0)

lut.SetValueRange(0.2, 1.0)

lut.Build()


Mapper.SetLookupTable(lut)


查看完整回答
反對 回復 2022-11-09
  • 2 回答
  • 0 關注
  • 222 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號