Making Generative Art | Intro to Processing

Поділитися
Вставка
  • Опубліковано 22 тра 2024
  • Learn how to make generative art with processing, no programming knowledge required! In this tutorial I will teach you the basics of programming, and we will make some art together.
    Processing is free and can be downloaded here: processing.org/download/
    Final code from this video: github.com/hapiel/intro_to_pr...
    0:00 Introduction
    0:35 What is processing
    1:40 Functions
    3:53 Variables
    7:06 Built in variables and the setup + draw functions
    8:56 Loops
    12:44 2d grid
    15:53 Random
    18:49 Final project
    29:10 Learn more about Processing
    You can follow me online for more creative and technological content.
    Twitter: / hapiel
    DanielSimu.com
    If you'd like to create something together, send me an email:
    hello@danielsimu.com
  • Ігри

КОМЕНТАРІ • 172

  • @Rambho009
    @Rambho009 2 роки тому +28

    I've been looking for a video that explains basics of generative art with examples.... pretty much BANG ON - the way you did it!! This video is one of the ideal first steps for whoever wants to become a code generated artist...I sincerely want to THANK YOU for your efforts 🙏

  • @Draaack
    @Draaack 2 роки тому +2

    Super cool and inspiring, Daniel. I want to jump in and make some art in Processing right now!

  • @Dapps254
    @Dapps254 2 роки тому +3

    This is awesome! Subscribed immediately! So clean and clear!

  • @marc-antoinechoiniere1516
    @marc-antoinechoiniere1516 Рік тому +1

    Great introduction to generative art! I rarely watch 30 minutes videos but this one was definitely worth it!

  • @MICHAELGATE13
    @MICHAELGATE13 2 роки тому +1

    Really great work dude, so comprehensive, thank you

  • @lackeymal
    @lackeymal 2 роки тому

    thanks so much for this ! i’ve been trying to explore Processing and this tutorial made it super easy.

  • @wissanuuea-amornleot9890
    @wissanuuea-amornleot9890 2 роки тому +1

    exactly, i just search about coding and art, and im glad i found your clip video which light my way to be a generative artist!

  • @JeSuisNerd
    @JeSuisNerd 6 місяців тому

    Fantastic introduction! I've been curious about Processing ever since I saw it used a decade ago for some very cool generative wallpapers. I'm finally dipping my toes in now because I think it will be my medium of choice for building mathematically-inspired laser-cut relief artworks.

  • @juleshorne8580
    @juleshorne8580 2 роки тому +1

    Excellent teaching - thank you!

  • @jonasaxel
    @jonasaxel 2 роки тому +2

    amazing video, really well made and informative. excited for more!

  • @neetones
    @neetones Рік тому

    This is terrific. Please make more!

  • @LeoKahng
    @LeoKahng 2 роки тому +1

    Great informative video - thank you for sharing!

  • @36nibs
    @36nibs 2 роки тому +1

    I just discovered this application and its so fun to learn

  • @guchfun
    @guchfun 2 роки тому +5

    Thank you for the great tutorial! I like how you build up to the final result by incrementally introducing concepts one at a time.

  • @AncientWisdomAppliedToML
    @AncientWisdomAppliedToML 2 роки тому +1

    holy shit dude, that was awesome! I was especially suprised how easy it is to change a simple structure with the controlframe at the end. Well done, thank you!!

    • @DanielSimu
      @DanielSimu  2 роки тому +1

      I'm glad you liked it, thanks for the comment!

  • @myfunde3987
    @myfunde3987 2 роки тому +3

    waiting for more tutorials like this, love the way you explain

    • @DanielSimu
      @DanielSimu  2 роки тому

      Thank you! I hope I find time soon :)

  • @DannyRotten
    @DannyRotten Рік тому

    Great video !! Thank you.

  • @xegawontv6724
    @xegawontv6724 2 роки тому

    SUPER GREAT TUTORIAL🔥🔥🔥🔥🔥 thank u alot broo

  • @amanpathak2338
    @amanpathak2338 2 роки тому +1

    Really helpful video man, thanks a tone👌🏻

  • @pqr590
    @pqr590 2 роки тому +14

    I made my first generative art!! Thankyou for this tutorial!! Will be staying tuned!!

    • @DanielSimu
      @DanielSimu  2 роки тому +2

      Yay, congratulations! I hope to see the stuff you come up with some time :)

  • @eduardocampolina4522
    @eduardocampolina4522 2 роки тому +5

    The best of the best, really a teacher, clear and progressive and a simple way of showing things (I'm in Brazil, thank you so much).

    • @DanielSimu
      @DanielSimu  2 роки тому

      Thank you, I'm glad you like it!

  • @zzzmzzz4466
    @zzzmzzz4466 2 роки тому +1

    thank you!! hope u make more videos like this

  • @idpi2379
    @idpi2379 2 роки тому +1

    lIke the way you explain. Thank you Dani

  • @geoffreyslack
    @geoffreyslack 2 роки тому +1

    Great video - used it for an introduction to Processing, very cool program

    • @DanielSimu
      @DanielSimu  2 роки тому

      I'm glad you're enjoying it!

  • @indiedy_ghaze0968
    @indiedy_ghaze0968 2 роки тому +1

    Thank you so much you were the first person to teach me so I am able to get into processing thank you so MUCH!!!!!

  • @lordbillaire9638
    @lordbillaire9638 2 роки тому +1

    Great content. Keep it up.

  • @RedHedDes
    @RedHedDes 2 роки тому +2

    Great tutorial. Thanks! Thought your re-takes were quite funny, glad you kept them in :P

    • @DanielSimu
      @DanielSimu  2 роки тому

      Whilst editing I discovered that I messed up the second time as well, and I was so annoyed by that that I totally forgot to cut the first one out!
      But you're the first to comment on it, hopefully nobody else noticed ;)

    • @toriberends502
      @toriberends502 2 роки тому +1

      @@DanielSimu I noticed but I loved it! those moments are always great for a little giggle. Makes learning something new less intimidating

  • @axs203
    @axs203 2 роки тому +1

    Thanks you Daniel that was very helpful

    • @DanielSimu
      @DanielSimu  2 роки тому

      I'm glad it was! Thanks :)

  • @maxtownsley
    @maxtownsley 5 місяців тому

    Good teaching style :)

  • @Robbebeest
    @Robbebeest 2 роки тому +1

    Toffe demonstratie, vooral met al die sliders op het laatst!

  • @atikahrostam5778
    @atikahrostam5778 2 роки тому +1

    Thank you so much for this tutorial!

  • @timothymicah7307
    @timothymicah7307 2 роки тому +4

    OMG I made my first generative art! I have zero coding experience but this was easy to understand and follow. Thank you for this tutorial!

  • @yashgarg5992
    @yashgarg5992 2 роки тому +1

    Ending part is lovely, you are awesome :)

    • @DanielSimu
      @DanielSimu  2 роки тому

      Thank you! You are awesome too!

  • @siahhighashell8915
    @siahhighashell8915 2 роки тому +1

    I wish we had more videos of you coding, was able to follow you easily

    • @DanielSimu
      @DanielSimu  2 роки тому

      Thank you! I'm planning to do more, but it's gonna take a while before I find the time.

  • @miroda3203
    @miroda3203 2 роки тому +1

    Great video

  • @witch-doctor
    @witch-doctor 2 роки тому +1

    Dude this is amazing thanks for sharing your information

  • @josehurtado1372
    @josehurtado1372 2 роки тому +1

    really great video!

  • @itsnotsure
    @itsnotsure 2 роки тому +1

    love this intro video, very well put together and easy to follow. any plans on following up with some more in-depth concepts within processing?

  • @Fnow_
    @Fnow_ 2 роки тому +1

    so cool! thank you!

  • @matto4849
    @matto4849 2 роки тому +5

    Great tutorial, honestly one of the best I've followed.

  • @jackglacken2944
    @jackglacken2944 2 роки тому

    That was doooope!

  • @uushk6631
    @uushk6631 2 роки тому +1

    very detailed, thank you:) (although i don't think i'll code lol too complex!)

  • @chiahsiangliao2901
    @chiahsiangliao2901 Рік тому

    help a lot ! thanks

  • @YoyoBoum1
    @YoyoBoum1 2 роки тому +1

    Thank you SO MUCH!!

  • @Bobo-ft8zu
    @Bobo-ft8zu 2 роки тому +1

    This is really good.

  • @koboss_
    @koboss_ 2 роки тому +1

    thank you so much

  • @andrewperkinson8941
    @andrewperkinson8941 2 роки тому +1

    Thank You!

  • @alexvaillancourt6767
    @alexvaillancourt6767 Рік тому

    MERCI DANIEL !

  • @flolow.4990
    @flolow.4990 2 роки тому +2

    Nice video :)
    I've been programming with Processing for 3 years and I would have loved to see this video when I started

  • @noslowerdna
    @noslowerdna 2 роки тому +2

    Fun stuff!

    • @DanielSimu
      @DanielSimu  2 роки тому +1

      Thanks! I'm sure there must be Processing libraries that can track objects in a webcam, it might be a very good platform to create juggling animations with!

  • @Guus
    @Guus 2 роки тому +1

    Awesome thanks!

    • @DanielSimu
      @DanielSimu  2 роки тому

      Glad you like it :)

    • @Guus
      @Guus 2 роки тому

      @@DanielSimu Are you gonna do more processing stuff?

    • @DanielSimu
      @DanielSimu  2 роки тому

      @@Guus Likely so, I wish I had more time but it will happen some time!

    • @Guus
      @Guus 2 роки тому

      @@DanielSimu I'm gonna stay tuned for that!

  • @gabrielv4902
    @gabrielv4902 2 роки тому +1

    Dankje!

  • @gonzlocarrera9949
    @gonzlocarrera9949 2 роки тому

    Awesome! thank you for sharing! Would you happen to know how could I draw ellipses tangent to each other?

  • @YVRGraham
    @YVRGraham 2 роки тому +1

    Exccellent

  • @alanraymundo
    @alanraymundo Рік тому

    How do you do the pencil thing to draw over you screen? Neat tool!

  • @freeelectron8261
    @freeelectron8261 6 днів тому

    Just sub'ed - hope you still doing cool code in 2024!

    • @DanielSimu
      @DanielSimu  5 днів тому

      Thanks! Not as much as I wish, but hopefully soon more!

  • @smanzoli
    @smanzoli 2 роки тому

    I read many places that indeed Processing it is jit compiled.
    But when I compare it to Python, it's always just as slow or slower.
    And when I jit compile Python with numba (jit), then it's like 50x slower.
    BTW, I do love Processing!
    This very simple test processing.py sketch runs in 11,4s:
    def adds(x):
    a =0
    for k in range(1,x):
    a+= sqrt(abs((sin(k) + cos(k))))
    return a

    start = millis()
    a = adds(10000000)
    dt = millis() - start
    print(a)
    print(dt)
    and this one in Python (exactly the same), runs in 5 seconds:
    from timeit import default_timer as timer
    from math import *
    def adds(x):
    a = 0
    for k in range(1,x):
    a+= sqrt(abs((sin(k) + cos(k))))
    return a
    start = timer()
    a = adds(10_000_000)
    dt = timer() - start
    print(a)
    print ("Tempo: %f s" % dt)
    and if I add the @jit decorator after importing numba, then it runs in 0,2 seconds... 50x faster than Processing.
    If processing is not really compiled, is there a way to jit compile it?
    Thank you so much,
    Sander Manzoli

    • @DanielSimu
      @DanielSimu  2 роки тому

      I don't know how processing (or Java) is compiled, but if you need high performance there are probably better solutions for any specific task. It's not designed to do complex calculations efficiently, it's designed to make art easy.

  • @Paruthi.618
    @Paruthi.618 2 роки тому +1

    control frame is cool..

  • @segevharosh2403
    @segevharosh2403 2 роки тому +1

    Great video thank you! How can I center the grid? and How do I create a random that starts at 4 for example so I'll have control over the min size of the squares.

    • @segevharosh2403
      @segevharosh2403 2 роки тому

      figured out the random thing. what's the most economic way to center the grid?

    • @DanielSimu
      @DanielSimu  2 роки тому

      A random that starts at 4 is easy: random(10) + 4; is between 4 and 14.
      The grid is the exactly same, add or subtract an amount to each coordinate to offset the grid.

  • @laracadorna123456789
    @laracadorna123456789 6 місяців тому

    Hi Daniel, do you have more videos on creating the slides section? I want to create that to allow other people to manually play around and export what they did using my parameters. Exports in PNG/SVG/JPG

  • @spanishmuseum3692
    @spanishmuseum3692 2 роки тому

    hey daniel super cool work! Any chnace i can see the code for your final project with the sliders?

    • @DanielSimu
      @DanielSimu  2 роки тому

      I just published all the code here:
      github.com/hapiel/intro_to_processing

  • @rogermunro
    @rogermunro 2 роки тому +2

    thank you, I had a play around with this- super helpful. What is the process for outputting still images from the sketch results- for example an image file of the artwork. Is there a native export image or video function inside processing- or is code required? many thanks

    • @DanielSimu
      @DanielSimu  2 роки тому +1

      try adding: save("filename.png"); at the end of your sketch.

  • @LeonardoAguiar3D
    @LeonardoAguiar3D 2 роки тому +2

    can you share any online resource with instructions on how to get your control p5 sliders on to a separate window?

    • @DanielSimu
      @DanielSimu  2 роки тому +2

      Good question! Open Examples > Contributed Libraries > ControlP5 > extra > ControlP5frame
      It took me a while to find this one too, but within the example it should hopefully become clear how to use it!

  • @codaq4043
    @codaq4043 Рік тому

    What did you use to record? With the ability to draw on screen and keyboard actions in real time

  • @michaelffontas5587
    @michaelffontas5587 2 роки тому

    At 14:56, we reach number 9, not number 10 as you state.
    Thanks for a great video, with a very pleasant Dutch accent.

    • @DanielSimu
      @DanielSimu  2 роки тому

      Thanks! Actually the script does draw 10 boxes in each column, but my canvas is too small to see it. My bad!

  • @ifoundthistoday
    @ifoundthistoday 2 роки тому

    yes would love to see how you created the ControlP5 frame that functioned on an existing window ... I installed like you commented below but not connected to current sketch - thx

    • @DanielSimu
      @DanielSimu  2 роки тому

      Open Examples > Contributed Libraries > ControlP5 > extra > ControlP5frame
      It took me a while to find this one too, but within the example it should hopefully become clear how to use it!

    • @DanielSimu
      @DanielSimu  2 роки тому

      And alternatively, there is now a link to the source files in the video description

    • @ifoundthistoday
      @ifoundthistoday 2 роки тому

      @@DanielSimu thank you ... great video btw

  • @mindmyamoto
    @mindmyamoto 2 роки тому +1

    Thank you 🙏 brother the most clear tutorial I've ever seen on processing till now, I'm just stuck on how to get that sliders option can u tell me how to make it work i will reach you out on twitter

    • @DanielSimu
      @DanielSimu  2 роки тому +1

      The sliders are too difficult to explain in one comment, which is why I left it out of the video too, but in the description of the vid you'll find a link to my source code which includes sliders.

    • @mindmyamoto
      @mindmyamoto 2 роки тому

      @@DanielSimu i found it but i have no experience in coding so where i should post that code please

  • @djbbputo6605
    @djbbputo6605 Рік тому

    hey daniel. I have mac catalina and processing stop showing the sketch. Do you know what could be the problem?

  • @alejsala1
    @alejsala1 2 роки тому +1

    Thanks! ✨ you are awesome presenting info⭐️⭐️⭐️⭐️⭐️ installed control p5 library ...can you do A HOW TO VIDEO, please 🙏🏼?

    • @DanielSimu
      @DanielSimu  2 роки тому +1

      Yes, it would make sense if I do that! I'll have a think on how I could make that in a way that makes sense. In the meanwhile, I encourage you to play with the many examples that come with controlp5, they'll make it quite obvious how to use it I hope!

    • @alejsala1
      @alejsala1 2 роки тому

      super fun! created what you showed!

  • @sallaka87
    @sallaka87 2 роки тому

    Se puede hacer esto en Python?

  • @Cybertruck1000
    @Cybertruck1000 2 роки тому

    Hi. Thanks for the tutorial. I have a home made pen plotter. This is my start of using processing. It takes quite a bit of digging about the net to get an idea how to generate art for my plotter. Could you tell me how you would go about converting this output to gcode. Thanks again

    • @DanielSimu
      @DanielSimu  2 роки тому

      Hi, I think processing features PDF export, which you can convert to svg easily, and then there are loads of tools to convert svg to gcode. I personally use vpype with gcodetools for this.
      However, I think processing is not ideal for pen plotting paths, so I am now using vsketch which is a python library. Vsketch is very similar to processing but it is designed specifically for pen plotting. I'll soon make a video about it, hopefully this weekend even!

    • @Cybertruck1000
      @Cybertruck1000 2 роки тому +1

      @@DanielSimu Hi Daniel. First of all thank you for responding and taking the time with your tutorial. I will of course look into V sketch. Looking forward to your new tutorial. I've got my A4 plotter built and I'm ready to progress further. Thanks again for your time.

  • @happybot1134
    @happybot1134 Рік тому

    what happened in 21:26 ?😂
    your expression made me laugh out loud

  • @ghassanbeidoun1521
    @ghassanbeidoun1521 Рік тому

    hello lets presume i created an art work in processing . how can i export it into a png file

  • @thehobbygremlin
    @thehobbygremlin 2 роки тому

    Is there a way to get rid of the blank space (margins) on the top and left by any chance? Thanks in advance!

    • @DanielSimu
      @DanielSimu  2 роки тому +1

      Of course, just subtract from the position values.
      For example: rect(i * 80 - 80, i * 80 - 80, 50, 50)
      Or, right now I started drawing when i == 1 but it is more common perhaps to start when i == 0, then you also don't have margins.

    • @thehobbygremlin
      @thehobbygremlin 2 роки тому

      @@DanielSimu Thank you very much! Really hope to see more content like this from you soon! Absolutely amazing!

  • @abingbabing2830
    @abingbabing2830 2 роки тому

    Where is control frame? i didn't found it? Can you show me where is it?

    • @DanielSimu
      @DanielSimu  2 роки тому

      you need to download the ControlP5 library

  • @jameswilsonmusic7749
    @jameswilsonmusic7749 2 роки тому

    Is there a way to make it out put every variable as random... so every single output will be random ?

    • @DanielSimu
      @DanielSimu  2 роки тому

      I don't understand what you mean

    • @cortneymumphrey2266
      @cortneymumphrey2266 2 роки тому

      @@DanielSimu I think he means randomly create x amount of files.
      Also, after creating randomly generated files how can I save each file numerically going up i.e:
      Squares #1
      Squares #2
      etc.
      Great content! Im subscribing.

  • @nazishahmad1337
    @nazishahmad1337 2 роки тому

    Can we create math animation like animating any math equation using processing ??

    • @DanielSimu
      @DanielSimu  2 роки тому

      Sure! The only limit is your imagination!

  • @user-ob9zo9cr4c
    @user-ob9zo9cr4c Рік тому

    love your hair, I had the same. but cutted out )

  • @guymello
    @guymello 2 роки тому

    I found when I run out of elastic bands for my hair I ask the vegetable clerk at the grocery store for left over broccoli or green onion bands.

  • @natdistime
    @natdistime 2 роки тому

    how can I add some sort of animation with this?

    • @DanielSimu
      @DanielSimu  2 роки тому +3

      You will need to put everything in the 'draw' function (see 7:30) and then include some variable that is different every time the draw loop runs, for example by using :
      myVar = myVar + 1;
      Good luck

  • @mateuszkiebasa4537
    @mateuszkiebasa4537 Рік тому

    how to make the text to image ai?

  • @negraof
    @negraof 2 роки тому

    Hi. what I don't know how to program, which language is best for me to learn to make generative art?

    • @DanielSimu
      @DanielSimu  2 роки тому +1

      Processing of course, which is why I made this video about it :)

    • @negraof
      @negraof 2 роки тому

      @@DanielSimu is better than p5?

  • @Yassine-pu9ez
    @Yassine-pu9ez 2 роки тому

    What programming language are you using ??

    • @DanielSimu
      @DanielSimu  2 роки тому

      Processing, which is built upon Java

  • @spiralspirit7604
    @spiralspirit7604 2 роки тому

    Hi love your video but only have integrated graphics, will it still work?

    • @DanielSimu
      @DanielSimu  2 роки тому +1

      Yes, you don't need a good graphics card for this at all, processing will run on a potato if needed!

    • @spiralspirit7604
      @spiralspirit7604 2 роки тому +1

      @@DanielSimu Well I now know I don't need any extra graphics, thank you but will the Potato in my skull be up to it.

    • @DanielSimu
      @DanielSimu  2 роки тому

      @@spiralspirit7604 That's where this video comes in, I made it to be potato proof (if you watch it 3 times ;) )

  • @rahulpradeep660
    @rahulpradeep660 2 роки тому

    How do I export my work??? like to a gif or somthing else
    Please someone tell

    • @DanielSimu
      @DanielSimu  2 роки тому +2

      Add this to the bottom of your code:
      save("name.png");

    • @rahulpradeep660
      @rahulpradeep660 2 роки тому

      @@DanielSimu Thankuuu

  • @adrimathlener8008
    @adrimathlener8008 2 роки тому +1

    Vond net je video en lijkt me erg leuk.
    Ga je nog meer videos over Processing maken?
    Ik ken het werk van 'The Coding Train'
    Deze man maakt ook mooie zaken met Processing en J5: twitter.com/Hau_kun

  • @MemeFunnyV
    @MemeFunnyV 2 роки тому +1

    Any one know how to randomly generate 100 piece series?

    • @DanielSimu
      @DanielSimu  2 роки тому +1

      Throw all of the code from the tutorial in one big loop ('for' loop, or 'while' loop as shown in video)
      Then in every loop include a save() function, and make sure the save includes the loop number so you don't override your old files (so something like save("my_img" + i + ".png"); )
      Good luck!

    • @MemeFunnyV
      @MemeFunnyV 2 роки тому

      @@DanielSimu nice thank you for the advices 😍

  • @45Hammetje
    @45Hammetje 2 роки тому +1

    Geef je cursus in Nederlands?

    • @DanielSimu
      @DanielSimu  2 роки тому

      Het lijkt me leuk eens ergens een cursus te geven, als ik gevraagt wordt!

  • @gurpchirp
    @gurpchirp 2 роки тому

    i am just cursed; i will never be able to learn how to code. my code is exactly yours and i get errors "the method rect(float, float, float) in the type PApplet not applicable for the arguments (int, int, int). it happened with javascript too. so frustrating.

    • @DanielSimu
      @DanielSimu  2 роки тому +1

      The rect() function requires 4 arguments, it seems you've only input 3 of them! Don't give up yet, I'm sure you can learn this :)

    • @gurpchirp
      @gurpchirp 2 роки тому

      @@DanielSimu omg thank you. i feel so dumb. hahaha! unbelievable. this stuff is *so* fascinating. makes me look at nature and the world/universe differently. thank you again!

    • @DanielSimu
      @DanielSimu  2 роки тому

      @@gurpchirp Haha, such a contrast from your previous comment. I'm glad you're discovering this!

    • @gurpchirp
      @gurpchirp 2 роки тому +1

      @@DanielSimu dude, i was *so mad* lol. i keep on messing up with coding, but i want to be good at it.

  • @lotcha...
    @lotcha... 2 роки тому

    Please can you do the translation arabic

  • @niyagentleman8143
    @niyagentleman8143 Рік тому

    how do you make a java organic art in 2 lines LOL ^^

  • @michapiotrowski6300
    @michapiotrowski6300 2 роки тому

    0:10 third artwork a lil sus

  • @nzrklym
    @nzrklym 2 роки тому

    can you make a project jsut like BAYC or CryptoPunks? its it NFT on the ethereum blockchain? They have 10,000 copies each one being different, with all types of traits. they also code it. can you do a project like this? Let me know..

    • @MrKenKanif
      @MrKenKanif 2 роки тому +1

      @hashlips has some cool tuts for this : ua-cam.com/video/3c2EFpCr_vY/v-deo.html

  • @mad4warzone
    @mad4warzone 2 роки тому

    can you make nft with processing?

  • @Mounthuapleb5890
    @Mounthuapleb5890 2 роки тому

    I hate math...

    • @DanielSimu
      @DanielSimu  2 роки тому

      Me to, but the patterns it makes are so beautiful 😭