pyvista.core._validation.validate.validate_axes

pyvista.core._validation.validate.validate_axes#

validate_axes(
*axes: VectorLike[float] | MatrixLike[float],
normalize: bool = True,
must_be_orthogonal: bool = True,
must_have_orientation: Literal['right', 'left'] | None = 'right',
name: str = 'Axes',
)[ソース]#

3D軸ベクトルを検証します.

デフォルトでは,軸は正規化され,直交し,右回りであることを確認するためにチェックされます.

パラメータ:
*axesVectorLike[float] | MatrixLike[float]

検証される軸.軸は,行ベクトルの3x3配列の1つの引数として指定することも,3要素の軸ベクトルごとに別々の引数として指定することもできます.2つのベクトルしか与えられず, must_have_orientationNone でない場合,3つ目のベクトルは,軸が正しい向きになるように,2つのベクトルのクロス積として自動的に計算されます.

normalizebool, default: True

もし True なら,軸のベクトルはそれぞれノルムが1になるように正規化されます.

must_be_orthogonalbool, default: True

軸が直交しているかチェックします.もし True なら,任意の2つの軸ベクトル間の外積は3つ目の軸ベクトルに平行でなければなりません.

must_have_orientationstr, default: 'right'

軸が特定の方向を持つかどうかをチェックします.もし right ならば,1つ目の軸ベクトルと2つ目の軸ベクトルの積は正の方向でなければなりません. left の場合,方向は負でなければなりません. None の場合,方向はチェックされません.

namestr, default: "Axes"

エラーメッセージのバリデーションチェックに失敗した場合に使用する変数名.

戻り値:
np.ndarray

行ベクトルの有効な3x3軸の配列.

軸の配列を検証します.

>>> import numpy as np
>>> from pyvista import _validation
>>> _validation.validate_axes(np.eye(3))
array([[1., 0., 0.],
       [0., 1., 0.],
       [0., 0., 1.]])

各軸のベクトルを3x3の配列として検証します.

>>> _validation.validate_axes([1, 0, 0], [0, 1, 0], [0, 0, 1])
array([[1., 0., 0.],
       [0., 1., 0.],
       [0., 0., 1.]])

2つのベクトルから有効な左手軸の配列を作成します.

>>> _validation.validate_axes(
...     [1, 0, 0], [0, 1, 0], must_have_orientation='left'
... )
array([[ 1.,  0.,  0.],
       [ 0.,  1.,  0.],
       [ 0.,  0., -1.]])