Class: Lumino::Matrix

Inherits:
Object
  • Object
show all
Defined in:
LuminoRubyDoc.rb

Overview

4x4 行列のクラスです。

Instance Method Summary (collapse)

Constructor Details

- (Matrix) initialize(m11, m12, m13, m14, m21, m22, m23, m24, m31, m32, m33, m34, m41, m42, m43, m44)

初期化

Parameters:

  • m11 (Float)
  • m12 (Float)
  • m13 (Float)
  • m14 (Float)
  • m21 (Float)
  • m22 (Float)
  • m23 (Float)
  • m24 (Float)
  • m31 (Float)
  • m32 (Float)
  • m33 (Float)
  • m34 (Float)
  • m41 (Float)
  • m42 (Float)
  • m43 (Float)
  • m44 (Float)


851
852
# File 'LuminoRubyDoc.rb', line 851

def initialize
end

Instance Method Details

- (Lumino::Vector3) front

正面方向を示す 3D ベクトルを取得します。

Returns:



1059
1060
# File 'LuminoRubyDoc.rb', line 1059

def front
end

- (Lumino::Vector3) get_euler_angles

回転行列からオイラー角を計算します。

Returns:

  • (Lumino::Vector3)

    各軸の回転角度(ラジアン)を格納する Vector3 変数



1238
1239
# File 'LuminoRubyDoc.rb', line 1238

def get_euler_angles
end

- (Object) identity

単位行列を作成します。



1068
1069
# File 'LuminoRubyDoc.rb', line 1068

def identity
end

- (Lumino::Matrix) inverse(mat)

逆行列を求めます。

Parameters:

Returns:



1175
1176
# File 'LuminoRubyDoc.rb', line 1175

def inverse
end

- (Float) m11

Returns:

  • (Float)


863
864
# File 'LuminoRubyDoc.rb', line 863

def m11
end

- (Object) m11=(v)

Parameters:

  • v (Float)


857
858
# File 'LuminoRubyDoc.rb', line 857

def m11=(v)
end

- (Float) m12

Returns:

  • (Float)


875
876
# File 'LuminoRubyDoc.rb', line 875

def m12
end

- (Object) m12=(v)

Parameters:

  • v (Float)


869
870
# File 'LuminoRubyDoc.rb', line 869

def m12=(v)
end

- (Float) m13

Returns:

  • (Float)


887
888
# File 'LuminoRubyDoc.rb', line 887

def m13
end

- (Object) m13=(v)

Parameters:

  • v (Float)


881
882
# File 'LuminoRubyDoc.rb', line 881

def m13=(v)
end

- (Float) m14

Returns:

  • (Float)


899
900
# File 'LuminoRubyDoc.rb', line 899

def m14
end

- (Object) m14=(v)

Parameters:

  • v (Float)


893
894
# File 'LuminoRubyDoc.rb', line 893

def m14=(v)
end

- (Float) m21

Returns:

  • (Float)


911
912
# File 'LuminoRubyDoc.rb', line 911

def m21
end

- (Object) m21=(v)

Parameters:

  • v (Float)


905
906
# File 'LuminoRubyDoc.rb', line 905

def m21=(v)
end

- (Float) m22

Returns:

  • (Float)


923
924
# File 'LuminoRubyDoc.rb', line 923

def m22
end

- (Object) m22=(v)

Parameters:

  • v (Float)


917
918
# File 'LuminoRubyDoc.rb', line 917

def m22=(v)
end

- (Float) m23

Returns:

  • (Float)


935
936
# File 'LuminoRubyDoc.rb', line 935

def m23
end

- (Object) m23=(v)

Parameters:

  • v (Float)


929
930
# File 'LuminoRubyDoc.rb', line 929

def m23=(v)
end

- (Float) m24

Returns:

  • (Float)


947
948
# File 'LuminoRubyDoc.rb', line 947

def m24
end

- (Object) m24=(v)

Parameters:

  • v (Float)


941
942
# File 'LuminoRubyDoc.rb', line 941

def m24=(v)
end

- (Float) m31

Returns:

  • (Float)


959
960
# File 'LuminoRubyDoc.rb', line 959

def m31
end

- (Object) m31=(v)

Parameters:

  • v (Float)


953
954
# File 'LuminoRubyDoc.rb', line 953

def m31=(v)
end

- (Float) m32

Returns:

  • (Float)


971
972
# File 'LuminoRubyDoc.rb', line 971

def m32
end

- (Object) m32=(v)

Parameters:

  • v (Float)


965
966
# File 'LuminoRubyDoc.rb', line 965

def m32=(v)
end

- (Float) m33

Returns:

  • (Float)


983
984
# File 'LuminoRubyDoc.rb', line 983

def m33
end

- (Object) m33=(v)

Parameters:

  • v (Float)


977
978
# File 'LuminoRubyDoc.rb', line 977

def m33=(v)
end

- (Float) m34

Returns:

  • (Float)


995
996
# File 'LuminoRubyDoc.rb', line 995

def m34
end

- (Object) m34=(v)

Parameters:

  • v (Float)


989
990
# File 'LuminoRubyDoc.rb', line 989

def m34=(v)
end

- (Float) m41

Returns:

  • (Float)


1007
1008
# File 'LuminoRubyDoc.rb', line 1007

def m41
end

- (Object) m41=(v)

Parameters:

  • v (Float)


1001
1002
# File 'LuminoRubyDoc.rb', line 1001

def m41=(v)
end

- (Float) m42

Returns:

  • (Float)


1019
1020
# File 'LuminoRubyDoc.rb', line 1019

def m42
end

- (Object) m42=(v)

Parameters:

  • v (Float)


1013
1014
# File 'LuminoRubyDoc.rb', line 1013

def m42=(v)
end

- (Float) m43

Returns:

  • (Float)


1031
1032
# File 'LuminoRubyDoc.rb', line 1031

def m43
end

- (Object) m43=(v)

Parameters:

  • v (Float)


1025
1026
# File 'LuminoRubyDoc.rb', line 1025

def m43=(v)
end

- (Float) m44

Returns:

  • (Float)


1043
1044
# File 'LuminoRubyDoc.rb', line 1043

def m44
end

- (Object) m44=(v)

Parameters:

  • v (Float)


1037
1038
# File 'LuminoRubyDoc.rb', line 1037

def m44=(v)
end

- (Lumino::Matrix) multiply(mat1, mat2)

行列を乗算します。

Parameters:

Returns:



1169
1170
# File 'LuminoRubyDoc.rb', line 1169

def multiply
end

- (Lumino::Matrix) ortho_lh(width, height, nearZ, farZ)

左手座標系正射影行列作成します。

Parameters:

  • width (Float)

    ビューの幅

  • height (Float)

    ビューの高さ

  • nearZ (Float)

    近くのビュー平面の Z 値

  • farZ (Float)

    遠くのビュー平面の Z 値

Returns:



1224
1225
# File 'LuminoRubyDoc.rb', line 1224

def ortho_lh
end

- (Lumino::Matrix) ortho_rh(width, height, nearZ, farZ)

右手座標系正射影行列作成します。

Parameters:

  • width (Float)

    ビューの幅

  • height (Float)

    ビューの高さ

  • nearZ (Float)

    近くのビュー平面の Z 値

  • farZ (Float)

    遠くのビュー平面の Z 値

Returns:



1233
1234
# File 'LuminoRubyDoc.rb', line 1233

def ortho_rh
end

- (Lumino::Matrix) perspective_fov_lh(fovY, aspect, nearZ, farZ)

左手座標系射影行列を作成します。

Parameters:

  • fovY (Float)

    Y 方向への視野角 (ラジアン単位)

  • aspect (Float)

    アスペクト比

  • nearZ (Float)

    近くのビュー平面の Z 値

  • farZ (Float)

    遠くのビュー平面の Z 値

Returns:



1206
1207
# File 'LuminoRubyDoc.rb', line 1206

def perspective_fov_lh
end

- (Lumino::Matrix) perspective_fov_rh(fovY, aspect, nearZ, farZ)

右手座標系射影行列作成します。

Parameters:

  • fovY (Float)

    Y 方向への視野角 (ラジアン単位)

  • aspect (Float)

    アスペクト比

  • nearZ (Float)

    近くのビュー平面の Z 値

  • farZ (Float)

    遠くのビュー平面の Z 値

Returns:



1215
1216
# File 'LuminoRubyDoc.rb', line 1215

def perspective_fov_rh
end

- (Lumino::Vector3) position

位置を示す 3D ベクトルを取得します。

Returns:



1064
1065
# File 'LuminoRubyDoc.rb', line 1064

def position
end

- (Lumino::Vector3) right

右方向を示す 3D ベクトルを取得します。

Returns:



1049
1050
# File 'LuminoRubyDoc.rb', line 1049

def right
end

- (Object) rotate(xRad, yRad, zRad, rotOrder = XYZ)

行列を回転します。 (ラジアン単位)

 

与えられた引数から回転行列を作り、現在の行列に乗算します。

Parameters:

  • xRad (Float)

    X 軸を回転軸とした角度

  • yRad (Float)

    Y 軸を回転軸とした角度

  • zRad (Float)

    Z 軸を回転軸とした角度

  • rotOrder (Lumino::RotationOrder) (defaults to: XYZ)

    回転順序の指定



1115
1116
# File 'LuminoRubyDoc.rb', line 1115

def rotate
end

- (Object) rotate_axis(axis, radian)

任意の軸を回転軸にして行列を回転します。 (ラジアン単位)

 

与えられた引数から回転行列を作り、現在の行列に乗算します。<br>
与えられた軸が正規化されていない場合は正規化したものを使って計算します。

Parameters:

  • axis (Lumino::Vector3)

    回転軸を示す Vector3

  • radian (Float)

    回転角度



1132
1133
# File 'LuminoRubyDoc.rb', line 1132

def rotate_axis
end

- (Object) rotate_quaternion(qua)

クォータニオンを使って行列を回転します。

 

クォータニオンから回転行列を作り、現在の行列に乗算します。

Parameters:



1139
1140
# File 'LuminoRubyDoc.rb', line 1139

def rotate_quaternion
end

- (Object) rotate_vec_3(vec, rotOrder = XYZ)

行列を回転します。 (ラジアン単位)

 

与えられた引数から回転行列を作り、現在の行列に乗算します。

Parameters:



1123
1124
# File 'LuminoRubyDoc.rb', line 1123

def rotate_vec_3
end

- (Object) rotate_x(radian)

X 軸を回転軸にして行列を回転します。 (ラジアン単位)

 

与えられた引数から回転行列を作り、現在の行列に乗算します。

Parameters:

  • radian (Float)

    回転角度 ( 軸方向に対して反時計回り )



1091
1092
# File 'LuminoRubyDoc.rb', line 1091

def rotate_x
end

- (Object) rotate_y(radian)

Y 軸を回転軸にして行列を回転します。 (ラジアン単位)

 

与えられた引数から回転行列を作り、現在の行列に乗算します。

Parameters:

  • radian (Float)

    回転角度



1098
1099
# File 'LuminoRubyDoc.rb', line 1098

def rotate_y
end

- (Object) rotate_z(radian)

Z 軸を回転軸にして行列を回転します。 (ラジアン単位)

 

与えられた引数から回転行列を作り、現在の行列に乗算します。

Parameters:

  • radian (Float)

    回転角度



1105
1106
# File 'LuminoRubyDoc.rb', line 1105

def rotate_z
end

- (Object) scale(xyz)

行列をスケーリングします。

 

与えられた引数からスケーリング行列を作り、現在の行列に乗算します。

Parameters:

  • xyz (Float)

    X Y Z 全ての方向に適用する拡大率 (X Y Z を同じ値で拡大)



1146
1147
# File 'LuminoRubyDoc.rb', line 1146

def scale
end

- (Object) scale_vec_3(scale)

行列をスケーリングします。

 

与えられた引数からスケーリング行列を作り、現在の行列に乗算します。

Parameters:



1162
1163
# File 'LuminoRubyDoc.rb', line 1162

def scale_vec_3
end

- (Object) scale_xyz(x, y, z)

行列をスケーリングします。

 

与えられた引数からスケーリング行列を作り、現在の行列に乗算します。

Parameters:

  • x (Float)

    X 方向の拡大率

  • y (Float)

    Y 方向の拡大率

  • z (Float)

    Z 方向の拡大率



1155
1156
# File 'LuminoRubyDoc.rb', line 1155

def scale_xyz
end

- (Object) translate(x, y, z)

行列を平行移動します。

 

与えられた引数から平行移動行列を作り、現在の行列に乗算します。

Parameters:

  • x (Float)

    X 方向の移動量

  • y (Float)

    Y 方向の移動量

  • z (Float)

    Z 方向の移動量



1077
1078
# File 'LuminoRubyDoc.rb', line 1077

def translate
end

- (Object) translate_vec_3(vec)

行列を平行移動します。

 

与えられた引数から平行移動行列を作り、現在の行列に乗算します。

Parameters:



1084
1085
# File 'LuminoRubyDoc.rb', line 1084

def translate_vec_3
end

- (Lumino::Matrix) transpose(mat)

転置行列を求めます。

Parameters:

Returns:



1181
1182
# File 'LuminoRubyDoc.rb', line 1181

def transpose
end

- (Lumino::Vector3) up

上方向を示す 3D ベクトルを取得します。

Returns:



1054
1055
# File 'LuminoRubyDoc.rb', line 1054

def up
end

- (Lumino::Matrix) view_transform_lh(pos, lookAt, upDir)

左手座標系ビュー行列を作成します。

Parameters:

Returns:



1189
1190
# File 'LuminoRubyDoc.rb', line 1189

def view_transform_lh
end

- (Lumino::Matrix) view_transform_rh(pos, lookAt, upDir)

右手座標系ビュー行列を作成します。

Parameters:

Returns:



1197
1198
# File 'LuminoRubyDoc.rb', line 1197

def view_transform_rh
end