スプラインウィジェット

スプラインウィジェット#

スプラインウィジェットは, pyvista.Plotter.add_spline_widget() メソッドと pyvista.Plotter.clear_spline_widgets() メソッドでそれぞれ有効または無効にできます.このウィジェットを使用すると,ユーザはシーンを通してポリゴンライン (スプライン) をインタラクティブに作成し,そのスプラインを使用できます.

スプラインを使用する一般的なタスクは,不規則なパスを使用してボリュームデータセットをスライスすることです.これを行うために,我々は pyvista.WidgetHelper.add_mesh_slice_spline() という名前の pyvista.Plotter.slice_along_line() フィルタを活用する便利なヘルパーメソッドを追加しました.

import numpy as np
import pyvista as pv
mesh = pv.Wavelet()

# initial spline to seed the example
points = np.array(
    [
        [-8.64208925, -7.34294559, -9.13803458],
        [-8.25601497, -2.54814702, 0.93860914],
        [-0.30179377, -3.21555997, -4.19999019],
        [3.24099167, 2.05814768, 3.39041509],
        [4.39935227, 4.18804542, 8.96391132],
    ]
)

p = pv.Plotter()
p.add_mesh(mesh.outline(), color="black")
p.add_mesh_slice_spline(mesh, initial_points=points, n_handles=5)
p.camera_position = [(30, -42, 30), (0.0, 0.0, 0.0), (-0.09, 0.53, 0.84)]
p.show()
h spline widget

以下はユーザ対話型のスクリーンショットです

../../_images/spline-widget.gif
Open In Colab

Total running time of the script: (0 minutes 0.394 seconds)

Sphinx-Galleryによるギャラリー