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軸ベクトルを検証します.
デフォルトでは,軸は正規化され,直交し,右回りであることを確認するためにチェックされます.
- パラメータ:
- *axes
VectorLike
[float
] |MatrixLike
[float
] 検証される軸.軸は,行ベクトルの3x3配列の1つの引数として指定することも,3要素の軸ベクトルごとに別々の引数として指定することもできます.2つのベクトルしか与えられず,
must_have_orientation
がNone
でない場合,3つ目のベクトルは,軸が正しい向きになるように,2つのベクトルのクロス積として自動的に計算されます.- normalizebool, default:
True
もし
True
なら,軸のベクトルはそれぞれノルムが1になるように正規化されます.- must_be_orthogonalbool, default:
True
軸が直交しているかチェックします.もし
True
なら,任意の2つの軸ベクトル間の外積は3つ目の軸ベクトルに平行でなければなりません.- must_have_orientation
str
, default: 'right' 軸が特定の方向を持つかどうかをチェックします.もし
right
ならば,1つ目の軸ベクトルと2つ目の軸ベクトルの積は正の方向でなければなりません.left
の場合,方向は負でなければなりません.None
の場合,方向はチェックされません.- name
str
, default: "Axes" エラーメッセージのバリデーションチェックに失敗した場合に使用する変数名.
- *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.]])