### Table of Contents

# X-Maths

Multi-Maths is a node that attempts to collect all maths functions in a single user interface and node to encourage experimenting with different calculations.

The node has two scalar inputs (X and Y) as well as two vector inputs (A and B) and two matrix inputs ( M and N)

The outputs (Scalar, Vector or Matrix) will be the result of the Scalar, Vector or Matrix function (respectively) being computed using the input values.

The inputs may be swapped around without reconnecting them. This, for example, turns X / Y into Y / X.

## Scalar Computations

All of these computations results in a scalar value.

Scalar = | Description |
---|---|

X + Y | Adds two scalar values |

X - Y | Subtracts two scalar values |

X * Y | Multiplies two scalar values |

X / Y | Divides two scalar values |

pow (X,Y) | Raises X to the power of Y, X^{Y} |

sqrt(X) | Returns the square root of X |

frac(X) | Returns the fractional part of X |

int(X) | Returns the non-fractional (integer) part of X |

ceil(X) | Rounds X up to the next integer |

floor(X) | Rounds X down to the previous integer |

fabs(X) | The absolute of X |

fmod(X,Y) | The remainder of X/Y |

sin(X) | The sine of X, X is expected to be in radians |

cos(X) | The cosine of X, X is expected to be in radians |

tan(X) | The tangent of X, X is expected to be in radians |

asin(X) | The inverse sine of X, returned in radians |

acos(X) | The inverse cosine of X, returned in radians |

atan(X) | The inverse tangent of X, returned in radians |

atan(X / Y) | The inverse sine of X/Y, returned in radians |

sinh(X) | The hyperbolic sine of X, X is expected to be in radians |

cosh(X) | The hyperbolic cosine of X, X is expected to be in radians |

tanh(X) | The hyperbolic tangent of X, X is expected to be in radians |

exp(X) | Exponential function, returns e^{X} |

log(X) | returns the logarithm of X |

log10(X) | returns the base 10 logarithm of X |

A . B (dot product) | Returns the dot product of the vectors A & B |

length(A) | Returns the length of vector A |

-X | Inverts X |

## Vector Computations

These compute a vector result.

Vector = | Description |
---|---|

A + B | Adds two vectors |

A - B | Subtracts vector B from A |

A * B | Multiplies the components of two vectors |

A / B | Divides the components of A by the components of B |

A x B (cross product) | Computes the cross product between two vectors, this results in a vector perpendicular to both of them |

A * X | Multiplies a vector by a scalar |

A / X | Divides a vector by a scalar |

normalize(A) | Normalises vector A |

A * M | Multiplies a vector by a matrix |

## Matrix Computations

The result of these is a 4×4 matrix.

Matrix = | Description |
---|---|

M * N | |

M + N | |

M - N | |

-M | |

M * X |

This is the plugin of the month for May 2019, made possible by the finest patrons on Patreon.