RicardoSantos

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), "#.##")`
Pine library

In true TradingView spirit, the author has published this Pine code as an open-source library so that other Pine programmers from our community can reuse it. Cheers to the author! You may use this library privately or in other open-source publications, but reuse of this code in a publication is governed by House Rules.

Disclaimer

The information and publications are not meant to be, and do not constitute, financial, investment, trading, or other types of advice or recommendations supplied or endorsed by TradingView. Read more in the Terms of Use.

Want to use this library?

Copy the following line and paste it in your script.