One very simple keyboard interaction that I have been finding extremely useful in my own work is one to print out the current Euler angles of the camera. That way once I've found a camera angle I like using the existing mouse interactions, I can quickly output what the angles are and paste them into my scene. Here's my implementation. Press 'a' while in the interactive embed window and you get a printout to the console window like "(theta=22*DEGREES, phi=-84*DEGREES, gamma=0*DEGREES)". def on_key_press(self, symbol, modifiers): from pyglet.window import key as pyglet_key if symbol == pyglet_key.A: (theta, phi, gamma) = (f"{angle/DEGREES:.0f}*DEGREES" for angle in self.camera.euler_angles) print (f"({theta=!s}, {phi=!s}, {gamma=!s})") super().on_key_press(symbol, modifiers)
Hi, please create one video about transforming Latex expressions. Let's say you want to create a video that simplifies expression step by step. How can we do it beatifully and what options do we have. Thanks a lot in advance.
Is there a possibility to implement something like a slider control to change parameters and have some graphics changing interactively (kind of an „geogebra emulation“ but in combination with programmatical animation which is not possible in ggb)?
Thank you for the wonderful video! When I try the same codes in the OpenGL demo, I get an error saying that 'OpenGLSurface' object has no attribute 'shader_wrapper'. Do you think I am missing a package?
Hey! I think you also asked via Discord, just for the sake of answering the question here too: this was a bug which we have just fixed; a new release (Manim v0.17.2) has been published a few minutes ago. :-)
Benjamin, thank you so much for these tutorials, made reading the documentation easier. Btw can we have this interactivity using openGL in web, maybe if someone wants to have a React app, in that case?
Hi benjamin, yet another great piece ! I wonder whether we can find in openGL features to display/plot implicit surfaces ( f(x,y,z)=0 ). The reason I'm asking is because transforming implicit to parametric is not (to my knowledge) an easy task. May be my question is naive as my knowledge about OpenGL goes back to its origin when using mainframes to make some little computations like displaying a polynomial.
Thanks! Good question -- I don't think that there is a good way; certainly nothing that is already implemented. The approach that is used for plotting two-dimensional equations scales badly (if at all) for three-dimensional ones.
probably the best video so far on the topic, Quick question: When I use the manim.cfg file to set the renderer, enable the GUI, force the window, and set write_to_file to false, should this replace all the CLI arguments, so I only need to run manim [file] [scene]? It seems to default to the Cairo renderer unless I explicitly specify it in the CLI. Is this an issue on my end, or could it be a genuine bug?
Thanks for the kind words! It is possible that this is indeed a genuine bug -- if you feel like it, open an issue over at github.com/ManimCommunity/manim so that we can check it properly. (Changes to make the config system more robust will likely happen in the near future.) Cheers!
AMAZING!!! So glad you're doing this stuff, thank you! May I ask what file format the output tutorial is? I guess it can't be mp4. I noticed at 45:19 that you talked about how this can only be used locally at this point. In principle, do you think it could be possible in the future to embed this type of interactive video in a current LMS like Canvis/blackboard/moodle? Thanks :) :) :)
Thank you! :-) Output: there *is* no output file; the application is just running in the render preview window; as mentioned in the video: if you want to share this, you'll have to record your screen. As for embedding: I'd say it is a long-term goal to get this sort of functionality up and running in some sort of shareable format, but there is a lot of work to be done to actually get there.
@@behackl Hi Ben, do you know where I can keep updated on the latest status of interactive videos using MANIM? I'm a University teacher and I want to hire a few students to create interactive videos with me, but I have yet to decide the best platform to do it it in. I'm torn between MANIM and FigureOne (JS library)
@@matthewjames7513 Hey Matthew! There hasn't been much change, feature-wise, since I've recorded this video. (I don't find as much time to work on it as I'd like to have, unfortunately.) If you want others to interact with your videos too (in contrast to only you interacting during a lecture), I'd definitely recommend some JS Library like FigureOne, Liqvid, or Motion Canvas. Good luck! 🙂
Hi Benjamin, thank you for that awesome intro to the interactive mode! Is it possible to extract the current camera angles, once I have set it up the way I like?
Thanks for the kind words! I think you might have already asked the same question in our Discord, but for the sake of completeness I'll answer here too: Inside of the construct method, you can use self.renderer.camera.euler_angles to get a list consisting of the current values of [theta, phi, gamma].
Hey Ben! at 11:10 you type into your command window "manim -qm -p --renderer=opengl e05.py Open" I assume the end of that line is just OpenGL, right? I plan to write this instead of the normal normal "python -m manim filename.py"
ah I realized that you just wrote the class name at the end. But when I run it, it says I cannot find the path, which is weird because i've previously set the path to my folder "cd ": "manim : The term 'manim' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again."
Hey! Apologies, I've been travelling the past week -- it sounds like as if manim is not on your PATH; perhaps you have fixed it already -- but if not, the easiest fix is to google for "add python executable module to PATH" for your operating system and you should find helpful answers.
hey man i have been trying to work through some simple animation of scaling a vector by using manim, however i think scale method scales any mobject from its centre, but in case of scaling vector it should scale having its origin fixed, how do i animate such scaling of vector?
Hey! YT comments are not great for discussing a problem like this, take a look at this page in our documentation to see different ways of getting help: docs.manim.community/en/latest/faq/help.html#faq-getting-help
Are you sure you are running manim with the --renderer=opengl flag? Otherwise check this link for suggestions how to get help more efficiently than via YT comments: docs.manim.community/en/stable/faq/help.html
You have to install IPython, something like "pip install IPython" or "python -m pip install IPython" should do the trick. :-) If you are getting an error mentioning something about SQL, run the install command again, but with IPython==8.0.1 instead!
This is a very particular question; from what you are asking I can't quite tell what exactly you would like to see. I don't think this here is a good place to keep discussing; I'd recommend asking in our Discord (manim.community/discord), or open a Discussion in our GitHub repository (github.com/ManimCommunity/manim/discussions/new).
Hallo! Ich denke, die letzten paar Termine + Ersatztermine habe ich ziemlich abgedeckt; der nächste ist also vermutlich der am 3.5. stattfindende Haupttermin. :-)
Thanks for the high-quality information-dense videos. Just what I was looking for.
The whole series is amazing. I think your channel deserves much more subscription.
One very simple keyboard interaction that I have been finding extremely useful in my own work is one to print out the current Euler angles of the camera. That way once I've found a camera angle I like using the existing mouse interactions, I can quickly output what the angles are and paste them into my scene.
Here's my implementation. Press 'a' while in the interactive embed window and you get a printout to the console window like "(theta=22*DEGREES, phi=-84*DEGREES, gamma=0*DEGREES)".
def on_key_press(self, symbol, modifiers):
from pyglet.window import key as pyglet_key
if symbol == pyglet_key.A:
(theta, phi, gamma) = (f"{angle/DEGREES:.0f}*DEGREES" for angle in self.camera.euler_angles)
print (f"({theta=!s}, {phi=!s}, {gamma=!s})")
super().on_key_press(symbol, modifiers)
AMAZING!
Thanks for this, this is simply AWESOME!
Thank you very much my brother, a lot of love from Brazil
So cool. Thanks for all your work.
Hi, please create one video about transforming Latex expressions. Let's say you want to create a video that simplifies expression step by step. How can we do it beatifully and what options do we have. Thanks a lot in advance.
Thank you for the suggestion!
Thank you so much to you, for those great videos and your work on manimCE!
A great addition to the tutorial series
Very good explanation and an amazing content creation ... best of luck
Is there a possibility to implement something like a slider control to change parameters and have some graphics changing interactively (kind of an „geogebra emulation“ but in combination with programmatical animation which is not possible in ggb)?
Have you tried to jointly use Manim and some GUI library like Tkinter or PyQT?
@@Scriptum_1 no but now I will
This is great!! Thanks for the awesome introduction. Is there any update yet about sharing these interactions?
Nothing new to report, unfortunately.
@@behackl ok, thanks for the response!
For the sake of humanity, we need more videos from you.
Soon! There are a few other things right now that require my attention more than creating videos, unfortunately. :-)
Thanks! This tutorial is very useful!
Glad to hear and happy you liked it! Thank you!
Thank you for the wonderful video! When I try the same codes in the OpenGL demo, I get an error saying that 'OpenGLSurface' object has no attribute 'shader_wrapper'. Do you think I am missing a package?
Hey! I think you also asked via Discord, just for the sake of answering the question here too: this was a bug which we have just fixed; a new release (Manim v0.17.2) has been published a few minutes ago. :-)
Benjamin, thank you so much for these tutorials, made reading the documentation easier.
Btw can we have this interactivity using openGL in web, maybe if someone wants to have a React app, in that case?
Hi benjamin, yet another great piece !
I wonder whether we can find in openGL features to display/plot implicit surfaces ( f(x,y,z)=0 ). The reason I'm asking is because transforming implicit to parametric is not (to my knowledge) an easy task. May be my question is naive as my knowledge about OpenGL goes back to its origin when using mainframes to make some little computations like displaying a polynomial.
Thanks! Good question -- I don't think that there is a good way; certainly nothing that is already implemented. The approach that is used for plotting two-dimensional equations scales badly (if at all) for three-dimensional ones.
Thanks for such amazing content.
Kindly add more on camera, multi_camera , moving_camera , 3d_camera and mapping camera.
interesting ideas, thank you!
probably the best video so far on the topic, Quick question: When I use the manim.cfg file to set the renderer, enable the GUI, force the window, and set write_to_file to false, should this replace all the CLI arguments, so I only need to run manim [file] [scene]? It seems to default to the Cairo renderer unless I explicitly specify it in the CLI. Is this an issue on my end, or could it be a genuine bug?
Thanks for the kind words! It is possible that this is indeed a genuine bug -- if you feel like it, open an issue over at github.com/ManimCommunity/manim so that we can check it properly. (Changes to make the config system more robust will likely happen in the near future.) Cheers!
AMAZING!!! So glad you're doing this stuff, thank you! May I ask what file format the output tutorial is? I guess it can't be mp4. I noticed at 45:19 that you talked about how this can only be used locally at this point. In principle, do you think it could be possible in the future to embed this type of interactive video in a current LMS like Canvis/blackboard/moodle? Thanks :) :) :)
Thank you! :-)
Output: there *is* no output file; the application is just running in the render preview window; as mentioned in the video: if you want to share this, you'll have to record your screen.
As for embedding: I'd say it is a long-term goal to get this sort of functionality up and running in some sort of shareable format, but there is a lot of work to be done to actually get there.
@@behackl Hi Ben, do you know where I can keep updated on the latest status of interactive videos using MANIM? I'm a University teacher and I want to hire a few students to create interactive videos with me, but I have yet to decide the best platform to do it it in. I'm torn between MANIM and FigureOne (JS library)
@@matthewjames7513 Hey Matthew! There hasn't been much change, feature-wise, since I've recorded this video. (I don't find as much time to work on it as I'd like to have, unfortunately.) If you want others to interact with your videos too (in contrast to only you interacting during a lecture), I'd definitely recommend some JS Library like FigureOne, Liqvid, or Motion Canvas. Good luck! 🙂
where could i find the documations of opengl methods, for example i want to learn more about opengltexturesurface method?
Awesome job! You deserve way more subscribers, bro!! Keep up the great work!
Thank you for the kind words! Manim tutorials are still pretty niche content, but we'll see how things develop. :-)
New Manim video, Awesome
Thanks a lot MSensei
Excellent!
Can't wait till this hits Udemy
Hi Benjamin,
thank you for that awesome intro to the interactive mode! Is it possible to extract the current camera angles, once I have set it up the way I like?
Thanks for the kind words! I think you might have already asked the same question in our Discord, but for the sake of completeness I'll answer here too: Inside of the construct method, you can use self.renderer.camera.euler_angles to get a list consisting of the current values of [theta, phi, gamma].
Yes, I asked it there as well, not realizing that it would be kind of ending in the same pool of people ;) Thank you very much for the answer!
Awesome
Hey Ben! at 11:10 you type into your command window "manim -qm -p --renderer=opengl e05.py Open" I assume the end of that line is just OpenGL, right?
I plan to write this instead of the normal normal "python -m manim filename.py"
ah I realized that you just wrote the class name at the end. But when I run it, it says I cannot find the path, which is weird because i've previously set the path to my folder "cd ":
"manim : The term 'manim' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is
correct and try again."
Hey! Apologies, I've been travelling the past week -- it sounds like as if manim is not on your PATH; perhaps you have fixed it already -- but if not, the easiest fix is to google for "add python executable module to PATH" for your operating system and you should find helpful answers.
hey man i have been trying to work through some simple animation of scaling a vector by using manim, however i think scale method scales any mobject from its centre, but in case of scaling vector it should scale having its origin fixed, how do i animate such scaling of vector?
Hey! YT comments are not great for discussing a problem like this, take a look at this page in our documentation to see different ways of getting help: docs.manim.community/en/latest/faq/help.html#faq-getting-help
This was a great video!!!
More please 🙏
More episodes soon! What would you like to learn more about?
Thanks 👍
when i tray that code they told me AttributeError: 'Camera' object has no attribute 'animate'
Are you sure you are running manim with the --renderer=opengl flag? Otherwise check this link for suggestions how to get help more efficiently than via YT comments: docs.manim.community/en/stable/faq/help.html
Hey guys, i get a error (No module named IPython) or smthn like it when i used interactive_embed
You have to install IPython, something like "pip install IPython" or "python -m pip install IPython" should do the trick. :-)
If you are getting an error mentioning something about SQL, run the install command again, but with IPython==8.0.1 instead!
Had the same problem. As author suggested using:
pip install ipython==8.0.1
solved missing ipython and sql problem.
thanks a lot
Can to please tell me how to animate the zeta function transformation on the complex plane in manim
This is a very particular question; from what you are asking I can't quite tell what exactly you would like to see. I don't think this here is a good place to keep discussing; I'd recommend asking in our Discord (manim.community/discord), or open a Discussion in our GitHub repository (github.com/ManimCommunity/manim/discussions/new).
@@behackl thanks
hi benjamin, wann rechnest du den nächsten matura termin
Hallo! Ich denke, die letzten paar Termine + Ersatztermine habe ich ziemlich abgedeckt; der nächste ist also vermutlich der am 3.5. stattfindende Haupttermin. :-)
@@behackl danke für die rasche antwort! liebe deine videos obwohl ich noch weit von der matura weg bin! LG