# User:Nexii Malthus

# Intro

Skills: programming, scripting, building, sculpties, textures, animation, design and architecture.

I consider myself pretty much an Ace of all trades.

My passion is to excel in creation.

To break unknown barriers, to *think outside the box*.

With the knowledge of other skills, I can mix, I can understand the limits of each skill, and the possibilities of each one. It is a joy, when you know, that you can bring an idea, from mere beginnings, up to a fully polished successful product. I like to therefore embody myself, as the very origin of creation in SL, you will often see me wearing my plywood cubitar.

Long-time resident (6.3yrs~?)

Avid game developer and content creator

# Projects

## Current

### Vertical Life Client

My own efforts to innovate the metaverse as we know. Vertical Life Client

### Vertical Life LSL API

## LSL

I would love to know where and what you use those scripts for, I can only begin to imagine the possibilities with the geometric functions and the hierarchics system.

### Fun Stuff

- Interpolation Library, partially open-sourced.

- Geometric Library, large collection of handy 3D maths functions.

- Physics Functions, partially open-sourced.

- Hierarchics, a self-aware, optimized and efficient joint system.

### Simple

- Utilities, to-be-opensourced

### Depecrated

- Navigation Spaces Pathfinder, closed source, development discontinued, code re-used.

- Motion Editor, development stopped, code re-used.

# Random Notes

Mnemonic I use to remember rotation order:

To add rotation,

- Rotation = Local * Global;

To take away rotation,

- Rotation = Local / Global;

The word-semantics here help how to visualize rotation addition.
Other useful distinctions may be *Object-Frame* for Local and *Absolute-Frame* for Global.

---

Taken from Linden Labs' opensourced client, project *llmath*, file *m3math.h*
Not sure why, but it helped me matrices suddenly 'click' for me. Before I was unable to understand the way a matrix worked, as being dyslexic hindered my understanding of basic mathematic concepts severely. The following representation/imaginative explanation **helped a lot**. Hope it may help anyone else if they find this.

<lsl> // LLMatrix3 = | fx fy fz | forward-axis // | lx ly lz | left-axis // | ux uy uz | up-axis </lsl>

<lsl> // Creating Rotation Matricies From Object Axes // -------------------------------------------- // Suppose you know the three axes of some object in some "absolute-frame". // If you take those three vectors and throw them into the rows of // a rotation matrix what do you get? // // R = | X0 X1 X2 | // | Y0 Y1 Y2 | // | Z0 Z1 Z2 | // // Yeah, but what does it mean? // // Transpose the matrix and have it operate on a vector... // // V * R_transpose = [ V0 V1 V2 ] * | X0 Y0 Z0 | // | X1 Y1 Z1 | // | X2 Y2 Z2 | // // = [ V*X V*Y V*Z ] // // = components of V that are parallel to the three object axes // // = transformation of V into object frame // // Since the transformation of a rotation matrix is its inverse, then // R must rotate vectors from the object-frame into the absolute-frame. </lsl>

**transpose** means to switch the rows and columns, imagine applying a 90 degree rotation on the array, see above how X0, X1 and X2 occupied the first row, and instead now occupies the first column in the transposed matrix.

---

My little userpage shortcut to the LSL Portal.

### Todo, but never really do

Geometric Library:

- Create functions for Geometric for working out Normals on collisions.
- Multi-output functions at that maybe? Should better return a list...
- Replace global-variable-output functions with list returns.

Interpolation Library:

- Add spline and vector lists functions whenever I can be bothered
- Find a good way to add all the other fun ways to ease in, ease out and ease in&out, either do it via lots of little functions (better performance generally), or maybe one big one (easier to switch between them at runtime)?

Hierarchics:

- Find a way to untangle a skeleton system easily. Example when rezzed via duplication or scripts reset while joints at arbitrary rotations, so that system can become highly reliable.