I've been using Processing and 5js for almost a year and I can't even explain how good a teacher you are, if only you did all computing topics such Software engineering and data science. You'd make university a breeze for 90% of students!
Yes, but i would argue that most professors, if they had a lot of freetime (e.g. as a youtuber), would be equally as good at teaching. stress is a big factor.
@@user-zu6ts5fb6g True, however someone reading from a slideshow he made 4 years ago isn't really worth paying £9000/yr for lol. That being said, I do have some great tutors aswell!!
I've just bought your book The Nature of Code and I am planning to eat it from cover to cover while I am taking Computational Mathematics and Programming 2 at university. Thank you man you are the best!
i have been learning from you for quite some time , what i love is when you are talking about some topic and along the way you seem to have videos about a closely related topic . and when i am watching that video you have another video about another closely related topic .
I don't know why I came to this video.. But it was really interesting to know the concept in depth.. I don't even know javascript yet but stayed till the end of the video ♥️ Literally never enjoyed a coding video this much♥️♥️💯
I'm from Italy and I just bought your book "The nature of Code". I hope to follow this playlist, cause i'm studying Computer Science for Software development in Italy, so I'm so interested... You are a great educator!!!
@@leo848 i live in a region where quarantine has not yet been arranged. But I'm avoiding leaving home so I'm quiet ... I spend time programming and netflix hahaha
Love the explanation. Very clear. When I was younger I found it helpful to conceptualize vectors AS an actual point, but with math functions to extract the information about direction, magnitude, distance, etc Because when I was trying to take my algebra knowledge of a vector and apply it to programming, it ended up looking like: struct Vec2d { float magnitude; float direction; }; But luckily my mentor at the time set me straight quickly. But since I was learning the concepts of OOP and encapsulation, the idea of a Point having encapsulated behaviors for distance, direction, etc just made more sense naturally. Maybe a useful insight for any teachers of younger people. Edit: Kate Gregory has a great talk about this at one of her CPPCon keynotes. People naturally understand objects-teach objectly
whenever i see that bubble class my mind goes to "what does it mean to be a bubble?!" :))) anyways, thank you so much for all the fun classes. i think i watched everything you posted on p5 and now i'm having a rewatch :D
It’s important to note that lists of numbers and arrows in space are BOTH vectors, neither are more fundamental than the other. A vector is really a super abstract idea, they are any set of objects which satisfy a certain collection of properties. It just so happens that arrows in space and lists of numbers both satisfy the necessary properties to be called a vector, and so they are both the same thing.
The way you teach us is funny, amazing and mesmerizing. The explanation you give is just awesome. And thanks for the free to read book. It really helps. ♥️
Please explain your video indexing scheme. I see this one, for example, begins with 1.1. All your videos are numbered, yet for the life of me, I can't make sense of this. Please point me to or make a video on what we are to make of this and how it's relevant to your content. Thank you very much.
Well, not Daniel, but: Usually, teaching series like this one has the form: X.Y.Z. Where X is the chapter (like Vectors on this one), Y is the video inside this chapter (like introduction, summing, subtracting, rotating, etc.) and Z stands for the video part (when it has more than one part, like first we do basic things, then we improve, add colors, etc.) Coding Challenges are "spare" videos on specific topics, started trying to code stuff with given time and then evolved to doing interesting things. The Coding Challenges are just sequential numbered #123 and sometimes it has two or more parts (thus #123.1 and #123.2) Correct me anyone if I am also misunderstood x)
Very nice. Was doing pretty much the same thing as @11:00 couple of days ago, would been perfect to see this video then hehe. I wanted to rand movement using vector in C++ and took the same approach as you did here but turned out it had to be a bit different(Couldn't solve it without looking it up :/ ). pos.x=2*(float)rand()/(float)RAND_MAX -1; And same for y.
*Physics vectors are important for game dev because velocity is how game objects move. *P5 Vectors store X and Y components rather than direction and magnitude. *var varName = createVector(xComponent, yComponent) to create vector obj
Using vectors and drawing from your random walk and particle system examples, I have an idea for another code example. Simulate the spread of a virus, including options for the effect of lockdown. I quite like the idea of the reducing the alpha value as the walker ages.
Not sure but aren't the 2 versions of the program not the same? If you use random adds to x and y then your new positions will be square relative to the origin. So +3 to both x and y will get you a 45 degree angle with a length of ~4.2. Whereas with actual vectors a 45 degree angle with a length of 3 will be a length of 3.
Hey Coding Train !! That you make it’s so very interesting, but I am a French People and... I don’t understand that you speak . In your other video, I see that subtitles on your other video . Can you put too on this video of nature of Code please for people French like me . Thank you very much I’m sorry if my English is bad or not
Here's the thing that I don't understand; if the magnitude is the "hypotenuse", then it would seem that the magnitude of a vector is intrinsically tied to the x and y position. There would be no way to increase the length, or magnitude, of the vector without also changing the x and y components. Is there something that I'm misunderstanding?
I think he meant that you can move the vector without affecting the magnitude. For x and y component you need to substract the final X to the inital X (the same for y) values, so that you can move your vector and keep its magnitude. hope it will make sense.
he did the same thing in Processing years ago. see here ru-vid.complaylists?view=50&sort=dd&shelf_id=6 most helpful and enjoyable lessons i've ever seen :) he's redoing this in p5 js now, so probably there's not many processing videos in the near future ;)
He's using p5js, the javascript version of processing, and running it on a webpage. If you want to use processing I found a way to use it as a java library on stack overflow(stackoverflow.com/questions/21309851/use-processing-in-java-application). Then you can just use atom to editor your java project and run it using command line.