The Manim Experience - Creating animations with Python

Поделиться
HTML-код
  • Опубликовано: 17 дек 2024

Комментарии • 294

  • @bogxd
    @bogxd  26 дней назад +314

    I'm not a programmer but it'd be cool if you executed a mouse1 click on the like button

    • @hassanjomaa4073
      @hassanjomaa4073 26 дней назад +2

      Can you please make a vscode and vc2022 tutorial? I just started learning my first language (c++) and i am struggling with starting cuz idk how to use these tools. I will really appreciate it cuz you make the most boring hard shi easy and fun ❤❤❤❤❤❤❤❤ (on win11 ??)

    • @AWildAligned
      @AWildAligned 26 дней назад

      ​@@hassanjomaa4073there are lots of tutorials online

    • @Gigusx
      @Gigusx 26 дней назад

      @@hassanjomaa4073 You should take a look at tutorials (and there are many) that are already there and start working with it yourself. Even if he makes a video for you and uploads it in 2 weeks - you'll have just wasted 2 weeks waiting for a video on what's essentially a customizable text editor, and you'll still have to put in all the work of learning it yourself.

    • @budgetarms
      @budgetarms 26 дней назад

      @@hassanjomaa4073 well, that was I posted before is just a summary of what you will see.
      A good tutorial on c++ without seeing the pure foundations, is C++ Tutorial for Beginners - Full Course by freeCodeCamp. It's more practise instead of a big amount of theory.
      For vs2022 help: C++ Project in Visual Studio 2022 (Getting Started) by Hacked is a good tutorial

    • @ryzeefy
      @ryzeefy 26 дней назад +12

      @@hassanjomaa4073 No offense but hes not a programmer

  • @serg472
    @serg472 23 дня назад +116

    If you want to become a programmer this video is exactly how it goes - you try to do something cool, it doesn't work in the unexpected ways, you start googling and trying random stuff, you get meaningless errors you have no idea what they try to tell you, after you fix what seems to be the last error 5 new errors appear you didn't suspect were there, but then at 3am it starts working and it's the best feeling ever that makes you look forward to doing it all over again tomorrow.

    • @undercover468
      @undercover468 14 дней назад +1

      Then there are people who just use gpts

    • @RupertHudson
      @RupertHudson 10 дней назад +2

      except you also learn that the errors aren't meaningless, and understand why things are wrong

  • @coced
    @coced 15 дней назад +52

    Writing a class before learning how to make a function is the most python thing i've seen all year

  • @ropssalis4891
    @ropssalis4891 26 дней назад +294

    Its so great to see someone struggling as much as me doing this kind of things. The vim experience, the arch one and coding. I feel you my man

  • @anixolx
    @anixolx 26 дней назад +284

    timestamps:
    start: 0:00
    end: 38:50
    im tryna get back to putting timestamps on every video again :D

  • @fostn
    @fostn 26 дней назад +139

    This is the only channel where I can’t skip any video.

    • @bot5am
      @bot5am 23 дня назад

      same here

  • @waiitwhaat
    @waiitwhaat 24 дня назад +49

    I've been programming for nearly 4 years now. I am not calling asterisk anything other than snowflake from now on. Thank-you very much.

  • @codefallacy
    @codefallacy 24 дня назад +35

    This man wakes up everyday and selects the hardest difficulty level. I respect it

  • @alexandruhritcan9727
    @alexandruhritcan9727 26 дней назад +53

    Love the video, and the fact that you are committed to learning VIM bindings makes it even better. I have a VIM Pro Tip for you at 6:40 : you can put your cursor on the character 1 on line 22, press Ctrl+V (enter Visual Block Mode) and then press 8j to go down, after that press g Ctrl+A and it will make you look like a wizard ;))) In VIM, Ctrl+A in Normal Mode increments a number and Ctrl+X decrements it and the "g" before Ctrl+A is a modifier. Again the keys sequence is: Ctrl+V 8 j g Ctrl+A

    • @TheRealMangoDev
      @TheRealMangoDev 26 дней назад

      @@alexandruhritcan9727 commebted the same thing lol tho without ctrl+v ctrl+v still iseful tho

  • @matthewmccall551
    @matthewmccall551 26 дней назад +37

    It is hypnotizing to watch Bog perform tasks that I would hate, but also never naturally encounter

  • @project3653
    @project3653 26 дней назад +36

    Peak happiness seeing someone struggle in python ❤

    • @TheosTechTips
      @TheosTechTips 25 дней назад

      Lol! Me too.

    • @ardnys35
      @ardnys35 25 дней назад

      python is confusing if its your first language

    • @TheosTechTips
      @TheosTechTips 25 дней назад +2

      @@ardnys35 Every programming language is like that. He's not saying it's bad to struggle. It's normal. It's just fun (and painful) to watch him struggle so much and take hours to fix something when you know exactly what the answer is.

    • @ardnys35
      @ardnys35 25 дней назад

      @@TheosTechTips yeah i know and i've been there too. i just think python has weird quirks and abstractions that make the language confusing. this can be more severe for beginners.
      i am all for struggles by the way. it's always a struggle. only level changes.

    • @TheosTechTips
      @TheosTechTips 25 дней назад +1

      @@ardnys35 Oh yeah for sure. Python is probably one of my least favourite languages because every time I want to start working with it, there is some ridiculous syntax or bizarre limitation that immediately puts me off and with very little explained in the errors it gives. Like WHY DO I HAVE TO USE EXACT SPACING FOR IT TO WORK!!!! I would much rather program in a language with a proper typed and object-oriented design like Java, since you spend way more time programming then banging your head on stupid mistakes that a compiler would catch instantly.

  • @bassamsaleh8034
    @bassamsaleh8034 26 дней назад +35

    Alright, I’m still watching the video, but here’s a tip for Neovim/Vim from the 6:22 mark: no need to enter visual mode to yank/copy. You can use "yiW", which yanks the whole WORD wherever the cursor is on that WORD. Note the capital `W`-it treats text connected without spaces as a WORD, unlike the lowercase `w`.

    • @bogxd
      @bogxd  26 дней назад +9

      UU thanks

    • @MagicWazam
      @MagicWazam 26 дней назад +7

      The `verb + (i)nside or (a)rround + element` pattern is the most useful thing, especially with some extensions for more structural matching
      ciw : change a word
      yi( : copy the content of parenthesis
      da" : delete the quotes and their content
      vap : select paragraph and surrounding whitespace
      ...
      Vim is so deep and so fun to get better at

  • @veorEL
    @veorEL 23 дня назад +9

    Dude, I can't stop laughing.
    You need to do a serious cut of the video.
    My god I am LMAO.
    Best video I've seen in a long time!

  • @vi_k
    @vi_k 26 дней назад +217

    I would just like to say to please try to avoid using the "snowflake" / * when importing as it can lead to namespace overloading

    • @domojestic4155
      @domojestic4155 26 дней назад +9

      As someone who hasn't touched Python in a while, could you elaborate on what you mean by this / why this is a bad thing?

    • @bennydreamly
      @bennydreamly 26 дней назад +13

      Yeah using the asterisk is fine for some things but it’s generally easier to just do import library and do library.thingyouwant

    • @vi_k
      @vi_k 26 дней назад +46

      ​​@@domojestic4155 at one point in this video Bog tried to name a function "color" saw that it highlighted green and changed it to "fun_color". The reason it was green is because the variable "color" is defined somewhere in manim. If you don't know every single thing in a library (nobody does really) overloading like this can lead to unforseen issues, where you accidentally name a variable the same name as something mission critical to the library's functionality. Which is why usually just doing `import manim` and accessing `manim.color` would be the better way to do it since there is no possibility accidental overloading

    • @extrastuff9352
      @extrastuff9352 26 дней назад +17

      For virtually every other case, yes, but apparently it's standard practice for Manim. Since it's not really for building other software, I think it's fine.

    • @vi_k
      @vi_k 26 дней назад +7

      @@extrastuff9352 I don't have that much experience with Manim specifically but I'd understand if that were the case. However I'd still prefer to just `import manim` when using it myself

  • @iBitxd
    @iBitxd 25 дней назад +7

    What i love about your videos is that you solve problems on the GO!

  • @calapout
    @calapout 26 дней назад +8

    It was honestly so fun seeing you learn what I learned in my waves physic class related to what parameter affects the sin like it’s amplitude and frequency ^^

  • @AroAce_Psychopath
    @AroAce_Psychopath 26 дней назад +6

    Fun fact. range(n) is a function that returns an array filled with numbers from 0 to n-1 making it the length of n.
    Considering this the conclusion here is that for...in loop works with arrays by default hence ya can do for i in array instead of for i in range(len(array)).
    Good luck in future coding!!!

  • @averageviewer41
    @averageviewer41 25 дней назад +9

    Tries to create an animation of Fourier transform with vim key bindings but doesn't know anything about waves or parametric functions;
    Absolute Legend 🗿
    and also I am eagerly waiting for your "The Linux from Scratch experience".

  • @locki_dos
    @locki_dos 26 дней назад +4

    16:30 generally in anything angle related in computers it will just be in radians. Anything using degrees is just translated to radians anyway.

  • @TheosTechTips
    @TheosTechTips 25 дней назад +19

    As a programmer, this was SO HARD to watch 🤣🤣🤣

    • @whyre69
      @whyre69 День назад

      same

    • @whyre69
      @whyre69 День назад

      but i watched it because i want to learn manim

  • @aayushkohale
    @aayushkohale 25 дней назад +3

    This guy is hilariously funny 😂. I watch your videos for fun but sometimes I watch it for your funny humor hehe lol

  • @holthuizenoemoet591
    @holthuizenoemoet591 26 дней назад +4

    You have a great approach to learning programming. Its all about trying and learning in the proces

  • @coosisv6231
    @coosisv6231 26 дней назад +3

    wha- the vid motions go crazy. you are using them so smoothly!! amazing learning speed

  • @omaralhussani476
    @omaralhussani476 26 дней назад +6

    you can use fft (fast fourier transform) to convert a single complex wave to its component waves

  • @SbIrok_official
    @SbIrok_official 14 дней назад

    Oh my god, I came across this video by accident, but I'm so glad, I don't know what the main channel is about yet, but this is some new genre of educational comedy, I really enjoyed it, would love to see more videos like this

  • @Exdia
    @Exdia 26 дней назад +3

    Tip for 6:42: when you want to increment a vertical line of numbers, you can enter Visual Block mode by pressing Ctrl+V, select all the numbers below, press G and then press Ctrl+A to increment all of them. Note that you’ll have to start your selection from the second number in the set, as when you select the first one, it’ll get incremented too. Credit to ThePrimagen for this tip

  • @thomziq
    @thomziq 25 дней назад +2

    This type of content always makes me smile! :D thanks!

  • @gus2603
    @gus2603 21 день назад +5

    Is crazy how much you learn from a person by looking at how they code, like it feels too intimate.
    Love your videos.

  • @wWvwvV
    @wWvwvV 9 дней назад

    28:51 I can't comprehend how you were able to reconstruct your awkward early thinking and put it in the video hours or days afterwards. So much self consciousness.
    I'll have a look into Manim. I don't use Python a lot, but if Manim allows to animate graphs and surfaces, even inside vscode, that's awesome.

  • @jean-kiara
    @jean-kiara 10 часов назад

    this man shows us the reality and all intenal monologue of the process of programming.

  • @ProgrammerPenguin
    @ProgrammerPenguin 26 дней назад +5

    9:55 explaination:
    so in the func color function you're returning x as a tuple by incasing it in () return isn't a function, its a keyword like if while and so it doesn't need parenthesis.
    11:05 explanation:
    g and s1 are variables not a function you can call.

    • @exolyne.
      @exolyne. 26 дней назад +1

      actually python interprets parenthesis as tuples only when there are zero or more than one objects inside it.
      () -> tuple
      (x) -> x
      (None,) -> tuple (because of the comma)

  • @user-le8ul4nr5t
    @user-le8ul4nr5t 22 дня назад +3

    Bog in two months: "The LaTeX experience"
    Also, you should use more descriptive variable names, you'll hate yourself so much less if you don't have to remember you shortened 'legacyHandlers' to 'legHands' then to 'feet' then to 'ft'. That and use enumerate in python so you can get both the value and index of an element in a list in a for loop.

  • @Cipherify7
    @Cipherify7 26 дней назад +2

    I've been thinking to learn how to use vim science your last video and I got very excited when this video popped up. And I learned a bit of the basics do thank you :)

  • @ttakuyaki
    @ttakuyaki 8 дней назад

    Very nice to see someone with a normal level of programming and starting small, instead of hitting you with those inverted projection matrix squared to the proportional of their normal of their cubic calculus normalized

  • @siddharthpatel2193
    @siddharthpatel2193 8 дней назад

    Probably the best video I have seen in a while.

  • @stabokbose
    @stabokbose 26 дней назад +3

    The only channel I watch each and every video

  • @Ghostbutfromdestiny2
    @Ghostbutfromdestiny2 26 дней назад +2

    Try using the enumerate function more when you need the indice and a value from a list (example below):
    ```py
    for indice, value in enumerate(x):
    print(f"{indice}

  • @singhharmeet
    @singhharmeet 3 дня назад

    I've been using python and vs code but this video is refreshing. I was such a dumb to not use 'Option' key to place multiple cursors and edit in one go. thanks for this video

  • @Shy-Shadow
    @Shy-Shadow 26 дней назад +3

    the waves animation reminds me of those animations that show our solar system moving with all the planets also moving around the sun

  • @hed9696
    @hed9696 26 дней назад +1

    Maybe you see this, maybe you don't, but for yanking a text surrounded by whitespace in vim like ' np.sin(x/...) ' you can use textobjects:
    Yanking the text: yiW
    yank inside word
    Selecting the text: viW
    visual inside word
    'W' is a word surrounded by whitespace.
    And you can switch out the 'i' for an 'a' (around) if you also need the space after the word.
    There a a lot of other textobject like strings, brackets, sentences or paragraphs.
    I wish I would have learned this earlier, when starting with vim.

  • @akhiltheerthala9600
    @akhiltheerthala9600 26 дней назад +1

    OK, I have to be honest. I wanted to play with Manim a long time ago but never found the use for it. And I decided to f* it and start playing with it however I wanted. And I want to say many thanks to this channel.

  • @tenacity_dev
    @tenacity_dev 26 дней назад

    Manim is a great tool, I learned about it from this channel and have been using it a lot!

  • @t-ree
    @t-ree 25 дней назад +1

    Damn your programming skills is really good, teach us something!

  • @GT-20
    @GT-20 26 дней назад +1

    VERY NICE, MY SOUL IS RELIEVED

  • @bracedshorts
    @bracedshorts 26 дней назад +1

    Bog uploaded, i need to binge

  • @myname7815
    @myname7815 26 дней назад +10

    Try Asahi linux, runs on mac hardware and recently added supports the AAA games with great performance.

    • @TheoParis
      @TheoParis 26 дней назад

      +1 for this, asahi linux is great

    • @plaintext7288
      @plaintext7288 26 дней назад +1

      does it support the newer macs?

    • @myname7815
      @myname7815 26 дней назад

      @@plaintext7288 it does, it especially targets the macs with apple silicon chips that has arm architecture.

    • @TheoParis
      @TheoParis 25 дней назад

      @@plaintext7288 I don't think it supports m3 and m4 yet, but it works on my m2 mbp.

    • @skyrunner021
      @skyrunner021 23 дня назад

      That's what it's for.

  • @abhineetbadyal162
    @abhineetbadyal162 25 дней назад +4

    How did i end up watching the whole video🙂 ( without skipping a single time )

  • @CodeChouhan
    @CodeChouhan 23 дня назад

    i have an exam tomorrow and just have been watching these experience videos of the topic i want to learn and just enjoying the process i will go through too but its great to have an idea that making mistakes is the part of learning

  • @maskofsanity2021
    @maskofsanity2021 26 дней назад +6

    Bog, when is the wedding for you and Shrek?

  • @spenzr6920
    @spenzr6920 24 дня назад

    This video was very relatable to me when i code. Like, finding out that theres a better approach, discard all my hardwork then not ending up using it LOL

  • @MiScusi69
    @MiScusi69 26 дней назад +1

    Yay! I love Manim!

  • @RenderingUser
    @RenderingUser 23 дня назад +2

    6:00 double pressing ' in normal mode will allow you to swap between two positions.
    6:19 think smarter yT{space} tho, peak efficiency for this task would be to utilize box select with ctrl + v. its an easy replace with that
    6:40 want to change a list of numbers in different lines? starting from the second 1, ctrl+v for box select, select up to the last 1. then press g, then press ctrl+a
    I feel like, towards the second half of your video, the biggest issue you were having is all your waves are moving at different speeds. its not supposed to do that

  • @Pantelisduke
    @Pantelisduke 26 дней назад

    Wow! Great video! Very motivating to continue learning python!

  • @Guilhfer
    @Guilhfer 26 дней назад +3

    I find the video very interesting, actually, but it was very painful to see that manim docs where not used. Hopefully it is not rude from my part, but you would have a better result spending less time if you went through the docs just to understand the concepts.
    The video is enjoyable and you are very clever! Congrats and keep going!

  • @saga9753
    @saga9753 16 дней назад

    I don't know what I'm doing here and why I watched to the end, so I'll just subscribe!
    U won😂

    • @saga9753
      @saga9753 16 дней назад

      I thought learning after effects was hard but it's pure hell n weirdly fun

  • @fireballman31
    @fireballman31 16 дней назад

    this is so funny, I love the editing

  • @kadaliakshay6770
    @kadaliakshay6770 25 дней назад +2

    i mean i saw him watch up his own manim beginners course, for code which was also shown and taught by himself

  • @ssolo_
    @ssolo_ 26 дней назад +3

    I just woke up and im already happy because he uploaded
    0:00

  • @zyan...
    @zyan... 23 дня назад +4

    0:20 this time you didn't cut

  • @nickbennett-b2w
    @nickbennett-b2w 22 дня назад

    You literally are like my inner monologue that goes on doing constantly everything throughout the day. Lol. I love it. Thank you for being you.😂😅 #imnottheonlyone

  • @plazmi1
    @plazmi1 23 дня назад

    After watching this video i am sure that knowing maths is more important than knowing manim if you want to create manim animations XD

  • @TxMxMxMxM
    @TxMxMxMxM 24 дня назад +1

    "from manim import snowflake" 1:11 had me giggle lol

  • @shiv7978
    @shiv7978 26 дней назад +10

    12:26 did u just say ladies and mentlegen 😭😭😭😭

  • @nodrance
    @nodrance 26 дней назад +2

    I appreciate your style. It's not pretty, and the layers of transforms and unreadable code are kinda bad, but it works and that's all that matters. Spaghetti code doesn't matter, it matters if it works (unless you're coming back to it)

  • @pando...
    @pando... 26 дней назад

    Love your channel man ❤

  • @GhostShadow.0316
    @GhostShadow.0316 26 дней назад +2

    3:52 just do x ** 0.5
    12:20 also that's literally why you should never use one letter variable

  • @taufiqurrahmansagafkelrey2833
    @taufiqurrahmansagafkelrey2833 19 дней назад

    this, the whole self-talk, is so relatable omg, LMAO

  • @johanneskepler873
    @johanneskepler873 12 дней назад +1

    why had I not found you sooner? I feel so seen lol.

  • @xymaryai8283
    @xymaryai8283 26 дней назад +1

    i've done some really basic math programming before, and this genuinely seems harder than async Rust programming

    • @ivolol
      @ivolol 26 дней назад +1

      UI, GUI, Graphics programming is always, you *think* you've got something working, but in order for it to actually work, actually there are 20 tiny little details you need to get right first; and that process happens like 15 times over during the day. In half of those problems, everything will look absolutely borked right until you get all 20 little details exactly correct.
      There is no awesome best framework that will save you from this, they will all just organise those tiny little details into different places, but in general they'll all still be there and need tweaking.

  • @riccardozappitelli450
    @riccardozappitelli450 20 дней назад +1

    11:32 THANK GOD

  • @prajwalpawar3103
    @prajwalpawar3103 25 дней назад

    Hey Bog, I have been following your channel for a while but mostly for the creative aspects like the photoshop and editing videos. But I see that you are very good at coding related content as well. So I wanted to ask, how has your experience been with coding and if you had to share 5 tips from your journey, what would it be?
    Keep up the great work man

  • @zealotoffire3833
    @zealotoffire3833 20 дней назад

    With python to do square root u can also do 'exampleInt ** 0.5' since n^1/x = x root n.

  • @mathlike
    @mathlike 24 дня назад

    Nice video! Did you try to add an updater to your ValueTracker? Also, you must add the ValueTracker to the scene to let the updater work, it's a Mobject with no display, so there's no problem with adding it

  • @Landee
    @Landee 26 дней назад

    Bro this python skill is so amazing 💀

  • @nafizimtiaz1769
    @nafizimtiaz1769 26 дней назад

    Hey Bog, in the future, if possible, do try to make a video on how to use Immich as an alternative of google photos. I have been trying to find a good tutorial from start to finish for us noobs, but can't find anyone who explains like you. Cheers!

  • @silentkiller924
    @silentkiller924 19 дней назад +1

    38:50 epic 😂😂😂😂

  • @user338rj
    @user338rj 13 дней назад

    white wave is changing, when it’s supposed to be ‘moving’, unlike 3blue1brown.
    possibly because of the group of waves being moved individually, and not creating one single white wave to shift on x axis?

  • @zhabiboss
    @zhabiboss 26 дней назад +9

    Vim users be like:
    “WaTcH hOw FuCkiNg cOnVinient ThIS Is YoU IdiOT!!”
    *presses like 2818 keys to copy one line*
    “BECHA CAN’T DO THAT WITH YOUR PESKY MOUSE”

  • @flame3303
    @flame3303 16 дней назад

    That cool guy with reddit comment is me, damn, never expected I will be on youtube

  • @JustVoylin
    @JustVoylin 25 дней назад

    in vim use ctrl+a to increase numbers by one and ctrl+x to decrease by one

  • @danrungg
    @danrungg 26 дней назад

    thank you bog, very cool

  • @andermium
    @andermium 22 дня назад +2

    Moments at 12:50 are painful

  • @dddnegre
    @dddnegre 21 день назад

    I’m really hoping that you’re not a CS or math graduate, but if you’re really into doing this, perhaps that’s probably a best first step… doing without understanding doesn’t really allow you to achieve or appreciate other than visuals

  • @rasyasejati
    @rasyasejati 24 дня назад

    yes thank you thaomaoh

  • @jpplol_
    @jpplol_ 25 дней назад

    amazing love this video

  • @AnthonyTrax100
    @AnthonyTrax100 26 дней назад

    Me encantan tus vídeos probando nuevas cosas difíciles jajaj 🔥.

  • @teggolT
    @teggolT 26 дней назад +1

    I'd just like to add that this might not be the best advertisement for your manim course lol

  • @ernestrobert5575
    @ernestrobert5575 22 дня назад

    really liked the video :D you're so funny

  • @MathHunter
    @MathHunter 24 дня назад

    "Uranus... the planet"
    *Good, good, good.*

  • @bbok1616
    @bbok1616 23 дня назад

    s0 to s9 variables is the most beginner thing ever

  • @trialpod1
    @trialpod1 26 дней назад +23

    thats not vim

    • @geronimostrange7503
      @geronimostrange7503 26 дней назад +5

      You mean "THAT IS NOT VIM"

    • @smort123
      @smort123 26 дней назад +5

      VSCode with VIM extensions, just as Moolenaar intended.

    • @NxVernxual
      @NxVernxual 26 дней назад +1

      Fuck Vim

  • @ManosChalvatzopoulos
    @ManosChalvatzopoulos 16 дней назад

    ok for a moment I thought you were trying to recreate the whole video clip of "Do I Wanna Know?"

  • @Akram-Now
    @Akram-Now 26 дней назад

    You know I was looking for a tutorial about this for a school project

  • @unicorn_tamer
    @unicorn_tamer 26 дней назад +1

    Wait did he actually get really good at vim keybinds in just a few days?? I've been using vim for over a year and I still use the arrow keys 😭

  • @viczav
    @viczav 26 дней назад +1

    That's such a rather peculiar rocket 🧐

  • @jinendrayadav9803
    @jinendrayadav9803 25 дней назад

    Can you please make a video comparing GIMP and Photoshop like the affinity one.

  • @Mike.G97
    @Mike.G97 День назад

    Whats the link to interactive 3d rotations tool you found?

  • @lastdeat3286
    @lastdeat3286 26 дней назад

    I love your videos they are so sooting

  • @midann
    @midann 26 дней назад

    The quick in-n-out adventure:

  • @GrapeJuicez
    @GrapeJuicez 26 дней назад

    After the main dish (Arch linux installation) we're going to have this dessert