Making Generative Art | Intro to Processing

Sdílet
Vložit
  • čas přidán 1. 07. 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
  • Hry

Komentáře • 174

  • @Rambho009
    @Rambho009 Před 2 lety +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 🙏

  • @Dapps254
    @Dapps254 Před 2 lety +3

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

  • @marc-antoinechoiniere1516

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

  • @wissanuuea-amornleot9890
    @wissanuuea-amornleot9890 Před 2 lety +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!

  • @MICHAELGATE13
    @MICHAELGATE13 Před 2 lety +1

    Really great work dude, so comprehensive, thank you

  • @Draaack
    @Draaack Před 2 lety +2

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

  • @lackeymal
    @lackeymal Před 2 lety

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

  • @guchfun
    @guchfun Před 2 lety +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.

  • @jonasaxel
    @jonasaxel Před 2 lety +2

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

  • @JeSuisNerd
    @JeSuisNerd Před 7 měsíci

    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.

  • @neetones
    @neetones Před rokem

    This is terrific. Please make more!

  • @eduardocampolina4522
    @eduardocampolina4522 Před 2 lety +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).

  • @AncientWisdomAppliedToML
    @AncientWisdomAppliedToML Před 2 lety +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  Před 2 lety +1

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

  • @myfunde3987
    @myfunde3987 Před 2 lety +3

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

    • @DanielSimu
      @DanielSimu  Před 2 lety

      Thank you! I hope I find time soon :)

  • @juleshorne8580
    @juleshorne8580 Před 2 lety +1

    Excellent teaching - thank you!

  • @pqr590
    @pqr590 Před 3 lety +14

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

    • @DanielSimu
      @DanielSimu  Před 3 lety +2

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

  • @36nibs
    @36nibs Před 2 lety +1

    I just discovered this application and its so fun to learn

  • @LeoKahng
    @LeoKahng Před 2 lety +1

    Great informative video - thank you for sharing!

  • @Robbebeest
    @Robbebeest Před 3 lety +1

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

  • @amanpathak2338
    @amanpathak2338 Před 2 lety +1

    Really helpful video man, thanks a tone👌🏻

  • @indiedy_ghaze0968
    @indiedy_ghaze0968 Před 2 lety +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!!!!!

  • @timothymicah7307
    @timothymicah7307 Před 2 lety +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!

  • @DannyRotten
    @DannyRotten Před rokem

    Great video !! Thank you.

  • @yashgarg5992
    @yashgarg5992 Před 2 lety +1

    Ending part is lovely, you are awesome :)

  • @xegawontv6724
    @xegawontv6724 Před 2 lety

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

  • @RedHedDes
    @RedHedDes Před 2 lety +2

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

    • @DanielSimu
      @DanielSimu  Před 2 lety

      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 Před 2 lety +1

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

  • @idpi2379
    @idpi2379 Před 2 lety +1

    lIke the way you explain. Thank you Dani

  • @geoffreyslack
    @geoffreyslack Před 2 lety +1

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

  • @axs203
    @axs203 Před 2 lety +1

    Thanks you Daniel that was very helpful

  • @zzzmzzz4466
    @zzzmzzz4466 Před 2 lety +1

    thank you!! hope u make more videos like this

  • @atikahrostam5778
    @atikahrostam5778 Před 2 lety +1

    Thank you so much for this tutorial!

  • @Stufe2
    @Stufe2 Před 13 dny +1

    Thank you! Well explained!

  • @siahhighashell8915
    @siahhighashell8915 Před 2 lety +1

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

    • @DanielSimu
      @DanielSimu  Před 2 lety

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

  • @lordbillaire9638
    @lordbillaire9638 Před 2 lety +1

    Great content. Keep it up.

  • @witch-doctor
    @witch-doctor Před 2 lety +1

    Dude this is amazing thanks for sharing your information

  • @matto4849
    @matto4849 Před 2 lety +5

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

  • @maxtownsley
    @maxtownsley Před 6 měsíci

    Good teaching style :)

  • @jackglacken2944
    @jackglacken2944 Před 2 lety

    That was doooope!

  • @uushk6631
    @uushk6631 Před 2 lety +1

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

  • @flolow.4990
    @flolow.4990 Před 3 lety +2

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

  • @itsnotsure
    @itsnotsure Před 2 lety +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_ Před 2 lety +1

    so cool! thank you!

  • @miroda3203
    @miroda3203 Před 2 lety +1

    Great video

  • @YoyoBoum1
    @YoyoBoum1 Před 2 lety +1

    Thank you SO MUCH!!

  • @Bobo-ft8zu
    @Bobo-ft8zu Před 2 lety +1

    This is really good.

  • @andrewperkinson8941
    @andrewperkinson8941 Před 2 lety +1

    Thank You!

  • @josehurtado1372
    @josehurtado1372 Před 2 lety +1

    really great video!

  • @alexvaillancourt6767
    @alexvaillancourt6767 Před rokem

    MERCI DANIEL !

  • @chiahsiangliao2901
    @chiahsiangliao2901 Před rokem

    help a lot ! thanks

  • @koboss_
    @koboss_ Před 2 lety +1

    thank you so much

  • @noslowerdna
    @noslowerdna Před 3 lety +2

    Fun stuff!

    • @DanielSimu
      @DanielSimu  Před 3 lety +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!

  • @gonzlocarrera9949
    @gonzlocarrera9949 Před 2 lety

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

  • @rogermunro
    @rogermunro Před 2 lety +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  Před 2 lety +1

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

  • @laracadorna123456789
    @laracadorna123456789 Před 7 měsíci

    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

  • @gabrielv4902
    @gabrielv4902 Před 2 lety +1

    Dankje!

  • @Guus
    @Guus Před 2 lety +1

    Awesome thanks!

    • @DanielSimu
      @DanielSimu  Před 2 lety

      Glad you like it :)

    • @Guus
      @Guus Před 2 lety

      @@DanielSimu Are you gonna do more processing stuff?

    • @DanielSimu
      @DanielSimu  Před 2 lety

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

    • @Guus
      @Guus Před 2 lety

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

  • @smanzoli
    @smanzoli Před 2 lety

    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  Před 2 lety

      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.

  • @alanraymundo
    @alanraymundo Před 2 lety

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

  • @segevharosh2403
    @segevharosh2403 Před 2 lety +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 Před 2 lety

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

    • @DanielSimu
      @DanielSimu  Před 2 lety

      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.

  • @freeelectron8261
    @freeelectron8261 Před měsícem

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

    • @DanielSimu
      @DanielSimu  Před měsícem

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

  • @spanishmuseum3692
    @spanishmuseum3692 Před 2 lety

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

    • @DanielSimu
      @DanielSimu  Před 2 lety

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

  • @michaelffontas5587
    @michaelffontas5587 Před 2 lety

    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  Před 2 lety

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

  • @YVRGraham
    @YVRGraham Před 2 lety +1

    Exccellent

  • @Paruthi.618
    @Paruthi.618 Před 2 lety +1

    control frame is cool..

  • @ifoundthistoday
    @ifoundthistoday Před 2 lety

    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  Před 2 lety

      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  Před 2 lety

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

    • @ifoundthistoday
      @ifoundthistoday Před 2 lety

      @@DanielSimu thank you ... great video btw

  • @codaq4043
    @codaq4043 Před rokem

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

  • @djbbputo6605
    @djbbputo6605 Před rokem

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

  • @LeonardoAguiar3D
    @LeonardoAguiar3D Před 2 lety +2

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

    • @DanielSimu
      @DanielSimu  Před 2 lety +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!

  • @mindmyamoto
    @mindmyamoto Před 2 lety +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  Před 2 lety +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 Před 2 lety

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

  • @Cybertruck1000
    @Cybertruck1000 Před 2 lety

    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  Před 2 lety

      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 Před 2 lety +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.

  • @alejsala1
    @alejsala1 Před 3 lety +1

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

    • @DanielSimu
      @DanielSimu  Před 2 lety +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 Před 2 lety

      super fun! created what you showed!

  • @user-ob9zo9cr4c
    @user-ob9zo9cr4c Před 2 lety

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

  • @ghassanbeidoun1521
    @ghassanbeidoun1521 Před 2 lety

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

  • @nazishahmad1337
    @nazishahmad1337 Před 2 lety

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

    • @DanielSimu
      @DanielSimu  Před 2 lety

      Sure! The only limit is your imagination!

  • @sallaka87
    @sallaka87 Před 2 lety

    Se puede hacer esto en Python?

  • @guymello
    @guymello Před 2 lety

    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.

  • @thehobbygremlin
    @thehobbygremlin Před 2 lety

    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  Před 2 lety +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 Před 2 lety

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

  • @happybot1134
    @happybot1134 Před rokem

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

  • @jameswilsonmusic7749
    @jameswilsonmusic7749 Před 2 lety

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

    • @DanielSimu
      @DanielSimu  Před 2 lety

      I don't understand what you mean

    • @cortneymumphrey2266
      @cortneymumphrey2266 Před 2 lety

      @@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.

  • @negraof
    @negraof Před 2 lety

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

    • @DanielSimu
      @DanielSimu  Před 2 lety +1

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

    • @negraof
      @negraof Před 2 lety

      @@DanielSimu is better than p5?

  • @abingbabing2830
    @abingbabing2830 Před 2 lety

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

    • @DanielSimu
      @DanielSimu  Před 2 lety

      you need to download the ControlP5 library

  • @mateuszkiebasa4537
    @mateuszkiebasa4537 Před rokem

    how to make the text to image ai?

  • @spiralspirit7604
    @spiralspirit7604 Před 2 lety

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

    • @DanielSimu
      @DanielSimu  Před 2 lety +1

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

    • @spiralspirit7604
      @spiralspirit7604 Před 2 lety +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  Před 2 lety

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

  • @natdistime
    @natdistime Před 2 lety

    how can I add some sort of animation with this?

    • @DanielSimu
      @DanielSimu  Před 2 lety +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

  • @Yassine-pu9ez
    @Yassine-pu9ez Před 2 lety

    What programming language are you using ??

    • @DanielSimu
      @DanielSimu  Před 2 lety

      Processing, which is built upon Java

  • @rahulpradeep660
    @rahulpradeep660 Před 2 lety

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

  • @MemeFunnyV
    @MemeFunnyV Před 2 lety +1

    Any one know how to randomly generate 100 piece series?

    • @DanielSimu
      @DanielSimu  Před 2 lety +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 Před 2 lety

      @@DanielSimu nice thank you for the advices 😍

  • @adrimathlener8008
    @adrimathlener8008 Před 3 lety +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

  • @lotcha...
    @lotcha... Před 2 lety

    Please can you do the translation arabic

  • @michapiotrowski6300
    @michapiotrowski6300 Před 2 lety

    0:10 third artwork a lil sus

  • @mad4warzone
    @mad4warzone Před 2 lety

    can you make nft with processing?

  • @niyagentleman8143
    @niyagentleman8143 Před rokem

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

  • @gurpchirp
    @gurpchirp Před 2 lety

    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  Před 2 lety +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 Před 2 lety

      @@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  Před 2 lety

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

    • @gurpchirp
      @gurpchirp Před 2 lety +1

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

  • @nzrklym
    @nzrklym Před 2 lety

    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 Před 2 lety +1

      @hashlips has some cool tuts for this : czcams.com/video/3c2EFpCr_vY/video.html

  • @45Hammetje
    @45Hammetje Před 2 lety +1

    Geef je cursus in Nederlands?

    • @DanielSimu
      @DanielSimu  Před 2 lety

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

  • @Mounthuapleb5890
    @Mounthuapleb5890 Před 2 lety

    I hate math...

    • @DanielSimu
      @DanielSimu  Před 2 lety

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