Tagcode

Hackathon

Hey YEG, that was a pretty cool open data Hackathon. The potentials demonstrated by the participants in that room had me shivering with excitement. So many useful and brilliantly simple ideas.  The future is bright.

Need some evidence of the potentials of open data? I recommend starting with Jennifer Pahlka’s TED talk on Code for America.

“…platform for people to help themselves and help others.”


At Saturday’s Hackaton, I had the pleasure of meeting some incredible people, super-geeks. I appreciate techs that seem to be almost immune to any technological aversion.

So, back to Saturday’s event…

While at the all-day hacking festival, something was shared with me… and it’s only just now hitting me.

We love this open data. It’s great and more and more of this public/government data is becoming open and available for everyone to plug into.

However, I was told what happens whenever one of these independent volunteers comes up with a great way to present and grant access  to these goldmines of information: The government responds by rebuilding the information tool internally, themselves. This results in the indie project being unsupported, and fading away, unfunded and unappreciated. There’s something about this that doesn’t make sense to me.

It’s not really about “fairness”. It’s about failing to recognize that the idea came from a method. Ideas like this usually grow from a fertile garden of even MORE ideas. It’s about encouraging this open data culture, speeding it’s development.

trystal

Finally, just wanted to highlight Trystal.net, which is based on the speedy node.js, this text editor is… well…  how does one glorify a text editor? Well, after playing around with it for a bit, I’m pretty excited about the direction it’s going. Document writing in a more procedural fashion. No more scrolling through pages of documents and re-organizing content is super simple with tried and tested keyboard shortcuts. Super efficient document creation / conversion. Looking forward to seeing where Terry takes this.

Don’t take my word for it.  If you are feeling adventurous, create yourself an account and Open file -> my files -> home … then play around a bit after reading some of the docs. It won’t take more than a few minutes to get comfy with this way of document creation.

Vector Math for 3D Graphics and Animation

2014-01-27 09.32.05First, I’m not a “graphics programmer”. I do quite a bit of scripting (Maya’s MEL scripting language) and enter dozens of expressions (Houdini), but have never compiled a single line of C++.

I was never a big fan of math, especially algebra (grammar = yuck), though I did breeze through my Geometry class. I survived a decade working in the 3D animation industry working as a rigger, technical artist and production technology lead and only implemented a little triangle math only a handful of times. *note: This does NOT mean you should skip out on getting a proper understanding of Euler rotation orders and gimbal lock, if you want to be a good character TD.

Though no one needs to understand 3D math in order to become a 3D artist, even some digital sculptors realize the importance of a little trigonometry. Having an elementary 3D math base gives an artist a better understanding of the ‘why”s.

So, since I don’t remember too much of my high school math and never took a single trigonometry class (I’ll blame the education system), I eventually realized that if I was going to produce anything jaw-dropping, I was going to need to study up a bit…

…and luckily the internet has the answers!

Where to start?
There is a boatload of free online courses available to those willing to learn from text and videos, but mathematics is a massive world and it’s difficult to figure out where to start. For those that have completed highschool (maybe even just 10th grade) and are interested playing with some bit of 3D code, here’s some items I found quite useful. Keep in mind that most 3D animation software packages will include tools (commands, expressions, functions, etc.) that will do the math for you. Remember to search the documentation!!

vectors
If you have a line, what direction is it pointing? If you have an object in space, what direction is it moving? This is your vector. The length (aka “magnitude”) of a vector can tell you it’s speed. A normalized vector is always 1, and is useful to apply to other operations. You can subtract two vectors and you’ll get another vector which tells you the direction from one vector to another. More examples with images on MathIsFun.com.

cross product (aka vector product)
a × b = |a| |b| sin(θ) n
I have two vectors and I want to find another vector that is perpendicular (90 degress) to these two vectors. The cross product of the two vectors will help. It’s useful if I have a plane and I need to know the surface normal to the plane. For those using particles, this tells us the direction that particles would travel if we are emitting from the middle of a surface. BUT, be careful, the direction of this newly calculated vector depends on what order you specified a & b. This is where the dot product comes in very handy! More cross product details on MathIsFun.com.

dot product
a · b = |a| × |b| × cos(θ)
If you have two vectors, the dot product will tell you if the vectors are moving in the same general direction (greater than 0) or moving in two completely different directions and will never intersect the same plane (less than 0). If you have just used the cross product to find a perpendicular vector (like a surface normal), you can use the dot product to see if the if it’s facing the right direction (up?). More info on MathIsFun.com.

For video explanations, Khan Academy has a great section on vector dot and cross products or trigonometry and precalculus if you already have a basic understanding of geometry.

Here’s a list links to more information on vector math:

So what’s next?  Perhaps some matrix calculations? Maybe linear algebra via MIT’s online course or N.J. Wildberger (known for “rational trigonometry”).

Finally, checkout this list of free technical online courses, including programming.

Thanks to Les for the inspiration to catalog my findings.

Technical Online Courses for Free

codecademy.com – Walks you through programming languages like jQuery, Javascript, HTML/CSS, Python, Ruby and PHP.
Online Math Learning.com
Interactive Mathematics
CosmoLearning – Subjects include math, science, economics, law, medicine, etc.
coursera.org – Learn from 595 courses, from our 108 partners.
academicearth.org – Online college courses from Carnegie Mellon, Yale, Stanford, etc.
MIT’s Open Courseware
codebymath.com – learn math while coding
code.org – Tutorials for beginner programmers and also includes links to other training games like Code Combat(Javascript), Code Avengers, Lightbot, Grok Learning, etc.
N.J. Wildberger’s Math Foundations and Algebraic Topology series, or his popular Rational Trigonometry (to avoid sine and cosine).
FAQ for computer graphics algorithms
There’s lots of stuff out there, as demonstrated w/ “20 great math sites for students and teachers” .

Gource – Data Visualization for File Tree Manipulators

Gource is a bit of open code that creates time lapse videos to visualize file trees being created.

© 2024 Jer's Life

Theme by Anders NorenUp ↑