Hi everyone! I have been working on animating text, TeX and geometric shapes in GSoC’21 with mentors @Jithin and @mcintyre. I would like to share some of the results here with the community.
You can see the library at GitHub - two-ticks/p5.teach.js at develop, library is in progress (any suggestions and feedback are welcomed ).
Collection : p5.js Web Editor
Text and TeX animations
2-D Graphs
2-D Polar Graphs
2-D Parametric Graphs
createText(text, x, y, font-size)
Parameters
Parameter | Type | Description |
---|---|---|
text | string |
the alphanumeric symbols to be displayed |
[x] | number |
x-coordinate of text |
[y] | number |
y-coordinate of text |
[font-size] |
number px |
font-size of text |
[ ] : optional arguments
Methods
Method | Description |
---|---|
object.position(x, y) | sets position of text object |
object.size(font-size) | sets size of text object |
object.fill(fillColor) | sets fill of text object |
object.play(“animation-type”, [startTime], [endTime]) | play animation of specified type (startTime and endTime are in seconds) |
object.add() | adds object to scene without animation |
object.remove() | removes object from scene without animation |
Animations | Description |
---|---|
write |
Writes the text with a blurry effect at each new character |
fadeOut |
Make a fade-out effect |
fadeIn |
Make a fade-in effect |
waveIn |
Make a wave in effect: appears on the screen with a wave |
waveOut |
Make a wave out effect: disappear from the screen with a wave |
erase |
Make an eraser effect and make text disappear from the screen |
dissolve |
Dissolves the text and make it disappear from the screen |
spinOut |
Spins the text and make it disappear from the screen |
createTeX(tex, x, y, font-size)
Parameters
Parameter | Type | Description |
---|---|---|
tex | string |
escaped TeX sequence |
[x] | number |
x-coordinate of tex |
[y] | number |
y-coordinate of tex |
[font-size] |
number px |
font-size of text |
[ ] : optional arguments
Methods
Method | Description |
---|---|
object.position(x, y) | sets position of tex object |
object.size(width, height) | sets width and height of tex object |
object.fill(fillColor) | sets fill of tex object |
object.stroke(strokeColor) | sets stroke color of tex |
object.strokeWidth(strokeWidth) | sets stroke-width of tex |
object.play(“animation-type”, [startTime], [endTime]) | play animation of specified type |
object.add() | adds object to scene without animation |
object.remove() | removes object from scene without animation |
Animations | Description |
---|---|
write |
Writes the TeX with a blurry effect at each new character |
fadeOut |
Make a fade-out effect |
fadeIn |
Make a fade-in effect |
dissolve |
Dissolves the tex and make it disappear from the screen |
appear |
make it appear from the screen character by character |
blink |
blinking tex |
create2DGraph(equation, x, y, width, height)
Parameters
Parameter | Type | Description |
---|---|---|
equation | function |
function to be plotted |
[x] | number |
x-coordinate of graph |
[y] | number |
y-coordinate of graph |
[width] |
number px |
width of SVG |
[height] |
number px |
height of SVG |
[ ] : optional arguments
Method | Description |
---|---|
object.plot() | plots the graph |
object.position(x, y) | sets position of graph object |
object.size(width, height) | sets width and height of graph object |
object.stroke(strokeColor) | sets stroke color of graph object |
object.play() | play animation of creation |
object1.transform(object2) | transforms object1 into object2 |
create2DPolarGraph(equation, theta-range, x, y, width, height)
Parameters
Parameter | Type | Description |
---|---|---|
equation | function |
function to be plotted |
theta-range | number array |
range of theta |
[x] | number |
x-coordinate of graph |
[y] | number |
y-coordinate of graph |
[width] |
number px |
width of SVG |
[height] |
number px |
height of SVG |
[ ] : optional arguments
Method | Description |
---|---|
object.plot() | plots the graph |
object.position(x, y) | sets position of graph object |
object.size(width, height) | sets width and height of graph object |
object.stroke(strokeColor) | sets stroke color of graph object |
object.play() | play animation of creation |
object1.transform(object2) | transforms object1 into object2 |
create2DParametricGraph(x, y, [range])
Parameters
Parameter | Type | Description |
---|---|---|
x expression | function |
x expression |
y expression | function |
y expression |
[range] | number array |
range of parameter |
[ ] : optional arguments
Method | Description |
---|---|
object.plot() | plots the graph |
object.position(x, y) | sets position of graph object |
object.size(width, height) | sets width and height of graph object |
object.stroke(strokeColor) | sets stroke color of graph object |
object.play() | play animation of creation |
object1.transform(object2) | transforms object1 into object2 |