Thursday 29 September 2011

An Ode To Math

Recently I decided to contribute to the Gladius/Paladin (https://github.com/alankligman/gladius) open source project, more specifically, the Gladius.Math(https://github.com/alankligman/gladius.math) library.  Having only recently decided to get involved with the project, I was feeling a little overwhelmed but excited as well.

The issues/tickets I have decided to work on are the implementations of several math functions involving various size matrices and vectors.

In order to scope this correctly I decided to start with all the functions for 2x2 matrices, then 3x3 and so forth.  For each matrix size from 2x2 to 4x4 there are a number of functions which perform various operations, or specifically:
  • Translate
  • Scale
  • Rotate 
Everyone loves wiki links:
Translations - http://en.wikipedia.org/wiki/Translation_%28geometry%29
Scaling - http://en.wikipedia.org/wiki/Scaling_%28geometry%29
Rotations - http://en.wikipedia.org/wiki/Rotation_matrix

Also an interesting read: http://knol.google.com/k/matrices-for-3d-applications-translation-rotation#

For my first push I implemented these functions for 2x2 matrices.  The unit testing will be the next major focus in order to determine performance and test logic.

Take a look at the code yourself : https://github.com/saecob/gladius.math/commit/20caebde7578ca3a772440a7bc2b2421740b51e6#L0R548

While coding I noticed that there were a number of basic matrix functions which were missing  and a number which didn't seem to be present in other math libraries which i used for code examples.

If I'm going to spend some time with this library I think I'll need to look at some other game engine math libraries to see if there are functions which would help to include.

To Git, Or Not To Git

After being introduced to GitHub (www.github.com) a few weeks ago, I thought that things were pretty straight forward and easy to use, that is until you actually start doing some work of course. 

The Git Bash tool, used to communicate with the Git server and to organized your branches and repositories, uses many different commands to do these things which I found very difficult to remember when it came down to working with them.

Luckily Git provides lots of support and guides to help new users like me along.  Here are some which I found helpful.

http://help.github.com/ - The main hub of information on all things Git
http://help.github.com/git-cheat-sheets/ - A compilation of cheat sheets and quick guides to using the bash commands.

I found these resources very helpful and I thought I would share.

Wednesday 28 September 2011

Out With The Old, In With The New

I decided to change the layout a bit to make the blog easier to read and a little more pleasant.

This afternoon I decided to dedicate my efforts to contributing to an Open Source project named Gladius/Paladin (https://wiki.mozilla.org/Paladin) which is a browser game engine written in Javascript.

After looking at the code (https://github.com/alankligman/gladius), and recovering from being overwhelmed, made a local copy of the repository to browse on my own time.

More to come...

Monday 26 September 2011

Obligatory First Post

After putting this off for too many months, the blog is finally up.

Just creating this page i realized the astounding number of customization options available to the general blogger on the internet today.  I'm going to have to spend some time getting this set up just right.

- Sergiu