Sunday 17 June 2012

Chapter 1: Cartesian Coordinate Systems

So I didn't complete a chapter yesterday like I wanted to, mostly because I was out most of the day (Prometheus makes me feel things about things) and just didn't feel like doing work upon my return. Today however, I went through the first chapter of the book. This first chapter has the same title as this post, but is mostly prepping the reader and making sure they understand the expected knowledge level required coming into the book.

Chapter 1 is broken into the following sections.
  • 1.1 One Dimensional Mathematics
    This section explained natural numbers, real numbers, and the like. Basic stuff everyone should know.
  • 1.2 Two Dimensional Mathematics
    Again, very simple introduction to the Cartesian coordinate system. Points as ordered pairs of numbers, orientation of axes etc. More simple stuff.
  • 1.3 Three Dimensional Mathematics
    Introduces the concept of "Left-handed" and "Right-handed" coordinate systems. Left-handed axes can never be rotated to match right-handed axes perfectly. Introduced rotation direction around an axis for each system. Also introduced the conventions the book itself uses. (Left-handed)
  • 1.4 Odds & Ends
    This section actually made up the bulk of the content and time spent on this chapter. It reviews the content required to understand the following chapters of the book. Topics briefly covered included: Summation Notation, Product Notation, Interval Notation, Angles, Degrees and Radians.
    The last part of this section covered all the standard Trigonometry Functions and Identities which I picked up fairly quickly considering how much I have[n't] used them since first learning them. The identities gave me a little trouble (mainly the Double Angle Identities for cos and sin), but I made sure to derive them from the Sum and Difference Identities which was quite satisfying once I understood how they worked.
 I think I've also stopped being annoyed and ashamed that I feel the need to go over highschool level math again. I realise that most people are like me and just forget the specifics once they stop using it every week. It actually feels really good to see how easy it is for me now that I'm older (damn you undeveloped brain, hindering me in highschool).

All in all, it was a fairly smooth chapter. The next chapter is on Vectors and I don't expect them to give me any large amount of trouble. I have an exam coming up though, so I don't believe I will post for another 3 or so days. </transmission>

P.S. There are slides associated with the book for anyone who wants to take a gander. They're nowhere as near as thorough as the book though. The slides for this particular chapter can be found here and the page with all the slides here.

"Careful. We don't want to learn from this." — Bill Watterson (1958–) from Calvin and Hobbes

Friday 15 June 2012

The Current State of my Work Ethic

Is transitional. I swear it. I'm going to stop being numb and passive to life's opportunities and get somewhere with something. This will be a brief post, just explaining what I plan to follow through with and how I made the decision.

If you are reading this then you will know that I planned to start working through the book "OpenGL Super Bible 4th Edition" (Well, that is if you are the one person I read some of the book to). With every intention I planned to continue through with it, however I switched to the 5th Edition after reaffirming my fears that OpenGL 2.x and 3.x are quite different beasts (Also the current standard is 4.2 I believe, the 5th edition itself being 2 years old).

To my understanding, what's happened with OpenGL is that up until 2.x it was accumulative, that is to say that all previous functionality stayed even in the face of newer, faster and overall better ways to do things. As I read in Chapter 2 of the 5th Edition, all of this changed when 3.x came around, and functionalities started to become deprecated. Different modes or versions or whatever were created for people who couldn't or didn't want to move on, and things seemingly got much messier.

To break it down very simply, I am under the impression that...
  • (OpenGL 2.x) stuck close to the classical graphics rendering pipeline
  • (OpenGL 3.x, 4.x) do not, and are more heavily based in shaders
Which, when I realised this, made me annoyed that once again everything seems a bit ambiguous and I can't accurately measure what I will gain from investing time in either of these books. The 5th Edition just makes things sound like easy-mode by explaining that GUI will be handled automatically by GLUT. While I'm not against easy-mode, if I were going for tools that were of high ease to use, I would just start learning Unity (Which I'm now interesting in doing so sometime in the future, not now though).

What I'm going for is understanding. In my search for recommendations for which path to take, I saw "3D Math Primer for Graphics and Game Development, 2nd Edition" recommended and just had to take a look.

Good things about this book include...
  • Published in 2011
  • Specifically for Graphics Programming
  • Authors are qualified
  • Excellent conversational tone of writing
So I made a decision. I'm going to go through this book and come out understanding it all. The benefits are three-fold:
  • I will have a stronger understanding and therefore stronger abilities when I get to actually programming 3D computer graphics.
  • I've been meaning (and needing) to learn the math I should have in highschool.
  • I am undertaking a unit (Mathematics for Computer Graphics) this coming semester and working through this book will not only help me in the unit, but completing the unit after completing the book should cement the knowledge in my mind.
So that's that. I plan to complete a chapter daily. I don't know how dry or complex the lessons learned from the book will be to convey in blog posts, but I will do updates on how I am going.

Also, I'm seeing Prometheus tomorrow. Should be good.

 "Before turning to those moral and mental aspects of the matter which present the greatest difficulties, let the inquirer begin by mastering more elementary problems."

- Sherlock Holmes from A Study in Scarlett (1887)

Monday 23 April 2012

Ludum Dare 48 Hour Game Jam

Over 1000. That's how many 48 hour games were made this weekend in the 23rd Ludum Dare Compo, and I made one of them.

The theme this time around...
Tiny World

I really liked this theme, I read it as a challenge to the idea that "Bigger is Better". Big budget games are trying to push for the most vast, lively cities and this theme just says "That's good and all, but it's also okay to be reserved.". I'm sure a lot of people took this as "Tiny Game Area" or "Tiny Map", which is why I think it's such a good theme. I would have taken this approach too as a challenge to myself, but I was determined to complete something this time around so I took the more literal approach. Play it just below (Earth gains mass every 40 points).



Use the arrow keys.

I think it's a solid little game, and it feels great to have completed something this time around. Watch the timelapse and listen to my thoughts in the video below.



I'll keep this short, and will probably do a follow-up post with "Things I did well" and "Things I learned" because it's easier to nicely arrange all the thoughts I wanted to cover in the video but couldn't. Til next time!

See you Space Cowboy...

Friday 30 March 2012

Preface

This blog has come about after much prodding between friends, and I hope it will produce a sort of cyclic motivation.

I intend that this blog be a record for whatever thoughts I may think, whether they be about books I am in the process of reading, problems that I aim to solve or the exciting and challenging area of design.

At this time, I believe a majority of my posts will be design-centric. I get a subtle enjoyment out of understanding how rulesets, attributes and the like coerce a working, living system.

The posts that follow this one will contain my greatest efforts to achieve goals that vary in both difficulty and nature.