I dont mean to be offtopic but does any of you know of a tool to get back into an Instagram account?? I was stupid forgot the login password. I would appreciate any tricks you can give me!
@Raylan Decker i really appreciate your reply. I got to the site thru google and I'm waiting for the hacking stuff atm. I see it takes quite some time so I will get back to you later when my account password hopefully is recovered.
I really hope there are people here that haven't yet heard about Sebastian just so that they may now have the pleasure of finding his content for the first time. This channel and his are what keep me invested in programming as a form of expression.
I followed along with this. I've been "coding" as a hobby since 1983 (when you had to do a little coding to even get a PC to work). I gave up trying to keep up with the latest programming languages around the late 90s - early 2000s, although I am a C# fan (don't hate me--it's cheap). I'm a salty old man, now, but I appreciate your content. You make programming fun again. This one was especially fun--Marching Squares/Cubes is a concept I'd never heard of. Still, the potential applications (such as the mentioned Sebastian Lague's excellent series on cave generation) interested me. I tried doing some of the further challenges here and figured out for myself an algorithm for linear interpolation. It took me two days, but it was great fun. I had so much fun that I joined. Thanks, Dan.
My aversion is spacing, to me spacing elongates code lines and makes them harder to read. Anytime I am trying to understand some bit of someone else's code I first delete all unnecessary spaces. Spaces bad.
@@zebratangozebra for me personally it makes it a lot more readable, as i then can often look at a block of similar code as a whole and see what's going on in it, instead of having to go through every line separately. For small stuff like this it usually isn't a problem, and i don't always do it, but when the lines get really long, i do it a lot.
@@zebratangozebra in many coding languages I think you can have a code internal line break. And with those you can make pretty consistant looking code with some automatic formatting tools. E.g. they make you use shorter lines, or format it like that. Yet in principle you could still discuss about if you want to have spaces or not at all. I think I'd opt for spaces. Easier to read
"Is there a more efficient way than writing a line of code for each possibility? Possibly" vs "We're writing it this way, not for efficiency, but for understanding"
Writing it this way is the most efficient because it allows you to use a switch statement. You can find a way to write it with fewer lines of code but that won't make the code faster since you will undoubtedly require several nested "if" statements which are much slower than one big switch statement.
@@jensBendig If you were going to go down that route a hash-map would likely be better since you could map each value to a solution. either way you are going to have to declare all those solutions at some point, it's just a matter of whether or not the switch is making the code less readable. (In a better editor such as vscode you could just hide the logic in the switch statement too which could be a nice solution)
@@bradfin12 I like you. At least I like this attitude. Terry Davis made an interesting remark about Switch statements, too. Not sure if it applies in something as high-level as Processing or the JS-Processing, but whatever.
@@rabbitcreative Im not 100% sure but i think Davis would prefer fewer lines of code. Davis had two goals in mind when writing code: beautiful simplicity, and small file size. When doing large switch statements that process every case in the most efficient way is a somewhat ugly way to code and can increase file sizes which doesn't matter to most programmers but it would certainly matter to davis who wanted a divinely lightweight operating system.
WOW WHAT A VALUABLE VIDEO AND I LEARNT MANY THINGS FROM THIS VIDEO AS WELLAS FROM THIS CHANNEL. I WOULD LIKE TO RECOMMEND THIS CHANNEL TO MY CODING FRIEND
Not only that. I guess estetics can also have an impact on readability. Especially when having long fragments or even those that break lines within expressions. Those are kind of making a mess readible. Just wonder how they would look like if you mix in random spacing. Sometimes yes sometimes not. errr pretty sure I wouldnt like it
One time I had another dev almost screaming at me for doing that 🤣🤣🤣 (I am still doing it :) and blabla you folks 'its harder to maintain', sure, but it's so much easier to read!! )
Daniel, I follow you since 2016, I found out about you at the start of my most productive phase of my life, first year of the university, you tought me so much, without you I would not be the same person whom I love. Great work as always, thank you so much.
I kind of liked when the mic was in the table and I could hear more of the background noise. It made me feel like I was there in the Cabana too. Great video, as always!
First, I started with GML. I saw your name on a youtube channel, I looked one of your vid. Two. Three, four, five, and so on. the addiction begun. I was planning to make some short video game (and a little bit of teaching). I'm actually trying to do art, "paint", fractal, and music with processing, and most of all, you made it fun to me. You're god teacher, thanks you. And great kisses from Belgium !
Thank you so much for existing, your videos, your voice, your way of explaining and everything in between is so calming and wonderful. Thank you for the things you do for this community.
I have also recently started aligning my code by argument. It makes the intent so much clearer and much easier to figure out why my code is broken. It looks beautiful, thanks for another awesome video!
This is so awesome! I love your videos, somehow they make me relax after spending hours coding for work. The way you make math, geometry and coding so approachable and fun is unique, congrats!
Thank you for making videos like these. They're always about something new and interesting to learn while not being too large in scope. They also make me really want a cabana to code in.
Geometric algorithms are always great to watch and to understand. Not only to be used for a single purpose. They pop up pretty much everywhere. And many have been invented years and years ago.Almost forgotten maybe even. Nice intro :-))
NGL, i used to always come up to your videos while doing some coding searches and brushed off cos, well, i code(at least try to LOL) in c# and tbh never ever even have taken a look at java/JS(yeah, pigheaded , i know) oh boy was i wrong, now i am hooked, never found someone that explains hard concepts, and make it so easy to understand like this thank you sir =) cheers from Brazil
Wonderful blocking in this video, I love how the OpenSimplex noise created a lot more spacious and separate areas. It would be amazing to see how this could be utilized the the creation of video game levels.
I realised the moment you explore the idea of colour you could easily create a light + shadow system, Also the idea of a lava lamp might work from what you showed at the end. Iv been wanting to imagine how to make a lava lamp work for a long time some very cool stuff :D always a treat!
LOVED THE VIDEO (of course). I stopped formatting my code when those auto formatters appeared. I personally would rather turn them OFF, but the team would use it and then auto format any CUSTOM formatting out of existence. I blocks of code it's SO much more readable to line up equal signs, commas, parenthesis, etc. Your eye is able to pull out differences in the blocks quicker and the similarities will blend together creating less noise. I swear I need to write my OWN auto formatter... One of these days...
Dan, we really need you to start a series of video about shaders and shading languages. I keep looking around on the internet but nobody seems to even come closer to your ability to teach.
I've just discovered you man and your videos are just soo perfect. Guess what? Our teacher gave an assignment about this but in 3D and implement with cuda 😅
I'm not sure of the efficiency of this, but for determining where to draw lines, if we treat the square as the bits (in the order we would read them), so topleft, topright,bottomleft, bottomright. then the lines inbetwee also as binary numbers, in the order top,left,right,down, then you can treat 1000 (topleft corner only) as connecting the edges top and left (1100) 0100 (topright only) connects top and right (1010) 0010 (bottomleft only) connects bottom and left (0101), and 0001 (bottomright only) connect bottom and right (0011) SO to get to the point, if we treat every sequence of corners as their individual parts, then convert those parts into the edges they connect and xor them together, you get which edges to connect for example 1100 would be the top two edges, and they should connect left to right (ie 0110), so we can decompose them into 1000 as 1100 and 0100 as 1010, then bitwise xor 1100 with 1010 to get 0110 which is what we expect. Hopefull this made sense.
What would be really cool is finding a way to completely fill in all of the shapes created by marching squares, then treat the filled in areas as surfaces and use them in a video game. With something like that you could use something like OpenSimplexNoise and have it progress at a very slow rate to make a shifting changing maze.
@@callowaysutton Do you mean the grid intersections that you are using to create the marching squares, or do you mean that they can only pass through pixels that have certain values?
@@callowaysutton So if I understand correctly, you would only use the marching squares as visualizations, and use the pixel values from the noise to determine the surfaces? That would be pretty cool, though I do feel that you would need fairly high resolution of the grid in order for it to feel natural and align with the visualization of marching squares. There was this one guy who made a game with this (The Coding Train liked his comment), so I think that I might look at his code and see how he did it. The youtuber was leonlenclos.
the algorithm for connecting the middle points for only one and zero can be reduced to 4 case: the 2 special cases where you have to draw 2 lines: when there are 2 1s that are on the same diagonals (cases 5 and 10). the case where you have to draw none(case 16) In every other case, find the 2 middlepoints between a 0 and a 1 and connect them. so the pseudo code would be: find the number of "alternating" midpoints: if 0: done if 2: connect the 2 if 4: check whether it's case 5 or 10 and draw accordingly
Amazing tutorial. I recreated this in python. For perlin noise I basically made the array and just add 0, -1 or 1 to the points, to either keep em at 1 or go to zero or go from zero to 1. Gonna figure out how to make a nicer version.
I used a similar algorithm when I was coding a “random roads” visualization. It was a square grid, North was 1, East was 2, South 4, West 8 and the binary number represented which of 16 possible tiles to place. I had never heard of marching squares, though! Took me weeks to think of that solution.
A, B, D, C, etc are typically bad variable names because they are ambiguous. If you look at your code weeks later it may be a little confusing. Just food for thought!
15:00 The efficient way of doing it instead of using a switch state instead put each results in an array and then use the state to pick the results out of the array.
Sir, you can add ellipse instead of rectangles in the last part of the video (timestamp 22:49). It looks very cool. And you could have made the switch statements till seven. After seven, the cases repeat in reverse. This could have made the coding shorter. Thanks!
24:40 Oh no, not I, I will survive Oh, as long as I know how to love, I know I'll stay alive I've got all my life to live And I've got all my love to give and I'll survive I will survive I will survive
the cases where all the values are switched (eg. 0100 and 1011 or 1000 and 0001) would be drawn the same, so you could either do an if (state > 7) {state = 15 - state} before the switch statement and only write half the cases or group the cases like case 0: case 15: something; break; which would be more efficient? (in terms of how fast it runs)
you could try to have the lines on the right and have it make a 3d model on the left using the animation of the 2d layers. basically, the left shows the 3rd dimension as time, and the right will show it as space using the 2d slices.
Prof Shiffman, do you reckon about making Arduino+Processing videos? There are very little guidelines online about applications of Processing in microcontrollers.
to get rid of switch statement you need to make an array of a, b, c, d (points) and array of of their connections and each connection is four digits where first two digits are describing first line ans last two describing second line if it exists (we need max two lines), so state = getState(...)and p1, p2, p3, p4 = points[connections[state][0]], points[connections[state][1]] ..., then you need to validate p3 and p4 and then lines are ready(still much code but more elegant)
Such kind of stuff must be also a basis for contour plots in general. Or you could do even something similar with triangles. Key point maybe that values on whatever kind of edges are the same at the same spot. Nice!
Really enjoyable video (as always)!
And thanks for the mention :)
Thank you Sebastian!!
you are rock
All the celebs in the comments section wow
I dont mean to be offtopic but does any of you know of a tool to get back into an Instagram account??
I was stupid forgot the login password. I would appreciate any tricks you can give me!
@Raylan Decker i really appreciate your reply. I got to the site thru google and I'm waiting for the hacking stuff atm.
I see it takes quite some time so I will get back to you later when my account password hopefully is recovered.
Hey you mentioned Sebastian Lague's video in description!! I love his coding adventures
his latest video is sooo good
Yessss
Who doesn't!
Same! It's like a experiencing a condensed version of all the fun parts of programming without having to tear your hair out when you encounter a bug.
Amazing. AMAZING!!!
Thank you @Jabrils!!
I really hope there are people here that haven't yet heard about Sebastian just so that they may now have the pleasure of finding his content for the first time. This channel and his are what keep me invested in programming as a form of expression.
What I would give to watch him figure out clouds for the first time again.
You should watch ThinMatrix too!
@@rubenadema1094 I do! I love watching how his lifestyle influences his work ethic, its really inspiring.
@@rubenadema1094ooo thanks for the suggestion!
@@georhodiumgeo9827omg i still haven't watched the cloud one yet. You've just given put it at the top of the list
Man. I am back for more because this format is so refreshing. 😌
Hey same :)
I followed along with this. I've been "coding" as a hobby since 1983 (when you had to do a little coding to even get a PC to work). I gave up trying to keep up with the latest programming languages around the late 90s - early 2000s, although I am a C# fan (don't hate me--it's cheap). I'm a salty old man, now, but I appreciate your content. You make programming fun again.
This one was especially fun--Marching Squares/Cubes is a concept I'd never heard of. Still, the potential applications (such as the mentioned Sebastian Lague's excellent series on cave generation) interested me.
I tried doing some of the further challenges here and figured out for myself an algorithm for linear interpolation. It took me two days, but it was great fun. I had so much fun that I joined. Thanks, Dan.
That's really cool
After a long week at the keyboard hammering out web code for hospitals, I love these videos to relax my brain. Thank you, sir.
This was crazy cool! I love that you managed to fill in all the examples as you mentioned them-- this is a really high quality video!
"I must align all of the spacing here"
My teacher in highschool HATED when I always did that. I still do it to this day
My aversion is spacing, to me spacing elongates code lines and makes them harder to read. Anytime I am trying to understand some bit of someone else's code I first delete all unnecessary spaces. Spaces bad.
@@zebratangozebra for me personally it makes it a lot more readable, as i then can often look at a block of similar code as a whole and see what's going on in it, instead of having to go through every line separately. For small stuff like this it usually isn't a problem, and i don't always do it, but when the lines get really long, i do it a lot.
@@zebratangozebra in many coding languages I think you can have a code internal line break. And with those you can make pretty consistant looking code with some automatic formatting tools. E.g. they make you use shorter lines, or format it like that.
Yet in principle you could still discuss about if you want to have spaces or not at all. I think I'd opt for spaces. Easier to read
You guys are going to love Python then!
@@PixelThorn Python is too slow.
The happiness with which you code is a life goal
"Is there a more efficient way than writing a line of code for each possibility? Possibly"
vs
"We're writing it this way, not for efficiency, but for understanding"
Writing it this way is the most efficient because it allows you to use a switch statement. You can find a way to write it with fewer lines of code but that won't make the code faster since you will undoubtedly require several nested "if" statements which are much slower than one big switch statement.
Instead of a switch, I prefer an Array of 16 Objects that hold 16 solutions...that is easy, quick and easy to understand. Great Video, b.t.w.
@@jensBendig If you were going to go down that route a hash-map would likely be better since you could map each value to a solution. either way you are going to have to declare all those solutions at some point, it's just a matter of whether or not the switch is making the code less readable. (In a better editor such as vscode you could just hide the logic in the switch statement too which could be a nice solution)
@@bradfin12 I like you. At least I like this attitude. Terry Davis made an interesting remark about Switch statements, too. Not sure if it applies in something as high-level as Processing or the JS-Processing, but whatever.
@@rabbitcreative Im not 100% sure but i think Davis would prefer fewer lines of code. Davis had two goals in mind when writing code: beautiful simplicity, and small file size. When doing large switch statements that process every case in the most efficient way is a somewhat ugly way to code and can increase file sizes which doesn't matter to most programmers but it would certainly matter to davis who wanted a divinely lightweight operating system.
I love how everyone else in the comment section liked the video as much as i did. really brilliant how well made it is.
I watch your videos for over 5 years, I love your videos, your didactics, you concern for explain, etc. please don't stop it.
this has gotta be possibly my fav vid of yours, this is so insanely cool, especially all the different variations of visualizing it
So glad I'm not the only one constantly looking up switch statement syntax in different languages.
Python dosent have one
WOW WHAT A VALUABLE VIDEO AND I LEARNT MANY THINGS FROM THIS VIDEO AS WELLAS FROM THIS CHANNEL.
I WOULD LIKE TO RECOMMEND THIS CHANNEL TO MY CODING FRIEND
I loved the part where you made all the spacing even
Thank you for accepting me.
I loved the part where, shortly after, it was all destroyed by the state line. I'm not a good person :)
@@TheCodingTrain I'll go farther than that. I'll say you're right and the people who don't do this are WRONG
Not only that. I guess estetics can also have an impact on readability. Especially when having long fragments or even those that break lines within expressions. Those are kind of making a mess readible. Just wonder how they would look like if you mix in random spacing. Sometimes yes sometimes not. errr pretty sure I wouldnt like it
One time I had another dev almost screaming at me for doing that 🤣🤣🤣 (I am still doing it :) and blabla you folks 'its harder to maintain', sure, but it's so much easier to read!! )
this is probably the most optimal setting for any job involving sitting in-front of a computer
Daniel, I follow you since 2016, I found out about you at the start of my most productive phase of my life, first year of the university, you tought me so much, without you I would not be the same person whom I love. Great work as always, thank you so much.
Literally my favorite RUclips personality. Thank you for being awesome!
This is the coding video we need, where every problem is explained from basics. I love it. Thank you for sharing knowledge and making it wholesome :)
I wish RUclips had a option to like a video multiple times because this video truly deserves it.
I kind of liked when the mic was in the table and I could hear more of the background noise. It made me feel like I was there in the Cabana too. Great video, as always!
First, I started with GML.
I saw your name on a youtube channel, I looked one of your vid. Two. Three, four, five, and so on. the addiction begun.
I was planning to make some short video game (and a little bit of teaching). I'm actually trying to do art, "paint", fractal, and music with processing, and most of all,
you made it fun to me.
You're god teacher, thanks you. And great kisses from Belgium !
This is the best thing I have seen all year. We were taught this in our Geometry class but never really got to work with it
Thank you so much for existing, your videos, your voice, your way of explaining and everything in between is so calming and wonderful. Thank you for the things you do for this community.
I have also recently started aligning my code by argument. It makes the intent so much clearer and much easier to figure out why my code is broken. It looks beautiful, thanks for another awesome video!
Gotta be the most wholesome coding RUclipsr
boy that audio switch at 8:07 spooked the hell out of me. Great vid!
This is so awesome! I love your videos, somehow they make me relax after spending hours coding for work. The way you make math, geometry and coding so approachable and fun is unique, congrats!
I love these coding in the cabana videos because you really get in depth into the algorithm.
You're like the Bob Ross of programming. Great video on a fascinating subject, stay gold!
so glad I found this channel, thanks for making code feel more accessible!
Thank you for making videos like these. They're always about something new and interesting to learn while not being too large in scope. They also make me really want a cabana to code in.
I love this series please continue it
Geometric algorithms are always great to watch and to understand. Not only to be used for a single purpose. They pop up pretty much everywhere. And many have been invented years and years ago.Almost forgotten maybe even. Nice intro :-))
NGL, i used to always come up to your videos while doing some coding searches and brushed off cos, well, i code(at least try to LOL) in c# and tbh never ever even have taken a look at java/JS(yeah, pigheaded , i know)
oh boy was i wrong, now i am hooked, never found someone that explains hard concepts, and make it so easy to understand like this
thank you sir =)
cheers from Brazil
Another great video, and I'd never heard of Processing before now. It adds a lot of nice stuff to Java to make it easier.
Sometimes I feel Dan gets progressively wiser as his beard grows
I miss coding in the cabana
(22 February 2023- I still miss the cabana)
you are so great!!! it’s perfect to learn about algorythms with you!! fun, inspiring, brain-opening! i love you!! ❤️🙌🏾
Your videos are awesome! You're awesome! I learned to program with you like 2 years ago, loved it!
Keep doing your thing!
Wonderful blocking in this video, I love how the OpenSimplex noise created a lot more spacious and separate areas. It would be amazing to see how this could be utilized the the creation of video game levels.
Holy 5&!# I was literally looking up your videos yesterday trying to build this! You are brilliantly and cleverly convenient!
the production quality is insane, very nice video! :D
I realised the moment you explore the idea of colour you could easily create a light + shadow system,
Also the idea of a lava lamp might work from what you showed at the end. Iv been wanting to imagine how to make a lava lamp work for a long time
some very cool stuff :D always a treat!
I have only one word to say for this video:
*Mesmerizing*
Awesome video as always Dan! Liked and Subscribed!
That's beautiful, I'll try playing with this code ! Thanks a lot for your work !
Thanks for this! You're the best. You're explanation of marching squares was a great help to me :)
Great great video among all marching square videos I watched!
LOVED THE VIDEO (of course). I stopped formatting my code when those auto formatters appeared. I personally would rather turn them OFF, but the team would use it and then auto format any CUSTOM formatting out of existence. I blocks of code it's SO much more readable to line up equal signs, commas, parenthesis, etc. Your eye is able to pull out differences in the blocks quicker and the similarities will blend together creating less noise. I swear I need to write my OWN auto formatter... One of these days...
Dan, we really need you to start a series of video about shaders and shading languages. I keep looking around on the internet but nobody seems to even come closer to your ability to teach.
24:41 An ant is locked inside the algorithm.
i just checked the comments to see who else saw the ant and i saw this comment lel
It's just a bug...
Aren't we all?
langton's ant
yes, it's a test if you pay attention
Very cool and clever algorithm! I love Coding in the Cabana, thanks for the video!
loving the vibes from the Cabana
You are the best teacher i have ever learned from :)
What a sweet little programming spot. I'm super jealous!
the coding train 23:35 : makes the canvas full screen
the youtube compression algorithm : *AAAAAH*
Great teacher! Always with something fun for us!
I've just discovered you man and your videos are just soo perfect. Guess what? Our teacher gave an assignment about this but in 3D and implement with cuda 😅
I'm not sure of the efficiency of this, but for determining where to draw lines, if we treat the square as the bits (in the order we would read them), so topleft, topright,bottomleft, bottomright. then the lines inbetwee also as binary numbers, in the order top,left,right,down, then you can treat
1000 (topleft corner only) as connecting the edges top and left (1100)
0100 (topright only) connects top and right (1010)
0010 (bottomleft only) connects bottom and left (0101), and
0001 (bottomright only) connect bottom and right (0011)
SO to get to the point, if we treat every sequence of corners as their individual parts, then convert those parts into the edges they connect and xor them together, you get which edges to connect
for example 1100 would be the top two edges, and they should connect left to right (ie 0110), so we can decompose them into
1000 as 1100 and
0100 as 1010, then bitwise xor 1100 with 1010 to get
0110 which is what we expect.
Hopefull this made sense.
Very helpful! I really love your style of teaching :)
Dude I just discovered your channel and you are amazing. Really great job and a video to enjoy. Thanks a lot!
these are my favorite videos of yours
*Cries in indexed map*
Amazing video as always, thanks for all the content you make for us :)
I haven't watched any of your Coding in the Cabana videos yet, but I'm getting some serious Bob Ross vibes from this video in particular :P
What would be really cool is finding a way to completely fill in all of the shapes created by marching squares, then treat the filled in areas as surfaces and use them in a video game. With something like that you could use something like OpenSimplexNoise and have it progress at a very slow rate to make a shifting changing maze.
The values are already there? Make it so the player can only pass through points that have a certain magnitude :)
@@callowaysutton Do you mean the grid intersections that you are using to create the marching squares, or do you mean that they can only pass through pixels that have certain values?
@@scottbigbrain3944 Pixels of a certain value, the grid formed from the marching squares is formed from this as well too
@@callowaysutton So if I understand correctly, you would only use the marching squares as visualizations, and use the pixel values from the noise to determine the surfaces? That would be pretty cool, though I do feel that you would need fairly high resolution of the grid in order for it to feel natural and align with the visualization of marching squares. There was this one guy who made a game with this (The Coding Train liked his comment), so I think that I might look at his code and see how he did it. The youtuber was leonlenclos.
the algorithm for connecting the middle points for only one and zero can be reduced to 4 case:
the 2 special cases where you have to draw 2 lines: when there are 2 1s that are on the same diagonals (cases 5 and 10).
the case where you have to draw none(case 16)
In every other case, find the 2 middlepoints between a 0 and a 1 and connect them.
so the pseudo code would be:
find the number of "alternating" midpoints:
if 0: done
if 2: connect the 2
if 4: check whether it's case 5 or 10 and draw accordingly
Made my day better
the power of numbers binary, is very good
Nice explanation! As a suggestion: you can also make a video on dual contouring and explain the pros and cons with marching squared.
Wow your new video very pack with information and still have a same average of video length duration. Cool. Thumbs up
Amazing tutorial. I recreated this in python. For perlin noise I basically made the array and just add 0, -1 or 1 to the points, to either keep em at 1 or go to zero or go from zero to 1. Gonna figure out how to make a nicer version.
Love the paintings in the background! :)
I used a similar algorithm when I was coding a “random roads” visualization. It was a square grid, North was 1, East was 2, South 4, West 8 and the binary number represented which of 16 possible tiles to place. I had never heard of marching squares, though! Took me weeks to think of that solution.
A, B, D, C, etc are typically bad variable names because they are ambiguous. If you look at your code weeks later it may be a little confusing. Just food for thought!
So happy to see another one of your videos :)
The glorious return of Gloria! ❤️
15:00 The efficient way of doing it instead of using a switch state instead put each results in an array and then use the state to pick the results out of the array.
Sir, you can add ellipse instead of rectangles in the last part of the video (timestamp 22:49). It looks very cool. And you could have made the switch statements till seven. After seven, the cases repeat in reverse. This could have made the coding shorter. Thanks!
24:40
Oh no, not I, I will survive
Oh, as long as I know how to love, I know I'll stay alive
I've got all my life to live
And I've got all my love to give and I'll survive
I will survive
I will survive
the cases where all the values are switched (eg. 0100 and 1011 or 1000 and 0001) would be drawn the same, so you could either do an if (state > 7) {state = 15 - state} before the switch statement and only write half the cases or group the cases like case 0: case 15: something; break;
which would be more efficient? (in terms of how fast it runs)
Love this! I may use this techinique in some indie game experiment one of these days
you could try to have the lines on the right and have it make a 3d model on the left using the animation of the 2d layers. basically, the left shows the 3rd dimension as time, and the right will show it as space using the 2d slices.
21:07 its a map of europe
Just wanted to say thank you for being amazing.
Thumbed for aligning the spacing at 11:26. Aligned spacing 4 LYFE.
Prof Shiffman, do you reckon about making Arduino+Processing videos? There are very little guidelines online about applications of Processing in microcontrollers.
This is so awesome!!
Thanks for the great video :)
I love this format ❤️ keep it up
Help i drank some coffe and almost made a full game in one day
This will make a lovely background for my led matrix clock. thank you.
My brain hurts. means I'm in the right place
i like the new video editing style and quality! :)
Real great video and amazing how you did the coding...
Just one problem that the open simplex noise code is not working ..... it is giving a static error
to get rid of switch statement you need to make an array of a, b, c, d (points) and array of of their connections and each connection is four digits where first two digits are describing first line ans last two describing second line if it exists (we need max two lines), so state = getState(...)and p1, p2, p3, p4 = points[connections[state][0]], points[connections[state][1]] ..., then you need to validate p3 and p4 and then lines are ready(still much code but more elegant)
Such kind of stuff must be also a basis for contour plots in general. Or you could do even something similar with triangles. Key point maybe that values on whatever kind of edges are the same at the same spot. Nice!
Nice to see OpenSimplex going to good use as always!
Very good video, i made a implementation in java directly using the Graphics2D ,turned out to work just as well.
Daniel Shiffman. Please never change.