This presentation is the property of its rightful owner.
Sponsored Links
1 / 57

上一节课内容回顾 PowerPoint PPT Presentation


  • 112 Views
  • Uploaded on
  • Presentation posted in: General

上一节课内容回顾. 第七讲 三维标量场等值面可视化 7.1 Cuberille 表示和显示方法 7.2 Marching Cube 算法 7.3 有限元等值面 7.4 VTK 中三维标量场的等值面可视化. 等值面是指空间中的一张曲面,在该曲面上函数 F(x,y,z) 的值等于某一给定值. 准确地讲,是在一网格空间中,其中每一结点保存着连续三变量函数 F(x,y,z) 在网格单元 (x i ,y j ,z k ) 上的采样值 F(x i ,y j ,z k ) ,对于某一给定值 F t ,等值面是由所有点 S Ft =

Download Presentation

上一节课内容回顾

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


4676218

7.1 Cuberille

7.2 Marching Cube

7.3

7.4 VTK


4676218

F(x,y,z)

F(x,y,z)(xi,yj,zk)F(xi,yj,zk)FtSFt

{(xyz)F(x,y,z) Ft }


4676218

7.1 Cuberille

CuberilleCuberilleCuberille


4676218

7.1 Cuberille


4676218

7.2 Marching Cube

Marching Cube

Marching CubeCuberilleMarching Cube7.2

7.2 Marching Cube


4676218

15

1

0

2

3

4

5

6

7


4676218

10

9

8

11

12

13

14


4676218

7.2.2

Marching Cube157.5

7.5


4676218

7.11

7.11


4676218

7.3

1)468(7.12)

2)

7.12


4676218

Cuberille

Marching Cube


4676218

  • VTK


4676218

81

(voxel)


4676218

    • CTMR

    • .

    • (Cuberille)(Marching Cube)

    • .


4676218

()

81


4676218

81


4676218


4676218

8.2

-


4676218

821

822

823

CT


4676218

  • 83


4676218

1

K8

For Do

For Do


4676218

2

For Do

For Do


4676218

  • .


4676218

  • 8.4


4676218

841


4676218

811


4676218

812


4676218

811I1I2I1I2

1)I1

2) I2

1)

2)

3)

4)


4676218

dPQ813Qd

d814d


4676218

813

814 d


4676218

For il to L Do

PE(i1)U

For i1 to L Do

K0K1

KK01

QPKt

While(Q)and(K < K1)) Do

KK1

QQ1

End While

IF Q Then

IP

I

P

Else

P

End If

End For

PPV

End For


4676218

8.4.2

815


4676218

815


4676218

(i,j,k)f(x)(x=(i,j,k))(uv)R(uv)C(uv)

f(x)C(x)a(x)RS1S2SmC(x)a(x) C(Si)a(Si)C(Si)a(Si)816


4676218

816


4676218

CinAin

CoutAout (817)

:

CoutCin(1-Ain) + C(Si)* A(Si)

:

CoutCin+C(Si) (1-Ain)

Aout,

Aout

817


4676218

C(R)0

a(R)0

X1First(R)

X2Last(R)

UlImage(X1)

U2Image(X2) S

For SU1 to U2 Do

Sx=Object(S)

Sxa(Sx)

If a(Sx)0 Then

C(Sx)(c*a)

C(R)C(R)C(Sx)(1 - a(R))

a(R)a(R)a(Sx)(1-a(R))

End If

End For


4676218

85

820


4676218

820


4676218

851 V-Buffer

Z-BufferV-Buffer


4676218

(1)

VBuffer

821l9


4676218

(2)

(822)

(3)

V-BufferV-Buffer8.22PAB.


4676218

82l


4676218

822


4676218

823


4676218

(823)

Cacc(1Oacc)CCacc

Oacc(1Oacc)OOacc

1)

2)V-BufferOacc1


4676218

852 Footprint

FootprintFootprint(Footprint)

824


4676218

824 Footprint


4676218

  • Footprint. Footprint

    • (ijk)(xyz)(xyzrgba).

    • FootprintFootprintSplatting

    • ;


4676218

86

(voxelization)


4676218

87 VTK:

1 :vtkVolume ----vtkActor

volume = vtkVolume()

volume.SetMapper(volumeMapper)

volume.SetProperty(volumeProperty)

2 :vtkVolumeProperty ()

: SetColor (vtkPiecewiseFunction )

: SetColor (vtkColorTransferFunction)

:SetScalarOpacity (vtkPiecewiseFunction )

: SetGradientOpacity (vtkPiecewiseFunction )

volumeProperty = vtkVolumeProperty()

volumeProperty.SetColor(colorTransferFunction)

volumeProperty.SetScalarOpacity(opacityTransferFunction)

opacityTransferFunction = vtkPiecewiseFunction()

opacityTransferFunction.AddPoint(20,0.0)

opacityTransferFunction.AddPoint(255,0.2)


4676218

colorTransferFunction = vtkColorTransferFunction()

colorTransferFunction.AddRGBPoint(0.0,0.0,0.0,0.0)

colorTransferFunction.AddRGBPoint(64.0,1.0,0.0,0.0)

colorTransferFunction.AddRGBPoint(128.0,0.0,0.0,1.0)

colorTransferFunction.AddRGBPoint(192.0,0.0,1.0,0.0)

colorTransferFunction.AddRGBPoint(255.0,0.0,0.2,0.0)

  • 3 Mapper: vtkVolumeMapper

  • vtkVolumeRayCastMapper:

  • : SetVolumeRayCastFunction(vtkVolumeRayCastFunction)

  • : SetGradientEstimator(vtkEncodedGradientEstimator)

  • volumeMapper = vtkVolumeRayCastMapper()

  • compositeFunction = vtkVolumeRayCastCompositeFunction()

  • volumeMapper.SetVolumeRayCastFunction(compositeFunction)

  • volumeMapper.SetInput(reader.GetOutput())

  • (2) vtkVolumeProMapperVolumePro

  • (3) vtkVolumeTextureMapper2D


4676218

reader = vtkStructuredPointsReader()

reader.SetFileName("./ironProt.vtk")

# Create transfer mapping scalar value to opacity

opacityTransferFunction = vtkPiecewiseFunction()

opacityTransferFunction.AddPoint(20,0.0)

opacityTransferFunction.AddPoint(255,0.2)

# Create transfer mapping scalar value to color

colorTransferFunction = vtkColorTransferFunction()

colorTransferFunction.AddRGBPoint(0.0,0.0,0.0,0.0)

colorTransferFunction.AddRGBPoint(64.0,1.0,0.0,0.0)

colorTransferFunction.AddRGBPoint(128.0,0.0,0.0,1.0)

colorTransferFunction.AddRGBPoint(192.0,0.0,1.0,0.0)

colorTransferFunction.AddRGBPoint(255.0,0.0,0.2,0.0)

# The property describes how the data will look

volumeProperty = vtkVolumeProperty()

volumeProperty.SetColor(colorTransferFunction)

volumeProperty.SetScalarOpacity(opacityTransferFunction)


4676218

# The mapper / ray cast function know how to render the data

compositeFunction = vtkVolumeRayCastCompositeFunction()

volumeMapper = vtkVolumeRayCastMapper()

volumeMapper.SetVolumeRayCastFunction(compositeFunction)

volumeMapper.SetInput(reader.GetOutput())

# The volume holds the mapper and the property and

# can be used to position/orient the volume

volume = vtkVolume()

volume.SetMapper(volumeMapper)

volume.SetProperty(volumeProperty)

ren.AddVolume(volume)

renWin.Render()

iren.Initialize()

iren.Start()


4676218

88 EVS :

(1) KRIG_3D_VOLUME_RENDER.V (AVapps & Pro)

This network demonstrates volume rendering of chemistry data represented as a uniform field. The plume is shown as a semi_transparent cloud and the measure sample data is posted using the Map_Spheres Module


4676218

(2) NET_CDF_VOL_REND_OPENGL.V (PRO application)

This application demonstrates volume rendering of chemistry data represented as a uniform field using the OpenGL Back-to-front BTF renderer. The plume is shown as a semi-transparent cloud and the measured sample data is posted using the Map_Spheres Module. The uniform field was created with scat_to_unif and saved as a NetCDF file, and read with Read_NetCDF


4676218


  • Login