PINE LIBRARY

CommonTypesMath

Library "CommonTypesMath"
Provides a common library source for common types of useful mathematical structures.
Includes: `complex, Vector2, Vector3, Vector4, Quaternion, Segment2, Segment3, Pole, Plane, M32, M44`

complex
  Representation of a Complex Number, a complex number `z` is a number in the form `z = x + yi`,
  Fields:
    re: Real part of the complex number.
    im: Imaginary part of the complex number.

Vector2
  Representation of a two dimentional vector with components `(x:float,y:float)`.
  Fields:
    x: Coordinate `x` of the vector.
    y: Coordinate `y` of the vector.

Vector3
  Representation of a three dimentional vector with components `(x:float,y:float,z:float)`.
  Fields:
    x: Coordinate `x` of the vector.
    y: Coordinate `y` of the vector.
    z: Coordinate `z` of the vector.

Vector4
  Representation of a four dimentional vector with components `(x:float,y:float,z:float,w:float)`.
  Fields:
    x: Coordinate `x` of the vector.
    y: Coordinate `y` of the vector.
    z: Coordinate `z` of the vector.
    w: Coordinate `w` of the vector.

Quaternion
  Representation of a four dimentional vector with components `(x:float,y:float,z:float,w:float)`.
  Fields:
    x: Coordinate `x` of the vector.
    y: Coordinate `y` of the vector.
    z: Coordinate `z` of the vector.
    w: Coordinate `w` of the vector, specifies the rotation component.

Segment2
  Representation of a line in two dimentional space.
  Fields:
    origin: Origin coordinates.
    target: Target coordinates.

Segment3
  Representation of a line in three dimentional space.
  Fields:
    origin: Origin coordinates.
    target: Target coordinates.

Pole
  Representation of polar coordinates `(radius:float,angle:float)`.
  Fields:
    radius: Radius of the pole.
    angle: Angle in radians of the pole.

Plane
  Representation of a 3D plane.
  Fields:
    normal: Normal vector of the plane.
    distance: Distance of the plane along its normal from the origin.

M32
  Representation of a 3x2 matrix.
  Fields:
    m11: First element of the first row.
    m12: Second element of the first row.
    m21: First element of the second row.
    m22: Second element of the second row.
    m31: First element of the third row.
    m32: Second element of the third row.

M44
  Representation of a 4x4 matrix.
  Fields:
    m11: First element of the first row.
    m12: Second element of the first row.
    m13: Third element of the first row.
    m14: fourth element of the first row.
    m21: First element of the second row.
    m22: Second element of the second row.
    m23: Third element of the second row.
    m24: fourth element of the second row.
    m31: First element of the third row.
    m32: Second element of the third row.
    m33: Third element of the third row.
    m34: fourth element of the third row.
    m41: First element of the fourth row.
    m42: Second element of the fourth row.
    m43: Third element of the fourth row.
    m44: fourth element of the fourth row.
graphicsMarket GeometryMATHstructureTYPEvector

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