# Vector2Array

Library "Vector2Array"
functions to handle vector2 Array operations.
.
references:
docs.unity3d.com/Scr...ference/Vector2.html
gist.github.com/wind...a1aa09c3499e09edbd33
github.com/dogancoru...master/js/vector2.js
gist.github.com/Dali...7d030deb37a7bfeff454
gist.github.com/jean...5e5df770b532f696af2d
gist.github.com/volkansalma/2972237
.

from(source, prop_sep, vect_sep)
Generate array of vector2 from string.
Parameters:
source: string Source string of the vectors.
prop_sep: string Separator character of the vector properties (x`,`y).
vect_sep: string Separator character of the vectors ((x,y)`;`(x,y)).
Returns: array<Vector2>.

max(vectors)
Combination of the highest elements in column of a array of vectors.
Parameters:
vectors: array<Vector2.Vector2>, Array of Vector2 objects.
Returns: Vector2.Vector2, Vector2 object.
-> usage:
`a = Vector2.from(1.0) , b = Vector2.from(2.0), c = Vector2.from(3.0), d = max(array.from(a, b, c)) , plot(d.x)`

min(vectors)
Combination of the lowest elements in column of a array of vectors.
Parameters:
vectors: array<Vector2.Vector2>, Array of Vector2 objects.
Returns: Vector2.Vector2, Vector2 object.
-> usage:
`a = Vector2.from(1.0) , b = Vector2.from(2.0), c = Vector2.from(3.0), d = min(array.from(a, b, c)) , plot(d.x)`

sum(vectors)
Total sum of all vectors.
Parameters:
vectors: array<Vector2.Vector2>, ID of the vector2 array.
Returns: Vector2.Vector2, vector2 object.
-> usage:
`a = Vector2.from(1.0) , b = Vector2.from(2.0), c = Vector2.from(3.0), d = sum(array.from(a, b, c)) , plot(d.x)`

center(vectors)
Finds the vector center of the array.
Parameters:
vectors: array<Vector2.Vector2>, ID of the vector2 array.
Returns: Vector2.Vector2, vector2 object.
-> usage:
`a = Vector2.from(1.0) , b = Vector2.from(2.0), c = Vector2.from(3.0), d = center(array.from(a, b, c)) , plot(d.x)`

rotate(vectors, center, degree)
Rotate Array vectors around origin vector by a angle.
Parameters:
vectors: array<Vector2.Vector2>, ID of the vector2 array.
center: Vector2.Vector2 , Vector2 object. Center of the rotation.
degree: float , Angle value.
Returns: rotated points array.
-> usage:
`a = Vector2.from(1.0) , b = Vector2.from(2.0), c = Vector2.from(3.0), d = rotate(array.from(a, b, c), b, 45.0)`

scale(vectors, center, rate)
Scale Array vectors based on a origin vector perspective.
Parameters:
vectors: array<Vector2.Vector2>, ID of the vector2 array.
center: Vector2.Vector2 , Vector2 object. Origin center of the transformation.
rate: float , Rate to apply transformation.
Returns: rotated points array.
-> usage:
`a = Vector2.from(1.0) , b = Vector2.from(2.0), c = Vector2.from(3.0), d = scale(array.from(a, b, c), b, 1.25)`

move(vectors, center, rate)
Move Array vectors by a rate of the distance to center position (LERP).
Parameters:
vectors: array<Vector2.Vector2>, ID of the vector2 array.
center
rate
Returns: Moved points array.
-> usage:
`a = Vector2.from(1.0) , b = Vector2.from(2.0), c = Vector2.from(3.0), d = move(array.from(a, b, c), b, 1.25)`

to_string(id, separator)
Reads a array of vectors into a string, of the form ``.
Parameters:
id: array<Vector2.Vector2>, ID of the vector2 array.
separator: string separator for cell splitting.
Returns: string Translated complex array into string.
-> usage:
`a = Vector2.from(1.0) , b = Vector2.from(2.0), c = Vector2.from(3.0), d = to_string(array.from(a, b, c))`

to_string(id, format, separator)
Reads a array of vectors into a string, of the form ``.
Parameters:
id: array<Vector2.Vector2>, ID of the vector2 array.
format: string , Format to apply transformation.
separator: string , Separator for cell splitting.
Returns: string Translated complex array into string.
-> usage:
`a = Vector2.from(1.234) , b = Vector2.from(2.23), c = Vector2.from(3.1234), d = to_string(array.from(a, b, c), "#.##")`
Biblioteca Pine

Siguiendo el verdadero espíritu de TradingView, el autor de este código de Pine lo ha publicado como biblioteca de código abierto, para que el resto de programadores de Pine de esta comunidad puedan volver a utilizarlo. ¡Un hurra por el autor! Puede utilizar esta biblioteca de forma privada o en otras publicaciones de código abierto, pero debe ceñirse a lo establecido en las Normas internas.