Truly earns his title of "Bob Ross of programming".
@aram2855 жыл бұрын
his new title you just assigned to him.
@alastairlocke46215 жыл бұрын
Which I like
@KundoKun5 жыл бұрын
random = happy accidents
@amogh32754 жыл бұрын
"Blob Ross" Sorry i had to
@JonathanChute5 жыл бұрын
14:20 - you eluded to an interesting challenge. You should create a program that creates a font based off of this noise so that each time you write down the letter "o" for example you'll get one of these subtly off circles that is constantly different, and then extrapolate that to the entire alphabet so when you type in your keyboard you get the computer "handwriting" your sentence. Each letter would look unique, similar to handwriting, whereas fonts each letter is made exactly equal.
@TheCodingTrain5 жыл бұрын
Love this idea! You should make it!
@flameofthephoenix8395 Жыл бұрын
Well, this would be great in a video game or something like that, you wouldn't be able to use it as easily for messenger apps, of course you could have it to where it has each person see a different variation of the same text, and no one would likely notice.
@АндрейБогданов-о1г5 жыл бұрын
Love your channel. At first it felt to me as "obnoxious youtuber tries to teach basic programming techniques to people who never tried programming". But later you did such an amazing job with some advanced algorithms like quadtree and some machine learning you've earned a lot of my respect. Keep up the good work, dude!
@NatetheAceOfficial5 жыл бұрын
It's dark in the room, quiet. Daniel stirs slightly in his slumber. Suddenly he is sat bolt upright! "Perlin Noise!"
@markimoop94165 жыл бұрын
It's never dark in the room whenever Daniel's around.
@theromancheezit79825 жыл бұрын
lol this sounds like a creation myth
@remcodejong26515 жыл бұрын
The edits in this video are sooooo good!
@mehdiikbal12445 жыл бұрын
Love from France Dan! You are so inspiring and positive. I began coding thanks to you and it was the best thing that could happen to me. Merci beaucoup!!!
@marcoronzani71975 жыл бұрын
Unbelievable, i needed this kind of thing right now for a project i'm working on, i was going to watch back your asteroids video cause i remember from there something similar, all in all...perfect timing, you are the chosen one!
@eideticex5 жыл бұрын
Never realized this was it's own concept. Used a very similar approach about 6 or 7 years ago to test attenuating light geometry. The renderer I was working on used calculated geometry to represent lights, everything from spheres, cones, toriods to exotic super shapes. After implementing improved perlin noise in HLSL, up to 4 dimensions I was itching to apply it all over the place in the renderer. One of the first things I did was sample noise space at each vertex of the geometry for the lights and passing that into my lighting equations as an attenuation of the radius. Made lights have the familiar imperfection we see in real life and when animated across time, made for very convincing incandescent light sources even though I kept the attenuation so small that the final image showed no more than a delta of 10 in RGB values. Didn't even occur to me while doing that, that I was playing with a rather interesting usage of perlin noise. Then again are there really any non-interesting uses of perlin noise?
@TechnicJelle5 жыл бұрын
I just started making an Asteroids game today! Loved the video! Thanks, Dan!
@waynewedge5 жыл бұрын
Very inspiring. Thank you. Once again, I need to go and program my brains out.
@Cosmoandcracker5 жыл бұрын
Dude, I am watching your videos for a while now, and i have never seen someone with this kind of sunshine-happyness while coding. Your videos are great! Keep it like this. Awesome work!
@DodaGarcia2 жыл бұрын
Perlin noise is so awesome, I love learning more about it from this channel
@edwinjones1343 жыл бұрын
Best teacher on the internet
@drsmek2 жыл бұрын
I love how I found this video and it actually helped me solve a problem I was working on 😅
@MahBor4 жыл бұрын
You're such an amazing teacher. I finally understand what 2D perlin noise means.
@ericschneider49195 жыл бұрын
This is fantastic. Cyclic noise feels like the kind of thing a lot of people have wanted and I didn’t realize it existed without summing some sort of time-shifted noise function or some other mumbo jumbo. This is a super elegant solution! I’m wondering if circles would be any better than, say, a square in this context. Surely any closed loop would have this property, but intuitively it feels like a circle is the “most random,” even though something like a square is less computationally taxing. Also, it would be interesting to see what would happen if you put multiple shapes in a perlin noise “field” that acted as a displacement map. If you varied each vertex in a shape by the value of the noise at that vertex, i’d imagine you’d get a really cool effect by moving that shape around or varying the field in 3d. Anyways, great video!
@listeningcosmos2 жыл бұрын
Was struggling with this problem, thanks for the solution. Tried this method for my music visualizations and it worked well. Now I think I'll try to improve it by adding a sound reacting component to make it interactive.
@jakehenri96084 жыл бұрын
I am so glad you finally did this! I have been wondering about how to fix that blob for over a year now!
@kenan23863 жыл бұрын
How does he have all of that energy Keep up your work!
@porknwithbill5 жыл бұрын
I love how human and practical your code is. We don’t have to talk about the semi colons
@iamsushi10562 жыл бұрын
What an awesome video for inspiration! You could theoretically make a 3d random or self-avoiding walk through spherical coordinates (or a 2d polar random walk) and use that as the coordinates for your perlin noise to be able to just have so many random loops
@willb.7555 жыл бұрын
You channel is always so exciting! Thanks for all the great content over the years.
@NatetheAceOfficial5 жыл бұрын
The edits were so fun!
@Unplanted5 жыл бұрын
Kudos to the subtitler! Great work!
@aaronrothwell76155 жыл бұрын
This is a really fun one to add alpha clearing to, so you get blurred lines as the shape morphs. So instead of background(0) you would use color(0,0,0,25); rect(0,0,width,height); and this will draw a rectangle over the entire screen that is slightly faded out and because these are layered on top of each other each previous generation of line is more blurred out and so slowly transitions to black. Hopefully this makes sense, not sure how to format code in comments.
@wkool94305 жыл бұрын
Great video! You inspired me to make Snake (the game) in JavaScript. The twist is that i am not using any form of grid other than just the loose pixels... It's really close to being done. Thanks again for the inspiring video's
@aram2855 жыл бұрын
Polar Perlin Loops, part of a balanced developer’s diet. edit: oops I did a mispelliginationating but its fixed now
@ABaumstumpf5 жыл бұрын
But he didn't use Perlin noise.
@ABaumstumpf5 жыл бұрын
@Manan Karnik No, it is *not*. IN processing and p5js at the very least it returns a fractal noise - that is NOT Perlin noise. Fractal noise is a form of noise generated by adding several different noises together. In case of processing/p5js that becomes apparent when you look at the "NoiseDetail" function: It set the number and falloff for the used noise-layers. Perlin Nosie itself is a very regular grid-based noise with uniform feature size and smooth transitions. Adding several layer of that with decreasing size and amplitude gives the nice rugged result that resembles a terrain.
@aram2855 жыл бұрын
@@ABaumstumpf It was a joke k dude. Calm.
@Dalendrion5 жыл бұрын
According to the documentation, it's Perlin noise. processing.org/reference/noise_.html It is of course possible that the documentation is wrong. If it is, it's understandable where the confusion comes from.
@Wobbern5 жыл бұрын
You would be a great teacher! I can tell it on the way you leave the mouse in the middle of the images you want to show.
@prakharlondhe38765 жыл бұрын
he is a *professor*
@Wobbern5 жыл бұрын
@@prakharlondhe3876 and this was a *joke*
@alex_bc3 жыл бұрын
EXACTLY the information I was looking for! Thank you so much
@cellininicholas5 жыл бұрын
As well as changing the Z-Offset, could you also move the centre of the circle (that is sampling values in 2D perlin noise)? You could also play with that circle in other ways... Maybe use an oval and slowly change it's shape over time?
@paulusul5 жыл бұрын
Perlin noise is always positive That made me really happy :)
@mujaahidhaywood98435 жыл бұрын
I swear Mr Shiffman, you acknowledge every comment. Thanks for another intriguing video.
@TheCodingTrain5 жыл бұрын
I do miss a few!
@BIG_CLARKY4 жыл бұрын
This guy has crazy math/science teacher vibes
@hund44404 жыл бұрын
You can get a 2d tileable perlin noise texture by cutting a thorus through 3d perlin noise
@granteadie26163 жыл бұрын
you're a national treasure my friend 10/10
@markuzj.k94455 жыл бұрын
As always You made it very clear :).thanks.
@erumabo5 жыл бұрын
Man, I like emotion you put on this, you got a new subscriber.
@johnterpack39405 жыл бұрын
It looks like the perfect technique for modeling a realistic planet. Just apply the exact same technique to spherical coordinates instead of polar coordinates. Maybe add a couple octaves of additional noise or an underlying sine wave pattern to help create larger scale areas like continents. At any rate, it certainly gives me a better idea of where to start than anything else I've found. Thank you.
@scalarnomad93304 жыл бұрын
This dude is the best!
@DustinGunnells5 жыл бұрын
I don't know what you found here, but I'm still studying it. I think you found something extremely important on accident. That phase thing is incredible!
@JNCressey5 жыл бұрын
As the phase changes, the orbit of (cos(A+phase), sin(A)) over A morphs as follows: Phase=0: counterclockwise circle Phase=pi/2: oscillating along the straight line between (1,-1) and (-1,1) Phase=pi: clockwise circle Phase=3pi/2: oscillating along the straight line between (-1, -1) and (1,1) And between those, it is various elliptical shapes.
@JBahrsShiz5 жыл бұрын
First of all, you rock. Thank you for your videos. As a newbie, I feel overwhelmed, but inspired by your videos. I guess it's like someone learning to play the drums and watching Neal Pert thinking, 'I have a long way to go' and 'man, that's awesome' all at the same time. What is your advice to the noob? I am currently more than half way through the codecademy full stack web development course and plan to finish that, but was curious to hear from the community what "best practices" are recommend for new guys/gals.
@airxperimentboom4 жыл бұрын
I love this !
@Confuseddave5 жыл бұрын
I was thinking about whether you could make a seamless 2-dimensional texture (there was a video were you used Perlin noise to create a vector field and had particles flow through it, but it had artefacts at the edges where the vector directions would change abruptly). My first thought was to use the surface of a 3D torus to give a looping 2d texture in the same way you're using the edge of a 2D circle to generate cyclic 1D noise here. Then I twigged that the would cause distortion in the texture, since the outer edges of the Torus would sweep through a larger length of the noise pattern than the inner surface for the same angle. You could minimise it by turning the minor circle so it's tangent to the major circle rather than radial (so your torus would be flattened as if you sucked all the air out of it) but it'd still have a slight distortion to it unless you actually projected the circle onto the surface of a cylinder (sounds complicated, but probably just needs the coordinate calculations to come in the right order). Part of me wonders if it would be simpler just to write a Perlin noise class that interpolates smoothly between the edges, but that would limit the scale of the noise to integer fractions of the screen space, and might cause issues if you wanted to create images with odd aspect ratios.
@dejoker90425 жыл бұрын
Im 0 seconds in to the video and the like button is already pressed. Love your videos!
@pdutube5 жыл бұрын
The segment at 16:34 looks like the continent of Antarctica is morphing with Earth's rotation. Trippy. Another cool way to implement 3+ dimensions is to make the extra dimensions color based or sound based. Then a rotation/translation/etc., would change colors and sounds.
@TheCodingTrain5 жыл бұрын
Please try this!
@diligar5 жыл бұрын
What if, when moving through 3D Perlin space, instead of looking at circles in x,y with increasing z, you looked at circular cross-sections of a torus? Then it’d definitely loop :D
@creature_of_fur5 жыл бұрын
During your explanation I had another idea. What if we take 1D perlin noise, then take the end points, draw a line between them, and then shear the entire graph, so the line stays perfectly flat. Essentially, when we take the noise value, we subtract some amount from it. That amount ranges from the start point value at t=0 and the end point value at t=1. Just simulating it in my brain, I don't think it would be noticeable
@WildAnimalChannel5 жыл бұрын
I use 3d fractal noise to make mountains on the 2D surface of planets in my game I'm making. You're giving away my secrets!
@iamjimgroth Жыл бұрын
This guy is amazing!
@jolly89534 жыл бұрын
this channel is a real inspiration for stuff to do lol
@aryamankejriwal59595 жыл бұрын
Anyone else remember the debate about whether it was polar noise, perlin noise, polin noise or perlar noise?
@jazonjiao6385 жыл бұрын
Awesome! Finally fixed the broken blobby!
@d_v_d10705 жыл бұрын
18:03 in he plays the cards and lures you in with that oneliner, your passion for code ignites "if......the creative possibilities expl...." o yeszz :)
@slyer76955 жыл бұрын
Love from Italy ❤️♥️🇮🇹, #LoveFromItaly5
@topa94875 жыл бұрын
*give me the polar perlin noise LÖÖPS brother*
@vadsavin5 жыл бұрын
Do you remember your Perlin noise example with moving particles? Please, try to make the same staff but let particles move like drawing contours of input image.
@turnipzoxi28535 жыл бұрын
Chaotic good coding.
@kushagraverma94525 жыл бұрын
Nice editing!
@monochromatech Жыл бұрын
Hey I just found your channel and I love it.
@cielregister88285 жыл бұрын
good video Dan!
@devi_buns5 жыл бұрын
Your videos always inspires me ♥
@roykepoyke4 жыл бұрын
That is my favorite video of yours
@iwantedtohaveabigytnamepsi20075 жыл бұрын
Omg, that's so amazing
@ahmedsharif91933 жыл бұрын
Actually, negative values for xoff & yoff are supported in the p5 Perkins noise function
Nice video!! I challenge you to make a drawing predictor (simple neural network that calculates the next points locations from few starting points)
@КлипыипесниНОВИНКИ2 жыл бұрын
Супер. Вы крутой!
@АндрейБогданов-о1г5 жыл бұрын
If you want a repeating pattern why not use a sum of sinewaves with period of 1, 1/2, 1/3 ... etc? You will have way more controls (amplitudes and phases for each wave), not just xyz for perlin. It will also have better resolution.
@TheCodingTrain5 жыл бұрын
Great suggestion!
@АндрейБогданов-о1г5 жыл бұрын
@@TheCodingTrain not even "better" resolution. Basically infinite resolution. At least as far as floating point comes if sin/cos is implemented correctly. Depends on compiler settings :)
@SaifUlIslam-db1nu5 жыл бұрын
Is there any possible chance you can arrange to teach professors and teachers how to make animations like this? Your graphics really help to understand Mathematics and Physics. I think it would help quite a lot in the class room!
@JonDavies-Shiftbulk2 жыл бұрын
Continuously good videos. Can you do one with the polar noise mapping seamlessly to a sphere. it is tricky as you change the radius the polar mapping the noise texture distorts.
@TheCodingTrain2 жыл бұрын
Oh I would love to try this!
@jedmarshall2175 жыл бұрын
What if you moved where you were getting your perlin noise valises from, instead of moving around the circle? Say, having the circle trace around another circle in the perlin plain? Seems like this might be a cool way to add some more “randomness” to the space without having repeats before the end.
@СергейКучерюк2 жыл бұрын
Great video!
@DotNetRussell5 жыл бұрын
This would be cool to use to generate random terrain
@TheCodingTrain5 жыл бұрын
See: kzbin.info/www/bejne/f3ylYpuNjMqXg80
@perlindholm41295 жыл бұрын
Just a thought. If the problem is creating some function(a) = b. Could there exist a Problem-Focused-Number-System? I mean since there is more than one number system. There has to be a reason. Like there are more than one problem. All a little different. So maybe there exist a way to adapt to each problem that could arise in the creation path. Why should the system be set from the beginning is what I guess. Then if a machine learning model() can classify a problem it can jump between problem solutions.
@juschu855 жыл бұрын
12:48 No, you couldn't just split up a into two different variables and increment them in another way. Then you wouldn't end up at the point where you started in the 2-dimensional perlin noise space. Or I just misunderstood what you said you could do.
@VictorNascimentoo5 жыл бұрын
Do a next challenge on Hilbert Curves and other space filling curves :)
@franchello11055 жыл бұрын
seems like the shape of these perlin noise values might be different than the 1 dimensional ones. and depending what angle it might be a bigger or smaller step. Not 100 percent sure.
@monlewi19765 жыл бұрын
Perfect spin loader
@pinkierar_real5 жыл бұрын
Потрясающе
@Seb135-e1i4 жыл бұрын
So. You use one noise loop to make sure that the circle is perfectly closed. At the end you also introduced the possibility of a z-offset. Could you use 4 dimensional perlin noise, use dimensions 1 and 2 for the perfectly closed circle, and move around dimensions 3 and 4 in another circle with a z-offset and w-offset so that it creates a perfectly looping animation?
@darkfrei23 жыл бұрын
Can you explain how to code the *map* and *noise* functions?
@elyaizen5 жыл бұрын
Wow Dan. 👏
@DiamondSane2 жыл бұрын
A finical note is that these noise additions are not exactly 1d Perlin noise. It was not stated though. Anyway, nice video.
@crumblinggolem63275 жыл бұрын
Wouldn't 4-dimensional Perlin noise allow you to loop the changing blob by using the same process that you use on x and y?
@TheCodingTrain5 жыл бұрын
Yes!
@execskies42452 жыл бұрын
Now I want to see rolling Perlin noise
@채병욱-i4o Жыл бұрын
/** 적외선 센서에 물체가 감지되면, 시리얼 모니터에 "Detected"라는 문장을 출력*/int sensor = A0; // 센서핀은 A0번에 연결int val;void setup() { Serial.begin(9600); pinMode(sensor, INPUT); // 센서값을 입력으로 설정 Serial.println("arduino starts");}void loop() { val = digitalRead(sensor); // 센서값 읽어옴 if (val == LOW) { // IR센서는 LOW ACTIVE로 탐지 시 LOW값을 전송함 Serial.println("Detected"); delay(300); } else Serial.println("0"); delay(300);}
@poplikes2 жыл бұрын
brilliant!
@hendasheng3 жыл бұрын
thank you for your help:)
@praveshgaire34375 жыл бұрын
Never though noise would be that useful
@ibrahimsyahzairussalam5 жыл бұрын
Please make visualization of blackhole using its formula, like interstellar
@kreuznachpham12085 жыл бұрын
Amazing. Thank you so much
@pluffcrock34382 жыл бұрын
21:35 that shooting sound resonates in my nose
@georhodiumgeo98275 жыл бұрын
Did he just project 3D, 2D perlin noise into a 1D line projected onto a 2D picture taken into the third dimension! I am happy this didn’t cause the universe to explode but I don’t know how much more of this it can take!
@valseedian5 жыл бұрын
Periodic sequences repeat at known intervals; or, misidentifying randomness: a short tutorial.
@ABaumstumpf5 жыл бұрын
I have said this on several of your other videos - but this is *NOT* perlin noise. Processing, p5js and several others might call it that, but this is a form of fractal noise - several layers of smooth noise of different frequencies added on top of each other. Also - Perlin noise is inherently closed. If you set the correct scale you automatically get your desired perfect closing loop. This also works for creating 2D perlin noise and making it tileable.
@TheCodingTrain5 жыл бұрын
Thanks for the feedback! From what I understand, the implementation in Processing is "classic Perlin noise" from 1983. I agree that I could be better about being clear about this. Actually I'd love to make a video that shows the differences between this classic "VALUE" (?) method vs Simplex vs Perlin. It would be wonderful to have a Processing library with these different implementations. Maybe this can be a Coding Train project!
@ABaumstumpf5 жыл бұрын
@@TheCodingTrain " From what I understand, the implementation in Processing is "classic Perlin noise" from 1983." the noise-function of processing is giving you a fractal noise. It might very well be using a form of Perlin-noise internally to generate the octaves, but what you get is certainly no longer Perlin.
@AuraVFX2 жыл бұрын
how do you make the noise loop follow a certain shape like the heart you showed in the start