pyvista.Light.transform_matrix#
- property Light.transform_matrix[ソース]#
(もしあれば)ライトの変換行列を返すか設定します.
変換行列はデフォルトで
None
であり,設定されるとvtk.vtkMatrix4x4
オブジェクトとして格納されます.設定すると,ライトのパラメータ(位置と焦点)がレンダリング前に行列によって変換されます.position
およびfocal_point
とは異なる読み取り専用プロパティworld_position
およびworld_focal_point
も参照してください.The 4-by-4 transformation matrix is a tool to encode a general linear transformation and a translation (an affine transform). The 3-by-3 principal submatrix (the top left corner of the matrix) encodes a three-dimensional linear transformation (e.g. some rotation around the origin). The top three elements in the last column of the matrix encode a three-dimensional translation. The last row of the matrix is redundant.
例
z軸を中心とした90度の回転と (0, 0, -1) によるシフトに対応する変換行列を使用してライトを作成し,ライトの位置が予想どおりに変換されることを確認します.
>>> import numpy as np >>> import pyvista as pv >>> light = pv.Light(position=(1, 0, 3)) >>> trans = np.zeros((4, 4)) >>> trans[:-1, :-1] = [[0, -1, 0], [1, 0, 0], [0, 0, 1]] >>> trans[:-1, -1] = [0, 0, -1] >>> light.transform_matrix = trans >>> light.position (1.0, 0.0, 3.0) >>> light.world_position (0.0, 1.0, 2.0)