Javis
Javis: Julia Animations and Visualizations
Introduction
Javis
makes generating simple animations a breeze!
Want to learn more?
Check out our documentation for tutorials, our contributing guidelines, and the mission of Javis.jl
!
Join Our Developer Community!
We have a live Zulip stream that you can join to discuss Javis with other Javis users! We'd love to have you and hear your thoughts and see what you are making!
Gallery
Tutorials
Animation | Animation |
---|---|
![]() |
![]() |
Tutorial: What Are Actions? | Tutorial: Making Your First Javis Animation! |
![]() |
![]() |
Tutorial: Taming the Elements | Tutorial: Do You Know Our Mascot? |
![]() |
![]() |
Tutorial: Rendering LaTeX with Javis! | Tutorial: Using Animations.jl with Javis! |
Examples
Animation | Animation |
---|---|
![]() |
![]() |
Follow a Path | Draw the Julia Logo |
Installation
To install Javis
into your Julia installation, type into your Julia REPL the following:
julia> ] add Javis
That's all there is to it!
Optional Dependency
Javis
supports LaTeX
and currently we need this node dependency for it. We are looking forward to the time when everything can be handled by Julia.
npm install -g mathjax-node-cli
If you don't need LaTeX
, there is no reason to install this
State of development
Javis.jl
is currently under heavy development but we wanted to bring you a first version after we received over 30 stars. It makes it easier to try out Javis.jl
for you and we are looking forward to bug reports and issue requests. More the latter, but we expect things to fail!
Current state
v0.2.0
Javis
currently supports very simple animations with:
LaTeX
support- Transformations
- Subactions
- Drawing grid lines
- Morphing one shape into another
- Image Viewer (
; liveview=true
) - Compatibility with Animations.jl
Future goals
We have a list of issues for v0.3.0 and beyond which contain things like:
- Animating transposing a matrix using morphing PR #175
- Combine actions into layers/collections
- Polar coordinates
- Vectors
- ...
Read more about the current state and our vision
Make sure to add a feature request if you think we miss something fundamental or something that would be nice to have.
Acknowledgements
We want to thank a couple of people who helped make this possible.
Core Inspirations
- First of all the over thousand contributors of Julia itself
- Grant Sanderson of 3blue1brown - thanks for inspiring us to create something like this in Julia!
- Cormullion the inventor of Luxor.jl
- JuliaGraphics in general who provide the wrapper Cairo.jl for the Cairo graphics library
Contributors
- @sudomaze for helping out with tutorials and feedback for v0.1.0
- @mythreyiramesh helping with cleaning up tutorials
- @briochemc for spotting and cleaning up tutorial typos and grammar
- @ric-cioffi for adding the Julia Logo example and for feedback
- @findmyway for fixing typos in documentation
- @ArbitRandomUser for cleaning up the LaTeX code base
- @agerlach for improving the internal LaTeX parsing
- @matbesancon for adding in an example on projections and for identifying an issue with Javis image processing
- @Sov-trotter for implementing the Jupyter viewer