光源タイプ#

ライトには次の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()
light types

カメラライト#

カメラライトは,カメラに対してローカルな座標系で pyvista.Camera.positionpyvista.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()
light types

シーンライト#

シーンライトはシーンにアタッチされ,その位置と焦点はグローバル座標として解釈されます.

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()
light types

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

Sphinx-Galleryによるギャラリー