If I want to be famous, It'd be because I want to tell the world about this life saving series.
@thejetpackwaffle9815Ай бұрын
Thank you for the tutorial! I'd known I had to do something like this for a minute, but I wasn't sure how to put it down. This explains it well!
@MSouzaGameDev2 ай бұрын
lots of years later and that is still really relevant! great video.
@alexi27063 ай бұрын
You're a genius!
@jamjam34484 ай бұрын
thanks a million. I was solving a leetcode question on weighted probabilty. Your video helped a ton
@_iqbal_bagwan65654 ай бұрын
Still referring to this playlist in 2024
@SwapnilSoni4 ай бұрын
found this gem 1 year ago and started learning this week I'm glad the internet took me here <3 thankyou for making this legendary content as I see from channel it was uploaded 10 years ago can we see some more videos please or maybe do you mentor? I'd like to be your student :3 haha
@Silas_standley4 ай бұрын
WHEN ARE YOU GOING TO ADD A VIDEO ON ANGULAR CONSTRAINT LIKE THE LEGS ON THE EXAMPLE AT THE START OF THIS ONE
@blissful45 ай бұрын
I never thought that last part still existed in YT 10 years ago... Lol history repeats itself?
@tdnr5 ай бұрын
Hi I'm not sure if you'll reply but would you mind explaining where point.angle and base angle come from? What are they?
@seymurhamidov60915 ай бұрын
Great explanation ! Instant 👍 Like!!
@aleksdizhe5 ай бұрын
Guys who watch this channel today - where do you use stuff that you learn about on this channel?
@hththgrsgrg-e7pАй бұрын
Game dev though it could be used for plethora of other things as well from 3D animation, physics simulation etc.
@aleksdizheАй бұрын
@hththgrsgrg-e7p thanks!
@TheFingledorf5 ай бұрын
Here's code for a bouncing balls in colors: window.onload = function() { var canvas = document.getElementById("canvas"), context = canvas.getContext("2d"), width = canvas.width = window.innerWidth, height = canvas.height = window.innerHeight, particles = [], colors = [], numParticles = 100,// + Math.floor(Math.random() * 30), p = particle.create(width / 2, height / 8, 8, -Math.PI , 0.5); //Math.random() * Math.PI * 2 p.radius = 40; p.bounce = -0.95; //particle will lose 10% of its velocity on a given axis on each collision for (var i = 0; i < numParticles; i++) { //create(x,y,speed,direction,gravity) /*start at bottom of screen; speed btn 5-13 (0-1*8+5); straight up + plus or minus (0-1*whole - half: range of -0.1 to 0.1) ; some gravity*/ var p = particle.create(width/2, height / 2, Math.random() * 8 + 10, -Math.PI / 2 + (Math.random() * 1.5 - .75), Math.random() * .2 + .3); p.radius = Math.random() * 15 + 5; particles.push(p); var randomColor = Math.floor(Math.random()*16777215).toString(16); colors.push(randomColor); } update(); function update() { context.clearRect(0,0,width, height); for (var i = 0; i<particles.length; i++) { p = particles[i]; p.update(); context.fillStyle = "#"+ colors[i]; context.beginPath(); context.arc(p.position.getX(), p.position.getY(), p.radius, 0, Math.PI * 2, false); context.fill(); //bounce off edges - lose energy each collision depending on p.bounce amount if (p.position.getX() + p.radius > width) { p.position.setX(width - p.radius); p.velocity.setX(p.velocity.getX() * p.bounce); } if (p.position.getX() - p.radius < 0) { p.position.setX(p.radius); p.velocity.setX(p.velocity.getX() * p.bounce); } if (p.position.getY() + p.radius > height){ p.position.setY(height - p.radius); p.velocity.setY(p.velocity.getY() * p.bounce); } if (p.position.getY() - p.radius < 0){ p.position.setY(p.radius); p.velocity.setY(p.velocity.getY() * p.bounce); } } requestAnimationFrame(update); } }
@taylozen5 ай бұрын
im working with a different language but this helped me so much ^^ you explained everything very well while keeping my attention, even with my adhd lol
@Haoyu_xD6 ай бұрын
this course is almost as old as me lol
@rishitchakraborty18457 ай бұрын
This was so good thanks, but I was wondering, what if I want the percentage to be exact, like the demon should appear exactly 10 times out of 100?
@aylazer237 ай бұрын
I'll be forever grateful for this channel. I hope you're fine
@onkelhoy17 ай бұрын
Wow coming back to this after all these years, i dont know why you suddenly dissapeared but i hope everything is okay, thank you for your amazing content!
@letsgetto1millwithoutvids8 ай бұрын
Very clear easier to understand now I understand how weighted random works and was trying to figure it out thank you still getting my head around the for loop you softcoded it to subtract the chance value
@hugurs23968 ай бұрын
I love you bro🥲
@dr.supriyasharma25358 ай бұрын
Thats all particle js is built on
@TheFingledorf9 ай бұрын
Thanks Keith! Still using 10 years later!
@connies_slice_of_life10 ай бұрын
so helpful, thank you so much!!
@stuffonstuffs80410 ай бұрын
Thank you for this, been reading about BezierCurve all day and stumbled upon this jewel.
@lady_deaths_head11 ай бұрын
Very very useful video, thank you for providing
@rismorismo11 ай бұрын
So good presentation!!! Thanks!
@kashoo2502 Жыл бұрын
Hi sir, I want to take classes on this Math from you directly. How to contact you!
@louco2 Жыл бұрын
Tank you got taking the time to do this video! Really good
@DrTWG Жыл бұрын
I got used to using constructor functions , then putting methods on the prototype , then using 'class' , then adding static methods to return new instances from different parameters & now I've got this - aaaaaaaaaaaaaaaaaaaaaahhhhhhhhhhhh ! Thankfully they are not that much different from each other ! This series is excellent. Thanks .
@Dragon20C Жыл бұрын
The point seems to never actually stop, hmm
@Infiniband11 Жыл бұрын
thank you.
@lostinthefaq Жыл бұрын
This channel is oustanding! Really great to learn the basic math for generative art
@gdimmortal Жыл бұрын
This guy is doing dev God's work
@natgazer Жыл бұрын
Cooool!!!
@amol9976 Жыл бұрын
“they(numbers) aren’t sacred” absolutely
@Mattipedersen Жыл бұрын
I can't count how many times I've gone through this series, but every few years, I'll go through it again, since it is such a great primer.
@pelegsap Жыл бұрын
2:23 doesn't really apply when you live in Germany (or Austria and Switzerland for that matter)🤷🏼♀️
@monke2220 Жыл бұрын
truly a verlet integration moment
@swat37 Жыл бұрын
Excellent demonstration.
@TheFingledorf Жыл бұрын
Heh, when I saw "Euler Method" I was like, "Wait, like Euler Integration?" Turns out, yep. ;) I only knew that term (besides Euler angles from elsewhere) from a Gaffer on Games article; I was linked to it on the Unity forum after having trouble with using SUVAT equations in Unity (following along in a Sebastian Lague physics video series), and I got about halfway through the article before giving up. :P Out of my league for now unfortunately.
@nikolazagorac8634 Жыл бұрын
Great stuff, hope you make new videos
@thinkandmove479 Жыл бұрын
I understood, that the error of the sticks-adjustment propagates through the rectangle. Would it help (in addition to what you propose as a solution), to update points and sticks in a random order?
@thinkandmove479 Жыл бұрын
That "Say may name!"-part spoke out of my heart. 🙂
@thinkandmove479 Жыл бұрын
BTW: it's not "Runge-Kutta" with 'g' like in 'geography', but with 'g' like in 'go'. 🙂
@ehsankhorasani_ Жыл бұрын
WOW I was looking for a such a course for years
@ColBaek Жыл бұрын
잘봤습니당.
@GuidoAmabili Жыл бұрын
This is indeed wicked pissah, thanks a lot Keith.
@wallabra Жыл бұрын
Ropes, pinning... where is this physics simulation going??? O.o
@UXER260 Жыл бұрын
how do you get the ball to stop bouncing? because in theory its energy should become less every bounce but will never actually come to a true stop.
@pashute12 Жыл бұрын
gamasutra redirects and goes to a dead link... tried to search for the page, couldn't find it... :-(