注釈
Go to the end to download the full example code
ベクトルによるワープ#
この例では, warp_by_vector
フィルタを,各ノードで定義された3 Dディスプレイスメントベクトルを持つ球メッシュに適用します.
まず,ワープしていない球体とワープしている球体を比較します.
from itertools import product
import pyvista as pv
from pyvista import examples
sphere = examples.load_sphere_vectors()
warped = sphere.warp_by_vector()
p = pv.Plotter(shape=(1, 2))
p.subplot(0, 0)
p.add_text("Before warp")
p.add_mesh(sphere, color='white')
p.subplot(0, 1)
p.add_text("After warp")
p.add_mesh(warped, color='white')
p.show()
次に,ワープ操作に適用されるスケール係数にいくつかの値を使用します.過度に高いワープ係数を適用すると,非現実的な結果になることがよくあります.
warp_factors = [0, 1.5, 3.5, 5.5]
p = pv.Plotter(shape=(2, 2))
for i, j in product(range(2), repeat=2):
idx = 2 * i + j
p.subplot(i, j)
p.add_mesh(sphere.warp_by_vector(factor=warp_factors[idx]))
p.add_text(f'factor={warp_factors[idx]}')
p.show()
Total running time of the script: (0 minutes 0.854 seconds)