jME3 Math for Dummies (Complete)


I started working on a document to visualize the basic vector / math concepts in jME3 for the absolute beginners, tell me what you think: Link to presentation.

If you cant see the bottom part in full screen mode, make your browser window more narrow, somehow it only reacts to width, not height.

I want to add interpolation and some more rotation things as well as lookAt still, any other things you think should be definitely in?



Edit: Also check out the new and in progress SceneGraph for Dummies presentation.


I love it, just feels like being in kindergarten again hehe

If you substract the location B from the location A, you get the directional vector from A to B (or whas it the other way around? :slight_smile: ), thats definitely something you should know :).

Hmm one more basic princible i would add is the difference between local and world transforms, but that isnt math ofc.

Thanks! Yeah, maybe a “SceneGraph for Dummies” would be cool too :slight_smile:

btw its grown nicely now, good work

i think i encountered an error (not a big deal, just a typo)

slide 30, last point where you create a quaternion from “axes”, its supposed to be angles i think (and the method is then q.fromAngles(float [] angles) :wink:

Rapidly skimmed and I found it very interesting.

There’s a question that popped up though in frame 31.

The Quaternion C (quatC) in the picture shows all 3 axis have rotated. From what I have seen and understood in those frames, I think only the Z and Y axis should have rotated right? If so maybe removing the X rotation diagram would remove any confusion.

It’s nitpicking I agree, but as I said before, I’m visual, and it’s that kind of thing that attract my attention immediately and could possibly confuse me… :slight_smile:

Yeah, it was more meant like “some quaternion”, its a complete image so its not so easy to change, have to fire up photoshop etc… Just now uploading an updated version, only lookAt is missing now I guess… Maybe an advanced section explaining dot products etc. would be nice in the future, but its probably beyond the scope of this basic introduction.

There are some videos on YouTube about dot products and vectors and other math stuff made by someone named “khan”, they are very good. The commenter is also easily able to vulgarize some of that stuff.

Maybe you could look those up and link them at the end of that presentation.

Just an idea. :slight_smile:

This is great! A lot of developers we try to get into 3D programming often have problems with the properties of rotations. The explanations you provided seem very rational to me :slight_smile:

Very helpful! I’m still a bit confused about quaternions, but I only read it once. I’ll get it once I read it a couple of times :wink: Thanks!

nomnom said:
Very helpful! I'm still a bit confused about quaternions, but I only read it once. I'll get it once I read it a couple of times ;) Thanks!

Then you will surely have to explain it to the rest of us. :) I've used quaternions for years and still have little idea on how they work. I just know that they do and when to employ them.

In adition to what nego said, perhaps you also want to mention the normalize functions, I use them often for any 3d programming :wink: Quickly went trough your presentation and didn’t see any mention about that (tho the inerpolation function shown was new for me, lovely what you can learn from simple stuff)

Looking good otherwise =]

Very useful!!

Good idea!

I think I have found some mistake on page 24.

you say:

quatA.fromAngleAxis(FastMath.HALF_PI,... -> rotation of 90°
quatB.fromAngleAxis(FastMath.QUARTER_PI,... -> rotation of 90°

The second must be 45° and the image also must be changed
1 Like

Darn copy&paste :slight_smile: thanks!

Well I hope this makes sure we don’t get that much basic math questions anymore, great work.

Okay, I added everything, more would probably keep people from actually reading it :wink:

LookAt is a bitch to explain tho :confused: any ideas how to make that a bit better / more clear?

I added this to the wiki btw, it should display the full presentation inside the wiki now:

(handy link to help people help themselves ;))

Thanks @all for the feedback!



I’m trying to read this as a noob and that’s pretty hard as it turns out. I got into the vector part where you add two together and tell me the length is 1.4. Noob-me said, “Huh, why 1.4?” Is it worth talking about A^2 + B^2 = C^2?

I kept trying to decide why if noob-me knew Pythagorean theorem then why didn’t noob me already know about Vectors. And 1.4 seems pretty magic otherwise.

…maybe that’s just a good place for a link to another resource?

Yeah, I keep some math aspects outside or expect knowledge about them so to speak… Like I don’t explain why 0.75 = 75% = 3/4 or why PI = 180° etc. I also never really do or explain the math but the cool thing about the API is that you can really forget about these basics :slight_smile: I was reading it as non-wiki-reader-forum-poster and I figured if there would have been more text or complicated math I’d have posted in the forum :wink:

Then again, if .75 == 3/4 doesn’t make sense to you, then you’ve got bigger problems than making a game in jME :wink:

1 Like

I agree with the above.

There are noobs and then there are… I’ll stay polite and keep what I wanted to say to myself. :wink: