Hello all.

Ok, Christmas's over and after being away and without an Internet connection (I had tried though), I finally had some time to think about my 3D engine, because it's pleading for a re-write right now.

The first thing I want to rebuild is my entity class. Not everything - of course. The matter I'm struggling with is representing an object in the 3D space. What I mean by that is:
a) positioning in at some point
b) adding rotations
c) scaling
What's the correct way of doing that? I've seen numerous codes and examples and I'm thinking about using vectors for positioning (that's rather obvious) and quaternions for rotations. The latter is the meritum of my post - I read about orientation, direction - what are those? What's the difference and how do I make use of them in my 3D engine?

Can you please enlighten me?