# Maths

A set of blocks that allow you to work with numbers

## Constants

In Varwin XRMS, constants come in two forms, regular digit and mathematical

### Regular digit

A numeric constant block can be used as a field for entering the required numeric value

### Mathematical constants

Mathematical constants are quantities whose value does not change

- Archimedean constant (number Pi)
- Napier’s constant
- Golden ratio
- Square root
- Square root of a half
- Infinity

## Arithmetic operations

Arithmetic operations can be performed with one or two operands. For example:

With one operand:

- Square root
- Module
- A negative number
- Logarithm
- Decimal logarithm
- Exponent e^
- The number 10 to the power of the specified number

With two operands:

- Addition
- Subtraction
- Multiplication
- Division
- Exponentiation

## Trigonometric operations

Block containing the execution of trigonometric operations:

- Sinus
- Cosine
- Tangent
- Cotangent
- Arcsine
- Arccosine
- Arctangent

We remind you that ctg α = 1 / tg α

## Boolean operations

Returns true or false, used with logic blocks. As true parameters can be used:

- Even
- Odd
- Simple
- Whole
- Positive
- Negative
- Divided by

## Rounding operations

Operations of rounding non-integer numbers to an integer. Among the available block parameters, there are functions:

- Round up
- Round to the greater
- Round to the lesser

## Random numbers

### Integer

A block for generating a random integer whose range can be specified

### Real

Block for generating a random real number from 0 to 1

## Remainder of dividing **X** by **Y**

A function to return the remainder after dividing two given numbers **X** and **Y**

## Group “Vectors”

A vector is a directed segment constructed from two points, one of which is considered the beginning and the other the end. In Varwin XRMS, vectors are represented as a set of blocks that perform the following functions:

- Vector description - to implement logic, use a block inside other blocks
- Return component - returns the selected component of the specified vector
- Return the result of addition or subtraction operations between two vectors
- Return the result of multiplication or division operations between a vector and a number
- Vector product - returns the vector product of two specified vectors
- Scalar Product - returns the scalar product of the two specified vectors
- Normalized vector - returns a normalized version of the specified vector
- Distance from point
**XYZ**to point**XYZ**- returns the straight-line distance between two specified vectors - Length of
**XYZ**vector - returns the length of the specified vector - Rotate
**XYZ**by angle**XYZ**- rotates the specified vector by an angle, specified as a vector - Cast
**XYZ**to Local/World Coordinate System Relative to**Object**- Casts the vector to the selected coordinate system relative to the specified object