注釈
Go to the end をクリックすると完全なサンプルコードをダウンロードできます.
光源タイプ#
ライトには次の3つのタイプがあります:
その軸が常にカメラのビューと一致するヘッドライト,
カメラライトはカメラとともに移動しますが,カメラに対して固定された相対位置を占めることができます.
シーンライト.その位置はシーンに固定されているため,カメラを移動しても影響を受けません.これがデフォルトのタイプです.
ヘッドライト#
ヘッドライトの場合, pyvista.Camera.position
および pyvista.Camera.focal_point
プロパティは意味がありません.カメラをどこに移動しても,ライトは常に視点から放射されます.
import pyvista as pv
from pyvista import examples
mesh = examples.download_bunny()
mesh.rotate_x(90, inplace=True)
mesh.rotate_z(180, inplace=True)
plotter = pv.Plotter(lighting='none')
plotter.add_mesh(mesh, color='lightblue', smooth_shading=True)
light = pv.Light(light_type='headlight')
# these don't do anything for a headlight:
light.position = (1, 2, 3)
light.focal_point = (4, 5, 6)
plotter.add_light(light)
plotter.show()
カメラライト#
カメラライトは,カメラに対してローカルな座標系で pyvista.Camera.position
と pyvista.Camera.focal_point
プロパティを定義します.シーンの座標系の座標には,それぞれ読み込み専用プロパティ:py:attr:pyvista.Light.world_position および pyvista.Light.world_focal_point
を使用してアクセスできます.座標に使用されるローカル座標系の詳細については, pyvista.Light.set_camera_light()
のドキュメントを参照してください.
plotter = pv.Plotter(lighting='none')
plotter.add_mesh(mesh, color='lightblue', smooth_shading=True)
# a light that always shines from the right of the camera
light = pv.Light(position=(1, 0, 0), light_type='camera light')
plotter.add_light(light)
plotter.show()
シーンライト#
シーンライトはシーンにアタッチされ,その位置と焦点はグローバル座標として解釈されます.
plotter = pv.Plotter(lighting='none')
plotter.add_mesh(mesh, color='lightblue', smooth_shading=True)
# a light that always shines on the left side of the bunny
light = pv.Light(position=(0, 1, 0), light_type='scene light')
plotter.add_light(light)
plotter.show()
Total running time of the script: (0 minutes 2.138 seconds)