Difference between revisions of "IC Python API:RLPy RVector2"
Chuck (RL) (Talk | contribs) m (→SquaredLength) |
Chuck (RL) (Talk | contribs) m (→SetY) |
||
Line 319: | Line 319: | ||
----- | ----- | ||
===SetY=== | ===SetY=== | ||
+ | |||
<syntaxhighlight lang="Python"> | <syntaxhighlight lang="Python"> | ||
− | RLPy.RVector2.SetY ( | + | a = RLPy.RVector2(1, 1) |
+ | a.SetY(10) | ||
+ | print(str(a.x) + ', ' + str(a.y)) #1.0, 10.0 | ||
</syntaxhighlight> | </syntaxhighlight> | ||
+ | |||
Set the value of the y-axis. | Set the value of the y-axis. | ||
+ | |||
====Parameters==== | ====Parameters==== | ||
− | |||
+ | <div style="margin-left: 2em;"> | ||
'''tX''' [IN] the value of the y-axis. | '''tX''' [IN] the value of the y-axis. | ||
</div> | </div> | ||
----- | ----- | ||
+ | |||
===SquaredLength=== | ===SquaredLength=== | ||
Revision as of 20:36, 20 February 2020
- Main article: Modules.
Description
2D Vector math class for float values. This class provides access to RLPy's internal vector math library allowing vectors to be handled effortlessly, and in a manner compatible with internal RLPy data structures. It also supports operators and vector related functions.
RVector2 also provides some constants for your convenience:
Constant | Description |
---|---|
RVector2.ZERO | 2D zero vector: (0, 0) |
RVector2.UNIT_X | 2D x unit vector: (1, 0) |
RVector2.UNIT_Y | 2D y unit vector: (0, 1) |
RVector2.UNIT_XY | 2D unit vector: (1, 1) |
Constructors & Destructors
__init__
Initialize a new RVector2 object as a 2D zero vector: (0, 0).
a = RLPy.RVector2()
__init__( self, x, y )
Initialize a new RVector2 object as a 2D vector: (x, y).
a = RLPy.RVector2(1, 2)
Parameters
x [IN] a numerical value for x coordinate - float or int
y [IN] a numerical value for y coordinate - float or int
__init__( self, args )
Initialize a new RVector2 object with another RVector2 object: args. This new RVector2 object has the same value as args.
a = RLPy.RVector2(1, 2)
b = RLPy.RVector2(a)
Operators
==
The “equal to” operator.
a = RLPy.RVector2(1, 2)
b = a
print(a == b) #True
!=
The “not equal to” operator.
a = RLPy.RVector2()
b = RLPy.RVector2(1, 2)
print(a != b) #True
<
The “less than” operator. Similar to string comparison: If first element (x) less than, return True, if greater than, return False, if equal then compare the second element (y). When (y) is greater than or equal return False else return True.
a = RLPy.RVector2(0, 0)
b = RLPy.RVector2(0, 1)
c = RLPy.RVector2(1, 0)
d = RLPy.RVector2(0, 0)
print(a < b) #True
print(b < c) #True
print(a < d) #False
>
The “greater than” operator. Similar to string comparison: If element (x) is greater than, return True, if less than, return False, if equal then compare the second element (y). If (y) is greater than or equal, return False, else return True.
a = RLPy.RVector2(0, 0)
b = RLPy.RVector2(0, 1)
c = RLPy.RVector2(1, 0)
d = RLPy.RVector2(0, 0)
print(b > a) #True
print(c > b) #True
print(d > a) #False
<=
The “less than or equal to” operator. Similar to string comparison: If element (x) is less than, return True, if greater than, return False, if equal then compare the second element (y). If (y) is greater than, return False, else return True.
a = RLPy.RVector2(0, 0)
b = RLPy.RVector2(0, 1)
c = RLPy.RVector2(1, 0)
d = RLPy.RVector2(0, 0)
print(a <= b) #True
print(b <= c) #True
print(a <= d) #True
>=
The "greater than or equal to" operator. Similar to string comparison: If element (x) is greater than, return True, if less than, return False, if equal then compare the second element (y). If (y) is less than, return False, else return True.
a = RLPy.RVector2(0, 0)
b = RLPy.RVector2(0, 1)
c = RLPy.RVector2(1, 0)
d = RLPy.RVector2(0, 0)
print(b >= a) #True
print(c >= b) #True
print(d >= a) #True
+
The “addition” operator. Perform 2D vector addition.
a = RLPy.RVector2(0, 1)
b = RLPy.RVector2(1, 2)
c = a + b
print(str(c.x) + ', ' + str(c.y)) #1.0, 3.0
-
The “subtraction” operator. Perform 2D vector subtraction.
a = RLPy.RVector2(0, 1)
b = RLPy.RVector2(1, 3)
c = b - a
print(str(c.x) + ', ' + str(c.y)) #1.0, 2.0
*
The “multiplication” operator. Perform a scalar multiplication when the second element is an integer or float. If the second operand is another vector2, then the respective x, y elements are multiplied.
a = RLPy.RVector2(1, 2)
b = a * 2
c = RLPy.RVector2(2, 3)
d = a * c
print(str(b.x) + ', ' + str(b.y)) #2.0, 4.0
print(str(d.x) + ', ' + str(d.y)) #2.0, 6.0
/
The "division" operator. Perform a scalar division when the second operand is an integer or float. If the second operand is another vector2, then the respective x,y elements are divided.
a = RLPy.RVector2(1, 2)
b = a / 2
c = RLPy.RVector2(2, 3)
d = a / c
print(str(b.x) + ', ' + str(b.y)) #0.5, 1.0
print(str(d.x) + ', ' + str(d.y)) #0.5, 0.6666666865348816
-
The “unary minus” operator. Inverse the sign of each element.
a = RLPy.RVector2(1, 2)
b = -a
print(str(b.x) + ', ' + str(b.y)) #-1.0, -2.0
+=
The “addition assignment” operator.
a = RLPy.RVector2(0, 1)
b = RLPy.RVector2(1, 2)
a += b
print(str(a.x) + ', ' + str(a.y)) #1.0, 3.0
-=
The “subtraction assignment” operator.
a = RLPy.RVector2(0, 1)
b = RLPy.RVector2(1, 2)
a -= b
print(str(a.x) + ', ' + str(a.y)) #-1.0, -1.0
*=
The “multiplication assignment” operator. Please refer to * operator for calculation method.
a = RLPy.RVector2(1, 2)
a *= 2
b = RLPy.RVector2(1, 2)
c = RLPy.RVector2(2, 3)
b *= c
print(str(a.x) + ', ' + str(a.y)) #2.0, 4.0
print(str(b.x) + ', ' + str(b.y)) #2.0, 6.0
/=
The “division assignment” operator. Please refer to / operator for calculation method.
a = RLPy.RVector2(1, 2)
a /= 2
b = RLPy.RVector2(1, 2)
c = RLPy.RVector2(2, 3)
b /= c
print(str(a.x) + ', ' + str(a.y)) #0.5, 1.0
print(str(b.x) + ', ' + str(b.y)) #0.5, 0.6666666865348816
Member Functions
AddWithWeight
RLPy.RVector2.AddWithWeight ( self, vSrc, fWeight )
Add a vector with weight.
Parameters
vSrc [IN] The vector to add - RLPy.RVector2
fWeight [IN] The value of weight - float
Dot
RLPy.RVector2.Dot ( self, vV )
Calculate dot production of the two vectors.
Parameters
vV [IN] The vector - RLPy.RVector2
Returns
Inverse
RLPy.RVector2.Inverse ( self )
Inverse this vector.
Returns
Length
RLPy.RVector2.Length ( self )
Length of the vector.
Returns
Normalize
RLPy.RVector2.Normalize ( self )
Normalizes this vector.
Returns
SetX
RLPy.RVector2.SetX ( self, tX )
Set the value of the x-axis.
Parameters
tX [IN] the value of the x-axis - float
SetY
a = RLPy.RVector2(1, 1)
a.SetY(10)
print(str(a.x) + ', ' + str(a.y)) #1.0, 10.0
Set the value of the y-axis.
Parameters
tX [IN] the value of the y-axis.
SquaredLength
a = RLPy.RVector2(1, 1)
print(a.SquaredLength()) #2.0
Squared length of the vector.
Returns
The squared length of this vector - float
X
RLPy.RVector2.X ( self, args )
Get the value of the x-axis.
Returns
Y
RLPy.RVector2.Y ( self, args )
Get the value of the y-axis.