Difference between revisions of "IC Python API:RLPy RVector4"
Chuck (RL) (Talk | contribs) m |
Chuck (RL) (Talk | contribs) m |
||
Line 5: | Line 5: | ||
== Description == | == Description == | ||
− | This class represent a 4D vector (x, y, z, w). This class provides access to RLPy's internal 4D vector math library allowing 4D vectors to be handled easily, in a manner compatible with internal RLPy data structures. It also supports operators and provides some constants | + | This class represent a 4D vector (x, y, z, w). This class provides access to RLPy's internal 4D vector math library allowing 4D vectors to be handled easily, and in a manner compatible with internal RLPy data structures. It also supports operators and provides some convenient constants: |
{| class="wikitable" | {| class="wikitable" | ||
Line 34: | Line 34: | ||
=== __init__ ( ) === | === __init__ ( ) === | ||
− | + | Initialize a new 4D vector object that is zeroed out: (0, 0, 0, 0). | |
− | <syntaxhighlight lang=" | + | <syntaxhighlight lang="python"> |
a = RLPy.RVector4() | a = RLPy.RVector4() | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Line 42: | Line 42: | ||
=== __init__ ( a, b, c, d ) === | === __init__ ( a, b, c, d ) === | ||
− | + | Initialize a new 4D vector object as a 4D vector: (x, y, z, w). | |
==== Parameters ==== | ==== Parameters ==== | ||
Line 50: | Line 50: | ||
:'''d'''[IN] A numerical value for w coordinate - float or int | :'''d'''[IN] A numerical value for w coordinate - float or int | ||
− | <syntaxhighlight lang=" | + | <syntaxhighlight lang="python"> |
a = RLPy.RVector4(1, 2, 3, 4) | a = RLPy.RVector4(1, 2, 3, 4) | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Line 56: | Line 56: | ||
=== __init__ ( *args ) === | === __init__ ( *args ) === | ||
− | + | Initialize a new 4D vector object with another 4D vector object: args. This new 4D vector object has the same value as '''*args'''. | |
==== Parameters ==== | ==== Parameters ==== | ||
− | :'''args'''[IN] a | + | :'''args'''[IN] a 4D vector object - [[IC_Python_API:RLPy_RVector4|RVector4]] |
− | <syntaxhighlight lang=" | + | <syntaxhighlight lang="python"> |
a = RLPy.RVector4(1, 2, 3, 4) | a = RLPy.RVector4(1, 2, 3, 4) | ||
b = RLPy.RVector4(a) | b = RLPy.RVector4(a) | ||
Line 72: | Line 72: | ||
The "equal to" operator. | The "equal to" operator. | ||
− | <syntaxhighlight lang=" | + | <syntaxhighlight lang="python"> |
a = RLPy.RVector4(1, 2, 3, 4) | a = RLPy.RVector4(1, 2, 3, 4) | ||
b = a | b = a | ||
Line 83: | Line 83: | ||
The "not equal to" operator. | The "not equal to" operator. | ||
− | <syntaxhighlight lang=" | + | <syntaxhighlight lang="python"> |
a = RLPy.RVector4() | a = RLPy.RVector4() | ||
b = RLPy.RVector4(1, 2, 3, 4) | b = RLPy.RVector4(1, 2, 3, 4) | ||
Line 94: | Line 94: | ||
The "less than" operator. Similar to string comparison: Returns '''True''' upon the first match that is less than, and '''False''' if it is greater than. If the current comparison is equal, continue onto the next element. If all elements are equal then return '''False'''. | The "less than" operator. Similar to string comparison: Returns '''True''' upon the first match that is less than, and '''False''' if it is greater than. If the current comparison is equal, continue onto the next element. If all elements are equal then return '''False'''. | ||
− | <syntaxhighlight lang=" | + | <syntaxhighlight lang="python"> |
a = RLPy.RVector4(0, 1, 5, 2) | a = RLPy.RVector4(0, 1, 5, 2) | ||
b = RLPy.RVector4(0, 1, 5, 3) | b = RLPy.RVector4(0, 1, 5, 3) | ||
Line 111: | Line 111: | ||
The "greater than" operator. Similar to string comparison: Returns '''True''' upon the first match that is greater than, and '''False''' if it is less than. If the current comparison is equal, continue onto the next element. If all elements are equal then return '''False'''. | The "greater than" operator. Similar to string comparison: Returns '''True''' upon the first match that is greater than, and '''False''' if it is less than. If the current comparison is equal, continue onto the next element. If all elements are equal then return '''False'''. | ||
− | <syntaxhighlight lang=" | + | <syntaxhighlight lang="python"> |
a = RLPy.RVector4(0, 1, 5, 2) | a = RLPy.RVector4(0, 1, 5, 2) | ||
b = RLPy.RVector4(0, 1, 5, 3) | b = RLPy.RVector4(0, 1, 5, 3) | ||
Line 129: | Line 129: | ||
The "less than or equal" operator. Similar to string comparison: Returns '''True''' upon the first match that is less than, and '''False''' if it is greater than. If the current comparison is equal, continue onto the next element. If all elements are equal then return '''True'''. | The "less than or equal" operator. Similar to string comparison: Returns '''True''' upon the first match that is less than, and '''False''' if it is greater than. If the current comparison is equal, continue onto the next element. If all elements are equal then return '''True'''. | ||
− | <syntaxhighlight lang=" | + | <syntaxhighlight lang="python"> |
a = RLPy.RVector4(0, 1, 5, 2) | a = RLPy.RVector4(0, 1, 5, 2) | ||
b = RLPy.RVector4(0, 1, 5, 3) | b = RLPy.RVector4(0, 1, 5, 3) | ||
Line 147: | Line 147: | ||
The "greater than or equal" operator. Similar to string comparison: Returns '''True''' upon the first match that is greater than, and '''False''' if it is less than. If the current comparison is equal, continue onto the next element. If all elements are equal then return '''True'''. | The "greater than or equal" operator. Similar to string comparison: Returns '''True''' upon the first match that is greater than, and '''False''' if it is less than. If the current comparison is equal, continue onto the next element. If all elements are equal then return '''True'''. | ||
− | <syntaxhighlight lang=" | + | <syntaxhighlight lang="python"> |
a = RLPy.RVector4(0, 1, 5, 2) | a = RLPy.RVector4(0, 1, 5, 2) | ||
b = RLPy.RVector4(0, 1, 5, 3) | b = RLPy.RVector4(0, 1, 5, 3) | ||
Line 163: | Line 163: | ||
=== + === | === + === | ||
− | The "addition" operator. Perform 4D vector addition. | + | The "addition" operator. Perform a 4D vector addition. |
− | <syntaxhighlight lang=" | + | <syntaxhighlight lang="python"> |
a = RLPy.RVector4(0, 1, 2, 3) | a = RLPy.RVector4(0, 1, 2, 3) | ||
b = RLPy.RVector4(1, 2, 3, 4) | b = RLPy.RVector4(1, 2, 3, 4) | ||
Line 175: | Line 175: | ||
=== - === | === - === | ||
− | The "subtraction" operator. Perform 4D vector subtraction. | + | The "subtraction" operator. Perform a 4D vector subtraction. |
− | <syntaxhighlight lang=" | + | <syntaxhighlight lang="python"> |
a = RLPy.RVector4(0, 1, 2, 3) | a = RLPy.RVector4(0, 1, 2, 3) | ||
b = RLPy.RVector4(3, 2, 1, 0) | b = RLPy.RVector4(3, 2, 1, 0) | ||
Line 189: | Line 189: | ||
The "multiplication" operator. Perform a scalar multiplication when the second operand is an integer or float. If the second operand is another 4D vector, then the corresponding elements are multiplied. | The "multiplication" operator. Perform a scalar multiplication when the second operand is an integer or float. If the second operand is another 4D vector, then the corresponding elements are multiplied. | ||
− | <syntaxhighlight lang=" | + | <syntaxhighlight lang="python"> |
a = RLPy.RVector4(1, 2, 3, 4) | a = RLPy.RVector4(1, 2, 3, 4) | ||
b = a * 2 | b = a * 2 | ||
Line 202: | Line 202: | ||
The "division" operator. Perform a scalar division when the second operand is an integer or float. If the second operand is another 4D vector, then the corresponding elements are divided. | The "division" operator. Perform a scalar division when the second operand is an integer or float. If the second operand is another 4D vector, then the corresponding elements are divided. | ||
− | <syntaxhighlight lang=" | + | <syntaxhighlight lang="python"> |
a = RLPy.RVector4(1, 2, 3, 4) | a = RLPy.RVector4(1, 2, 3, 4) | ||
b = a / 2 | b = a / 2 | ||
Line 216: | Line 216: | ||
The "unary minus" operator. Inverse the sign of each element. | The "unary minus" operator. Inverse the sign of each element. | ||
− | <syntaxhighlight lang=" | + | <syntaxhighlight lang="python"> |
a = RLPy.RVector4(1, 2, 3, 4) | a = RLPy.RVector4(1, 2, 3, 4) | ||
b = -a | b = -a | ||
Line 227: | Line 227: | ||
The "addition assignment" operator. | The "addition assignment" operator. | ||
− | <syntaxhighlight lang=" | + | <syntaxhighlight lang="python"> |
a = RLPy.RVector4(0, 1, 2, 3) | a = RLPy.RVector4(0, 1, 2, 3) | ||
b = RLPy.RVector4(1, 2, 3, 4) | b = RLPy.RVector4(1, 2, 3, 4) | ||
Line 239: | Line 239: | ||
The "subtraction assignment" operator. | The "subtraction assignment" operator. | ||
− | <syntaxhighlight lang=" | + | <syntaxhighlight lang="python"> |
a = RLPy.RVector4(0, 1, 4, 5) | a = RLPy.RVector4(0, 1, 4, 5) | ||
b = RLPy.RVector4(1, 2, 3, 1) | b = RLPy.RVector4(1, 2, 3, 1) | ||
Line 251: | Line 251: | ||
The "multiplication assignment" operator. 計算方式請參考 * 運算子. | The "multiplication assignment" operator. 計算方式請參考 * 運算子. | ||
− | <syntaxhighlight lang=" | + | <syntaxhighlight lang="python"> |
a = RLPy.RVector4(1, 2, 3, 4) | a = RLPy.RVector4(1, 2, 3, 4) | ||
a *= 2 | a *= 2 | ||
Line 266: | Line 266: | ||
The "division assignment" operator. 計算方式請參考 / 運算子. | The "division assignment" operator. 計算方式請參考 / 運算子. | ||
− | <syntaxhighlight lang=" | + | <syntaxhighlight lang="python"> |
a = RLPy.RVector4(1, 2, 3, 4) | a = RLPy.RVector4(1, 2, 3, 4) | ||
a /= 2 | a /= 2 | ||
Line 283: | Line 283: | ||
Calculate dot product with the given vector. | Calculate dot product with the given vector. | ||
− | <syntaxhighlight lang=" | + | <syntaxhighlight lang="python"> |
a = RLPy.RVector4(1, 2, 3, 4) | a = RLPy.RVector4(1, 2, 3, 4) | ||
b = RLPy.RVector4(1, 2, 3, 4) | b = RLPy.RVector4(1, 2, 3, 4) | ||
Line 291: | Line 291: | ||
==== Parameters ==== | ==== Parameters ==== | ||
− | '''vV''' [IN] The vector to compute dot product - | + | '''vV''' [IN] The vector to compute dot product - [[IC_Python_API:RLPy_RVector4|RVector4]] |
==== Returns ==== | ==== Returns ==== | ||
Line 300: | Line 300: | ||
Invert every element of this 4D vector. | Invert every element of this 4D vector. | ||
− | <syntaxhighlight lang=" | + | <syntaxhighlight lang="python"> |
a = RLPy.RVector4(0.5, 2, 4, 1) | a = RLPy.RVector4(0.5, 2, 4, 1) | ||
b = a.Inverse() | b = a.Inverse() | ||
Line 308: | Line 308: | ||
==== Returns ==== | ==== Returns ==== | ||
− | Returns the inversed vector - | + | Returns the inversed vector - [[IC_Python_API:RLPy_RVector4|RVector4]] |
=== Length (self) === | === Length (self) === | ||
− | + | Get the length (magnitude) of this 4D vector. | |
==== Returns ==== | ==== Returns ==== | ||
− | + | 4D vector magnitude - float | |
− | <syntaxhighlight lang=" | + | <syntaxhighlight lang="python"> |
a = RLPy.RVector4(1, 1, 1, 1) | a = RLPy.RVector4(1, 1, 1, 1) | ||
Line 325: | Line 325: | ||
=== Normalize (self) === | === Normalize (self) === | ||
− | + | Normalize this 4D vector. | |
==== Returns ==== | ==== Returns ==== | ||
− | + | Length of this 4D vector before normalization - float | |
=== SetW === | === SetW === | ||
Line 334: | Line 334: | ||
Set the value of the w-axis. | Set the value of the w-axis. | ||
− | <syntaxhighlight lang=" | + | <syntaxhighlight lang="python"> |
a = RLPy.RVector4(1, 1, 1, 1) | a = RLPy.RVector4(1, 1, 1, 1) | ||
Line 344: | Line 344: | ||
'''tW''' [IN] the value of the w-axis - float | '''tW''' [IN] the value of the w-axis - float | ||
− | <syntaxhighlight lang=" | + | <syntaxhighlight lang="python"> |
a = RLPy.RVector4(1, 1, 1, 1) | a = RLPy.RVector4(1, 1, 1, 1) | ||
a.SetW(10) | a.SetW(10) | ||
Line 358: | Line 358: | ||
:'''tX''' [IN] the value of the x-axis - float | :'''tX''' [IN] the value of the x-axis - float | ||
− | <syntaxhighlight lang=" | + | <syntaxhighlight lang="python"> |
a = RLPy.RVector4(1, 1, 1, 1) | a = RLPy.RVector4(1, 1, 1, 1) | ||
a.SetX(10) | a.SetX(10) | ||
Line 372: | Line 372: | ||
:'''tY''' [IN] the value of the y-axis - float | :'''tY''' [IN] the value of the y-axis - float | ||
− | <syntaxhighlight lang=" | + | <syntaxhighlight lang="python"> |
a = RLPy.RVector4(1, 1, 1, 1) | a = RLPy.RVector4(1, 1, 1, 1) | ||
a.SetY(10) | a.SetY(10) | ||
Line 386: | Line 386: | ||
:'''tZ''' [IN] the value of the z-axis - float | :'''tZ''' [IN] the value of the z-axis - float | ||
− | <syntaxhighlight lang=" | + | <syntaxhighlight lang="python"> |
a = RLPy.RVector4(1, 1, 1, 1) | a = RLPy.RVector4(1, 1, 1, 1) | ||
a.SetZ(10) | a.SetZ(10) | ||
Line 395: | Line 395: | ||
=== SquaredLength (self) === | === SquaredLength (self) === | ||
− | Squared length of | + | Squared length of this 4D vector. |
==== Returns ==== | ==== Returns ==== | ||
:Returns the squared length of this 4D vector - float | :Returns the squared length of this 4D vector - float | ||
− | <syntaxhighlight lang=" | + | <syntaxhighlight lang="python"> |
a = RLPy.RVector4(1, 1, 1, 1) | a = RLPy.RVector4(1, 1, 1, 1) | ||
Line 408: | Line 408: | ||
=== XY (self) === | === XY (self) === | ||
− | Get the first 2 elements of | + | Get the first 2 elements of this 4D vector (X, Y) as a 2D vector. |
==== Returns ==== | ==== Returns ==== | ||
− | :Returns a 2D vector - | + | :Returns a 2D vector - [[IC_Python_API:RLPy_RVector2|RVector2]] |
− | <syntaxhighlight lang=" | + | <syntaxhighlight lang="python"> |
a = RLPy.RVector4(1, 2, 3, 4) | a = RLPy.RVector4(1, 2, 3, 4) | ||
b = a.XY() | b = a.XY() | ||
Line 422: | Line 422: | ||
=== XYZ (self) === | === XYZ (self) === | ||
− | Get the first 3 elements of | + | Get the first 3 elements of this 4D vector (X, Y, Z) as a 3D vector. |
==== Returns ==== | ==== Returns ==== | ||
− | :Returns a 3D vector - | + | :Returns a 3D vector - [[IC_Python_API:RLPy_RVector3|RVector3]] |
− | <syntaxhighlight lang=" | + | <syntaxhighlight lang="python"> |
a = RLPy.RVector4(1, 2, 3, 4) | a = RLPy.RVector4(1, 2, 3, 4) | ||
b = a.XYZ() | b = a.XYZ() |
Revision as of 01:04, 7 April 2020
- Main article: Modules.
- Last modified: 04/7/2020
Description
This class represent a 4D vector (x, y, z, w). This class provides access to RLPy's internal 4D vector math library allowing 4D vectors to be handled easily, and in a manner compatible with internal RLPy data structures. It also supports operators and provides some convenient constants:
Constant | Description |
---|---|
RVector4.ZERO | 4D zero vector: (0, 0, 0, 0) |
RVector4.UNIT_X | 4D x unit vector: (1, 0, 0, 0) |
RVector4.UNIT_Y | 4D y unit vector: (0, 1, 0, 0) |
RVector4.UNIT_Z | 4D z unit vector: (0, 0, 1, 0) |
RVector4.UNIT_W | 4D w unit vector: (0, 0, 0, 1) |
RVector4.UNIT_XYZW | 4D vector: (1, 1, 1, 1) |
Constructor & Destructor
__init__ ( )
Initialize a new 4D vector object that is zeroed out: (0, 0, 0, 0).
a = RLPy.RVector4()
__init__ ( a, b, c, d )
Initialize a new 4D vector object as a 4D vector: (x, y, z, w).
Parameters
- a[IN] A numerical value for x coordinate - float or int
- b[IN] A numerical value for y coordinate - float or int
- c[IN] A numerical value for z coordinate - float or int
- d[IN] A numerical value for w coordinate - float or int
a = RLPy.RVector4(1, 2, 3, 4)
__init__ ( *args )
Initialize a new 4D vector object with another 4D vector object: args. This new 4D vector object has the same value as *args.
Parameters
- args[IN] a 4D vector object - RVector4
a = RLPy.RVector4(1, 2, 3, 4)
b = RLPy.RVector4(a)
Operators
= =
The "equal to" operator.
a = RLPy.RVector4(1, 2, 3, 4)
b = a
print(a == b) #True
!=
The "not equal to" operator.
a = RLPy.RVector4()
b = RLPy.RVector4(1, 2, 3, 4)
print(a != b) # True
<
The "less than" operator. Similar to string comparison: Returns True upon the first match that is less than, and False if it is greater than. If the current comparison is equal, continue onto the next element. If all elements are equal then return False.
a = RLPy.RVector4(0, 1, 5, 2)
b = RLPy.RVector4(0, 1, 5, 3)
c = RLPy.RVector4(1, 0, 1, 0)
d = RLPy.RVector4(0, 1, 5, 2)
print(a < b) # True
print(b < c) # True
print('b < c')
if a < d: # False
print('a < d')
>
The "greater than" operator. Similar to string comparison: Returns True upon the first match that is greater than, and False if it is less than. If the current comparison is equal, continue onto the next element. If all elements are equal then return False.
a = RLPy.RVector4(0, 1, 5, 2)
b = RLPy.RVector4(0, 1, 5, 3)
c = RLPy.RVector4(1, 0, 1, 0)
d = RLPy.RVector4(0, 1, 5, 2)
if b >a: # True
print('b >a')
if c >b: # True
print('c >b')
if a >d: # True
print('a >d')
<=
The "less than or equal" operator. Similar to string comparison: Returns True upon the first match that is less than, and False if it is greater than. If the current comparison is equal, continue onto the next element. If all elements are equal then return True.
a = RLPy.RVector4(0, 1, 5, 2)
b = RLPy.RVector4(0, 1, 5, 3)
c = RLPy.RVector4(1, 0, 1, 0)
d = RLPy.RVector4(0, 1, 5, 2)
if a<= b: # True
print('a<= b')
if b<= c: # True
print('b<= c')
if a<= d: # True
print('a<= d')
>=
The "greater than or equal" operator. Similar to string comparison: Returns True upon the first match that is greater than, and False if it is less than. If the current comparison is equal, continue onto the next element. If all elements are equal then return True.
a = RLPy.RVector4(0, 1, 5, 2)
b = RLPy.RVector4(0, 1, 5, 3)
c = RLPy.RVector4(1, 0, 1, 0)
d = RLPy.RVector4(0, 1, 5, 2)
if b >= a: # True
print('b >= a')
if c >= b: # True
print('c >= b')
if a >= d: # False
print('a >= d')
+
The "addition" operator. Perform a 4D vector addition.
a = RLPy.RVector4(0, 1, 2, 3)
b = RLPy.RVector4(1, 2, 3, 4)
c = a + b
print(str(c.x) + ', ' + str(c.y) + ', ' + str(c.z) + ', ' + str(c.w)) # 1.0, 3.0, 5.0, 7.0
-
The "subtraction" operator. Perform a 4D vector subtraction.
a = RLPy.RVector4(0, 1, 2, 3)
b = RLPy.RVector4(3, 2, 1, 0)
c = b - a
print(str(c.x) + ', ' + str(c.y) + ', ' + str(c.z) + ', ' + str(c.w)) # 3.0, 1.0, -1.0, -3.0
*
The "multiplication" operator. Perform a scalar multiplication when the second operand is an integer or float. If the second operand is another 4D vector, then the corresponding elements are multiplied.
a = RLPy.RVector4(1, 2, 3, 4)
b = a * 2
c = a * a
print(str(b.x) + ', ' + str(b.y) + ', ' + str(b.z) + ', ' + str(b.w)) # 2.0, 4.0, 6.0, 8.0
print(str(c.x) + ', ' + str(c.y) + ', ' + str(c.z) + ', ' + str(c.w)) # 1.0, 4.0, 9.0, 16.0
/
The "division" operator. Perform a scalar division when the second operand is an integer or float. If the second operand is another 4D vector, then the corresponding elements are divided.
a = RLPy.RVector4(1, 2, 3, 4)
b = a / 2
c = RLPy.RVector4(2, 2, 10, 2)
d = a / c
print(str(b.x) + ', ' + str(b.y) + ', ' + str(b.z) + ', ' + str(b.w)) # 0.5, 1.0, 1.5, 2.0
print(str(d.x) + ', ' + str(d.y) + ', ' + str(d.z) + ', ' + str(d.w)) # 0.5, 1.0, 0.3, 2.0
-
The "unary minus" operator. Inverse the sign of each element.
a = RLPy.RVector4(1, 2, 3, 4)
b = -a
print(str(b.x) + ', ' + str(b.y) + ', ' + str(b.z) + ', ' + str(b.w)) # -1.0, -2.0, -3.0, -4.0
+=
The "addition assignment" operator.
a = RLPy.RVector4(0, 1, 2, 3)
b = RLPy.RVector4(1, 2, 3, 4)
a += b
print(str(a.x) + ', ' + str(a.y) + ', ' + str(a.z) + ', ' + str(a.w)) # 1.0, 3.0, 5.0, 7.0
-=
The "subtraction assignment" operator.
a = RLPy.RVector4(0, 1, 4, 5)
b = RLPy.RVector4(1, 2, 3, 1)
a -= b
print(str(a.x) + ', ' + str(a.y) + ', ' + str(a.z) + ', ' + str(a.w)) # -1.0, -1.0, 1.0, 4.0
*=
The "multiplication assignment" operator. 計算方式請參考 * 運算子.
a = RLPy.RVector4(1, 2, 3, 4)
a *= 2
b = RLPy.RVector4(1, 2, 3, 4)
c = RLPy.RVector4(2, 3, 4, 5)
b *= c
print(str(a.x) + ', ' + str(a.y) + ', ' + str(a.z) + ', ' + str(a.w)) # 2.0, 4.0, 6.0, 8.0
print(str(b.x) + ', ' + str(b.y) + ', ' + str(b.z) + ', ' + str(b.w)) # 2.0, 6.0, 12.0, 20.0
/=
The "division assignment" operator. 計算方式請參考 / 運算子.
a = RLPy.RVector4(1, 2, 3, 4)
a /= 2
b = RLPy.RVector4(1, 2, 3, 4)
c = RLPy.RVector4(2, 4, 2, 2)
b /= c
print(str(a.x) + ', ' + str(a.y) + ', ' + str(a.z) + ', ' + str(a.w)) # 0.5, 1.0, 1.5, 2.0
print(str(b.x) + ', ' + str(b.y) + ', ' + str(b.z) + ', ' + str(b.w)) # 0.5, 0.5, 1.5, 2.0
Member Functions
Dot (self, vV)
Calculate dot product with the given vector.
a = RLPy.RVector4(1, 2, 3, 4)
b = RLPy.RVector4(1, 2, 3, 4)
print(a.Dot(b)) #30.0
Parameters
vV [IN] The vector to compute dot product - RVector4
Returns
Returns the value of the dot product - float
Inverse (self)
Invert every element of this 4D vector.
a = RLPy.RVector4(0.5, 2, 4, 1)
b = a.Inverse()
print(str(b.x) + ', ' + str(b.y) + ', ' + str(b.z) + ', ' + str(b.w)) # 2.0, 0.5, 0.25, 1.0
Returns
Returns the inversed vector - RVector4
Length (self)
Get the length (magnitude) of this 4D vector.
Returns
4D vector magnitude - float
a = RLPy.RVector4(1, 1, 1, 1)
print(a.Length()) # 2.0
Normalize (self)
Normalize this 4D vector.
Returns
Length of this 4D vector before normalization - float
SetW
Set the value of the w-axis.
a = RLPy.RVector4(1, 1, 1, 1)
print(a.Normalize()) # 2.0
print(str(a.x) + ', ' + str(a.y) + ', ' + str(a.z) + ', ' + str(a.w)) # 0.5, 0.5, 0.5, 0.5
Parameters
tW [IN] the value of the w-axis - float
a = RLPy.RVector4(1, 1, 1, 1)
a.SetW(10)
print(str(a.x) + ', ' + str(a.y) + ', ' + str(a.z) + ', ' + str(a.w)) # 1.0, 1.0, 1.0, 10.0
SetX (self, tX)
Set the value of the x-axis.
Parameters
- tX [IN] the value of the x-axis - float
a = RLPy.RVector4(1, 1, 1, 1)
a.SetX(10)
print(str(a.x) + ', ' + str(a.y) + ', ' + str(a.z) + ', ' + str(a.w)) # 10.0, 1.0, 1.0, 1.0
SetY (self, tY)
Set the value of the y-axis.
Parameters
- tY [IN] the value of the y-axis - float
a = RLPy.RVector4(1, 1, 1, 1)
a.SetY(10)
print(str(a.x) + ', ' + str(a.y) + ', ' + str(a.z) + ', ' + str(a.w)) # 1.0, 10.0, 1.0, 1.0
SetZ (self, tZ)
Set the value of the z-axis.
Parameters
- tZ [IN] the value of the z-axis - float
a = RLPy.RVector4(1, 1, 1, 1)
a.SetZ(10)
print(str(a.x) + ', ' + str(a.y) + ', ' + str(a.z) + ', ' + str(a.w)) # 1.0, 1.0, 10.0, 1.0
SquaredLength (self)
Squared length of this 4D vector.
Returns
- Returns the squared length of this 4D vector - float
a = RLPy.RVector4(1, 1, 1, 1)
print(a.SquaredLength()) # 4.0
XY (self)
Get the first 2 elements of this 4D vector (X, Y) as a 2D vector.
Returns
- Returns a 2D vector - RVector2
a = RLPy.RVector4(1, 2, 3, 4)
b = a.XY()
print(str(b.x) + ', ' + str(b.y)) # 1.0, 2.0
XYZ (self)
Get the first 3 elements of this 4D vector (X, Y, Z) as a 3D vector.
Returns
- Returns a 3D vector - RVector3
a = RLPy.RVector4(1, 2, 3, 4)
b = a.XYZ()
print(str(b.x) + ', ' + str(b.y) + ', ' + str(b.z)) # 1.0, 2.0, 3.0