LogoAtom
Animation
Studying the details and the parameters using GeoGebra
Inspiration and Origin
LogoAtom is an animation based on the classic atomic logo, with electrons orbiting around the nucleus. The inspiration for this animation came from the work of Keishiro Ueki (keishiroueki.net), who shared a similar idea on social media.
In an initial study, I explored the motion in GeoGebra, analyzing the trajectories and orbital behavior of the electrons. Later, I transferred these principles to p5.js, where I developed the final animation.
Animation Dynamics
The animation follows a cyclical structure in which:
- A central nucleus remains static.
- Electrons orbit around it, following trajectories that combine circles and rotating triangles.
- Variations in speed and rotation angles create a dynamic effect.
- Orbit intersections generate a woven visual effect.
- The system loops continuously to reinforce the sensation of constant motion.
Technical Implementation
The animation in p5.js is based on geometry concepts and coordinate transformations:
- Trajectory construction: Trigonometric equations define the orbits and electron displacements.
- Motion vectors:
p5.Vectoris used to calculate dynamic positions. - Position history: Electron trajectories are stored in arrays to visualize motion traces.
- Color interpolation: Variations in opacity and electron colors simulate a persistence effect.
Classroom Application
I have used this animation in class to teach students about:
- Graphic programming concepts in p5.js.
- Using GeoGebra to analyze movements before coding them.
- The relationship between mathematical models and their computational implementation.
- Using vectors in animations to efficiently calculate dynamic positions.
This experience has served as an excellent example of how programming can be used to visualize and understand scientific and mathematical phenomena interactively.
Code (p5.js)
| Text Only | |
|---|---|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 | |