# 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.
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.