## DESCRIPTION

LAS - Linear Algeberaic Shell is a command based matrix transformation visualizer for 2D space.

## USAGE

#### NUMBER ARGUMENTS

LAS supports two kinds of number arguments. Real numbers
(floating point) and trigonometric functions. Trigonometric functions have the
format (func x) where x is a real number. For example: (sin 2),
(cos 18.9999). Trigonometric functions must always be surrounded
by parentheses and CAN NOT be nested like (cos (cos 1))!
currently only cosine and sine are supported.
#### VECTOR

You can use vector, vec, or v to create vectors, it takes two
number arguments. For example:

`>>> vec x y`

`>>> vector (cos x) y`

`>>> v x (sin y)`

`>>> v (cos x) (sin y)`

#### TRANSFORM

You can apply a matirx transformation to the space using
transform or t for short. It takes 4 number arguments m11 m12
m21 m22 in that order. For example:

`>>> t m11 m12 m21 m22`

#### ROTATE

You can use rotate, rot, or r to rotate the space. It takes the
degree as an argument and not a radian. Rotate is basically just
a specialization of the transform command that applies the
matrix with first row [cos(deg) -sin(deg)] and second row
[sin(deg) cos(deg)]. Examples:

`>>> rot 90`

`>>> rotate 180`

#### RESET

You can use reset to reset the state of the world, reverse all
transformations and remove all displayed vectors.

`>>> reset`

## EXAMPLE

The following commands:

`>>> v 1 0`

`>>> v 0 1`

`>>> t 2 0 0 2`

`>>> t 1 0 1 1`

`>>> t 0.5 0 0 0.5`

would create the two basis vectors, scale the whole space by a factor of 2,
take the basis vector (1 0) to (1 1), and then scale back to the original factor.

## CONTACT

If you find a bug or just wanna chit chat then send me an email
at nullp0tr at gmail dot com. You can also directly contribute
to the project on
github
:)