Show HN: First WebGL app. Uses NOAA data to visualize storm paths back to 1848.
callum.com
callum.com
I have problems however to understand the details of the API. Let us see an excerpt of the code as an example.
this.geometry = new THREE.SphereGeometry(this.planet_radius, this.planet_geom_segments, this.planet_geom_rings);
this.geometry.computeTangents();
I have no clue why for example he calls "computeTangents" right after he builds this "Sphere"-object. What are "Tangents" and why do they need to be computed now?
The entire script is like that to me. Statements that make the library do the right thing, but the intention on why they are necessary at this step of the way are left out. I have no idea how I can get a hold of that knowledge.
Does anybody know where I can learn that? Because if you look at the code, you have no idea WHY it is done that way, which is a barrier to creating things like that myself.
TL;DR: What theoretical background knowledge is necessary to build apps like that?
There are a number of three.js specific tutorials out there - Google will find them for you - that will give you a simple app to play with and then it's just a case of experimenting, asking targeted questions and having fun :)
For me, the beauty of this approach is that all I need is my browser and an editor - make a change and hit reload and you see the results vs the more traditional edit/compile/link/run that I'm used to.
http://www.nhc.noaa.gov/pastall.shtml
The final step was transforming into this JavaScript file:
http://callum.com/sandbox/webglex/storm_tracks_webgl/js/stor...
The process likely involved reading an XML or CSV file from one or several datastets and generating that file.
I'd love to be able to draw some shapes and stuff...
The #three.js IRC channel on FreeNode is also full of friendly, helpful people - works best if you have a specific question though.
I'd also like to rotate/zoom to the right location is a single storm is selected - Katrina or Sandy for example.