Live Stream #79: 3D Earthquake Data Visualization & Steering Behaviors

In this episode, I follow up on the Earthquake Data Visualization challenge ( and create a 3D version. I also discuss steering behaviors and attempt a coding challenge that renders text with animated particles. I also show work from the community.

7:05 – Presenting work from our community
16:00 – Presenting today’s topics
37:41 – 3D Earthquake Data Visualization
1:53:53 – Steering Behaviors Coding Challenge
2:27:00 – Conclusion/Q&A

Support this channel on Patreon:

Send me your questions and coding challenges!:

The Coding Train website:

Links discussed in this video:
Randomizer: and
This Dot Song:
Spherical Coordinates System on Wikipedia:
USGS Earthquake Data:
Cross Product Diagram:
Natural Earth Texture Maps:
Nasa Earth Maps:
Nature of Code Steering Behaviors Playlist:
Craig Reynolds’ Steering Behaviors paper:
Rebecca Fiebrink’s Wekinator:
Siraj Raval’s Youtube Channel:
Deep Learning with TensorFlow on Kadenze:
Rails Girls Summer of Code:

Work by the Coding Train community:
Meiamsome’s Coding Challenges:
Guillaume Pelletier’s Animated Flower:
Rach Smith’s Gravity Painter:
The Coding Train Game:
Jacob Foster Cube Wave:

Source Code for the all Video Lessons:


For an Introduction to Programming:
For my Nature of Code videos:
For More Live Streams:
For More Coding Challenges:

Help us caption & translate this video!






27 responses to “Live Stream #79: 3D Earthquake Data Visualization & Steering Behaviors”

  1. Joao Espanca Bacelar Avatar

    This will correct the GPS positions :

    theta = radians(lat) + PI/2;
    phi = radians(-lon) + PI;
    // and after beatenkevin1995:
    x = r * sin(theta) * cos(phi);
    y = r * cos(theta);
    z = r * sin(theta) * sin(phi);

  2. Daan Hegger Avatar

    There is no documentation about textToPoints. I noticed it gives you an error when I put a space in the given string. Is there a way to add a space to a string as argument?

  3. Ahmd Ashi Avatar

    whats with the bg music

  4. GreenCell Avatar

    Wow! I actually did a sketch a while ago similar to the one seen here to make particles to text. Funny enough I used Dan's Nature of Code as a reference when I did it. Feel free to check it out!

  5. ComedyGuy Avatar

    Hey Coding Train
    I love your videos they are really helpful and give me a good idea of coding. In your series "Coding Challenge" I have a idea
    for one of your videos. Please try to make a application where you can pick any 3d shape and then select size and
    other small details like little bumps and then put them into your shape. Then you can hit a button and measure angle,
    ratio, circumference and more. I hope you get the idea of what I'm talking about.

  6. Joao Espanca Bacelar Avatar

    Very important what you're doing here. Thanks. Helping a lot and spreading the enthusiasm.

  7. DarkG0d Avatar

    Dam I missed =/

  8. DarishaSelivan Avatar

    A train of code is a pretty sweet name for you channel 🙂 Has a ring to it hehe

  9. Oi Veh Avatar

    Be careful. if you broadcast into the void the void may broadcast back into you

  10. Jonas G Avatar

    You can use the browser addon Pushbullet to share links etc between devices

  11. Toxicz Avatar


    There's code completion in processing? Really? Didn't know that.

  12. Federico Pozuelo Avatar

    Daniel thanks for all! you are Big my dear!

  13. Krishana Khatri Avatar

    I taught he was 20 years old.

  14. Max Scribner Avatar

    You grok my quaternion plight

  15. Simon Avatar

    We want more games please <3

  16. Jas Avatar

    I followed the whole stream for the 3d earthquake mapping but I am having trouble aligning the earth texture the the lat and long. Any help would be apreciated

  17. Sharad Choudhary Avatar

    Dan! You're an inspiration! I don't have any coding background…but i started learning coding only because you were teaching…About a month back i had asked you what all software you use to record your videos…you had suggested me to use greenscreen and OBS to start with …and with your recommendations i've recorded my first video:

    It isn't nearly as good as yours are….but your student is learning from you…

  18. Karsten Fuhrmann Avatar

    Hey Daniel you could use Synergy to copy links from your slack machine to the other one. Have a look :
    Synergy allows you to use the same mouse and keyboard on multipe machines.

  19. Luke Charles Avatar

    No live comments section?

  20. collerblade Avatar

    I dont know who "invented" this processing 3d, but leave it. It is all handy-dandy for a couple objects, but it fails in modern cpu/gpu hardver so much. You stuck in 1995 with opengl 1.1 like api. This is good for toying with some idiot viewers. This makes u belive that u are cleaver, but achives nothing more. There are many problems with p3d:
    – not forcing but advising immediate mode drawing like (sphere, box, …)
    – on ever draw call recalculating all transformations like positions rotations soon. This should be stored in an array (as a 4×4 matrix each). In todays world memory is cheap, cpu time isnt. Rotations for example involves sin/cos functions and matrix multiplications, these are expensive as hell.
    – in this bad system almost all command modifies global state. This hurts my body so much. This is a MUST NOT DO.
    – p3d has no render target feature, so a simple buffer-shadow cannot be implemented
    – also laks custom vertex format, only position, normal, uv supported.
    – any optimization is up to the programmer. But also prevents it to by hiding low level interface.
    – color() with 1 parameter is total unintuitive. It is for total lasyness.. or i dont know…

    If u want to toy with 3d use unity or ue4 or something else. Those are at least optimized for drawing 3d scenes.
    Todays processing units (cpu and gpu) is best used in paralell workflow. Do not use any api like p3d, it is a BAD PROGRAMMING HABIT. Try to minimize global state changes in your code, and cache all results in memory if possibile. You are teaching bad habits to these young, unexperienced programmers who are amazed by this…

    And last but not least: stop laughing on yourself at every five second. It makes u looks stupid.

  21. FloorManiac Avatar

    I hope i can view this later, I need to go pick the kid up from school.

Leave a Reply

Your email address will not be published. Required fields are marked *