Π― ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ python 3.5 ΠΈ mayavi 4.5.0 + vtk 7.1 (mayavi-4.5.0+vtk71-cp35-cp35m-win_amd64.whl, Π·Π°Π³ΡΡΠΆΠ΅Π½Π½ΡΠΉ Ρ http://www.lfd.uci.edu/~gohlke/pythonlibs/#mayavi ), ΠΈ Ρ ΡΡΠΎΠ»ΠΊΠ½ΡΠ»ΡΡ Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΠΉ.
Π― ΠΏΠΎΠΏΡΡΠ°Π»ΡΡ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΏΡΠΈΠΌΠ΅Ρ draw-many-lines, ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠΉ Π² ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠΉ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ, Π½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΠ» ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠΉ Π² ΡΠ°ΠΉΠ»Π΅ vtkOutputWindow. ΠΠΈΠ½ΠΈΠΈ Π² ΠΊΠΎΠ½ΡΠ΅ ΠΊΠΎΠ½ΡΠΎΠ² Π±ΡΠ΄ΡΡ Π½Π°ΡΠΈΡΠΎΠ²Π°Π½Ρ, Π½ΠΎ ΡΡΠΎ ΠΎΡΠ΅Π½Ρ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΠΎΠΆΠ΄Π°ΡΡ, ΠΏΠΎΠΊΠ° Π½Π΅ Π±ΡΠ΄ΡΡ Π½Π°ΠΏΠ΅ΡΠ°ΡΠ°Π½Ρ Π²ΡΠ΅ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ.
ΠΠ°ΠΊ ΡΡΠΎ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ? Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ.
ΠΠΎΠ΄ Π·Π΄Π΅ΡΡ:
http://docs.enthought.com/mayavi/mayavi/auto/example_plotting_many_lines.html
Π ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ Π²ΡΠ³Π»ΡΠ΄ΡΡ ΡΠ°ΠΊ:
....
ΠΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅: Π² D:\Build\VTK\VTK-7.1.1\Common\DataModel\vtkPolyData.cxx ΡΡΡΠΎΠΊΠ° 1023.
vtkPolyData (00000150D4F16FE0): ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΠ΅ VTK_TRIANGLE 482 ΠΌΠ΅Π½Π΅Π΅ ΡΠ΅ΠΌ Ρ ΡΡΠ΅ΠΌΡ ΡΠΎΡΠΊΠ°ΠΌΠΈ, Π½ΠΎ Π΄Π»Ρ VTK_TRIANGLE ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ ΡΡΠΈ ΡΠΎΡΠΊΠΈ. ΠΡΠΎΠ²Π΅ΡΡΡΠ΅ Π²Π²ΠΎΠ΄.
ΠΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅: Π² D:\Build\VTK\VTK-7.1.1\Common\DataModel\vtkPolyData.cxx ΡΡΡΠΎΠΊΠ° 1023.
vtkPolyData (00000150D4F16FE0): ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΠ΅ VTK_TRIANGLE 483 ΠΌΠ΅Π½Π΅Π΅ ΡΠ΅ΠΌ Ρ ΡΡΠ΅ΠΌΡ ΡΠΎΡΠΊΠ°ΠΌΠΈ, Π½ΠΎ Π΄Π»Ρ VTK_TRIANGLE ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ ΡΡΠΈ ΡΠΎΡΠΊΠΈ. ΠΡΠΎΠ²Π΅ΡΡΡΠ΅ Π²Π²ΠΎΠ΄.
ΠΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅: Π² D:\Build\VTK\VTK-7.1.1\Common\DataModel\vtkPolyData.cxx ΡΡΡΠΎΠΊΠ° 1023.
vtkPolyData (00000150D4F16FE0): ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΠ΅ VTK_TRIANGLE 484 ΠΌΠ΅Π½Π΅Π΅ ΡΠ΅ΠΌ Ρ ΡΡΠ΅ΠΌΡ ΡΠΎΡΠΊΠ°ΠΌΠΈ, Π½ΠΎ Π΄Π»Ρ VTK_TRIANGLE ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ ΡΡΠΈ ΡΠΎΡΠΊΠΈ. ΠΡΠΎΠ²Π΅ΡΡΡΠ΅ Π²Π²ΠΎΠ΄.
ΠΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅: Π² D:\Build\VTK\VTK-7.1.1\Common\DataModel\vtkPolyData.cxx ΡΡΡΠΎΠΊΠ° 1023.
vtkPolyData (00000150D4F16FE0): ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΠ΅ VTK_TRIANGLE 485 ΠΌΠ΅Π½Π΅Π΅ ΡΠ΅ΠΌ Ρ ΡΡΠ΅ΠΌΡ ΡΠΎΡΠΊΠ°ΠΌΠΈ, Π½ΠΎ Π΄Π»Ρ VTK_TRIANGLE ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ ΡΡΠΈ ΡΠΎΡΠΊΠΈ. ΠΡΠΎΠ²Π΅ΡΡΡΠ΅ Π²Π²ΠΎΠ΄.
ΠΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅: Π² D:\Build\VTK\VTK-7.1.1\Common\DataModel\vtkPolyData.cxx ΡΡΡΠΎΠΊΠ° 1023.
vtkPolyData (00000150D4F16FE0): ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΠ΅ VTK_TRIANGLE 486 ΠΌΠ΅Π½Π΅Π΅ ΡΠ΅ΠΌ Ρ ΡΡΠ΅ΠΌΡ ΡΠΎΡΠΊΠ°ΠΌΠΈ, Π½ΠΎ Π΄Π»Ρ VTK_TRIANGLE ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ ΡΡΠΈ ΡΠΎΡΠΊΠΈ. ΠΡΠΎΠ²Π΅ΡΡΡΠ΅ Π²Π²ΠΎΠ΄.
....
Π― ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠ» py3-mayavi Π½Π° Mac Ρ MacPort ΠΈ ΡΡΠΎΠ»ΠΊΠ½ΡΠ»ΡΡ Ρ ΡΠΎΠΉ ΠΆΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΠΉ: Β«vtkPolyData (0x7fac677c5290): ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΠ΅ VTK_TRIANGLE 99 ΠΌΠ΅Π½Π΅Π΅ ΡΠ΅ΠΌ Ρ ΡΡΠ΅ΠΌΡ ΡΠΎΡΠΊΠ°ΠΌΠΈ, Π½ΠΎ Π΄Π»Ρ VTK_TRIANGLE ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ ΡΡΠΈ ΡΠΎΡΠΊΠΈ. ΠΡΠΎΠ²Π΅ΡΡΡΠ΅ Π²Π²ΠΎΠ΄Β».
Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ Π·Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, Ρ ΠΌΠΎΠ³Ρ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅ΡΡΠΈ Π΅Π΅, ΠΈ, ΠΏΠΎΡ ΠΎΠΆΠ΅, ΡΡΠΎ-ΡΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΎΡΡ Π² VTK 7.1, ΠΈ Ρ ΠΏΠΎΡΡΠ°ΡΠ°ΡΡΡ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ ΡΡΠΎ Π½Π° ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ Π½Π΅Π΄Π΅Π»Π΅.
ΠΠ΅Ρ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ, ΠΊΠΎΠ³Π΄Π° Ρ ΡΠΎΠ·Π΄Π°Ρ lines
ΠΊΠ°ΠΊ tube
: lines= mlab.pipeline.tube(src, tube_radius=0.005, tube_sides=6)
.
@ying17zi ΠΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ! ΠΡ ΡΠΏΠ°ΡΠ»ΠΈ Π΄Π΅Π½Ρ, ΡΠΏΠ°ΡΠΈΠ±ΠΎ !!
ΠΡΡΡ ΠΊΠ°ΠΊΠΈΠ΅-Π½ΠΈΠ±ΡΠ΄Ρ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΏΠΎ ΡΡΠΎΠΌΡ ΠΏΠΎΠ²ΠΎΠ΄Ρ? Π’ΡΡΠ±ΠΊΠ° ΠΌΠ½Π΅ Π½Π΅ ΠΎΡΠ΅Π½Ρ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ.
ΠΡΡΡ ΠΊΠ°ΠΊΠΈΠ΅-Π½ΠΈΠ±ΡΠ΄Ρ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΏΠΎ ΡΡΠΎΠΌΡ ΠΏΠΎΠ²ΠΎΠ΄Ρ? Π’ΡΡΠ±ΠΊΠ° ΠΌΠ½Π΅ Π½Π΅ ΠΎΡΠ΅Π½Ρ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ.
Π΄Π°. ΠΡΠΈ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ ΡΠ½ΠΎΠ²Π° ΠΏΠΎΡΠ²Π»ΡΡΡΡΡ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ ΠΊΠ°ΠΊ lines
, Π½ΠΎ Π² ΠΌΠΎΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π½Π΅Ρ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠΉ Π² Π²ΠΈΠ΄Π΅ ΡΡΡΠ±ΠΎΠΊ: $ show -ft f.mat
ΠΡΠΎ ΡΡΡΠ»ΠΊΠΈ show
ΠΈ f.mat
Π΄Π»Ρ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ:
Π― ΠΏΠΎΡΠΌΠΎΡΡΠ΅Π» Π½Π° ΡΡΠΎ. ΠΠΎ-Π²ΠΈΠ΄ΠΈΠΌΠΎΠΌΡ, ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΡΡΠΈΠΏΠΏΠ΅Ρ-ΡΠΈΠ»ΡΡΡΠ΅, ΠΊΠΎΡΠΎΡΡΠΉ Π½ΡΠΆΠ΅Π½ ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΡΠ±ΠΊΠΈ. ΠΠ»Ρ Π»ΠΈΠ½ΠΈΠΉ ΡΡΠΎ Π½Π΅ Π½ΡΠΆΠ½ΠΎ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΡΠΊΠ°Π·Π°ΡΡΡΡ ΠΎΡ Π½Π°ΡΡΡΠΏΠ°ΡΠ΅Π»ΡΠ½ΠΎΠΉ ΡΠ°ΡΡΠΈ, Π΅ΡΠ»ΠΈ ΡΠΈΡΡΠ΅ΡΠ΅ ΡΠΎΠ»ΡΠΊΠΎ Π»ΠΈΠ½ΠΈΠΈ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ
# The stripper filter cleans up connected lines
#lines = mlab.pipeline.stripper(src)
# Finally, display the set of lines
mlab.pipeline.surface(src, colormap='Accent', line_width=1, opacity=.4)
ΠΈ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π±Π΅Π· ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠΉ.
ΠΠ°ΡΠ΅ Π·Π΄ΠΎΡΠΎΠ²ΡΠ΅.
Π‘Π°ΠΌΡΠΉ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ
ΠΠ΅Ρ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ, ΠΊΠΎΠ³Π΄Π° Ρ ΡΠΎΠ·Π΄Π°Ρ
lines
ΠΊΠ°ΠΊtube
:lines= mlab.pipeline.tube(src, tube_radius=0.005, tube_sides=6)
.