1. Choose a topic;
2. Click the corresponding image;
3. Click "add";
4. Use the mouse for interactivity and/or edit the code.
Reminder: the editor uses infinite undo/redo in the code (Ctrl+Z / Shift+Ctrl+Z) !JSPlotly at School
1 Graphs
1.1 Simple - UVM (Physics)
BNCC: EF09CI03, EM13CNT204, EM13CNT101
Equation:
\[ S(t) = S_0 + v_0,t + \frac{1}{2} a t^2 \]
where:
- (S(t)) is the position at instant (t);
- (S_0) is the initial position;
- (v_0) is the initial velocity;
- is the constant acceleration;
- is time.
\[ v(t) = v_0 + a t \]
Suggestion:
1. Try replacing the acceleration value and overlay the graph: "const a = 5", followed by "add";
2. Keep the data, but replace the initial velocity value, "const v0 = 3", overlaying afterwards.1.4 Slider for a function (Mathematics)
BNCC: EF07MA20, EF09MA20, EM13MAT302, EM13MAT304
Obs: This didactic object has a trick…in fact, two! After clicking add, it is necessary to slide the slider first to visualize the graph. And to visualize an animation for another equation, it is necessary to refresh the page, as instructed in the lower margin of the graphic screen.
Suggestion:
1. Slide the control to evidence the manual animation;
2. Try replacing the model equation with another, and drag the slider control to observe the effect;
3. Change some parameters for the animation, for example, increasing the "frames" levels (slider.max = "50"; slider.value = 1);
4. Reload the page and change the mathematical function; ex: "let f = x => Math.sin(x);"
1.5 Multiple sliders for parabola (Mathematics)
BNCC: EF07MA20, EF09MA20, EM13MAT302, EM13MAT304
1. Drag any slider, and observe the presented trend, as well as the change in the equation parameters at the top;
2. As in the previous example, it is possible to change the mathematical function in the code, as well as the parameters for a new slider. Test this by changing the function " y_values = x_values.map(x => a * x * x + b * x + c);
" to " y_values = x_values.map(x => Math.sin(a * x * x + b * x + c));"1.6 Fractal composition
BNCC: EM13MAT301, EM13MAT305, EM13MAT401, EM13ARM502, EF09MA10
Equation
\[ z_{n+1}=z_{n}^{2}+c \]
Where:
z ∈ C: usually initialized as the point of the complex plane;
c ∈ C: fixed for each Julia set.
Suggestion
1. Try changing the Real and Imaginary components of the formula, to obtain distinct artistic patterns. Suggestions:
c = 0 + 0i
c = -0.4 + 0.6i
c = 0.285 + 0i
c = -0.8 + 0.156i
c = 0.45 + 0.1428i
1.7 Fractal of Mandelbrot
Suggestion
1. Select distinct colors and magnification levels ("zoom") in the two menus, for distinct visualizations;
2. Check where the equations that define the Mandelbrot profile are in the code, and make small changes to verify distinct results.
1.8 Normal distribution curve (Statistics)
BNCC: EM13MAT316, EM13MAT407, EM13MAT312
Equation
\[ f(x) = \frac{1}{\sigma \sqrt{2\pi}} , e^{ -\frac{(x - \mu)^2}{2\sigma^2} } \]
Where:
- \(\mu\) = 0 (mean of the distribution);
- \(\sigma\) = 1 (standard deviation);
- x = continuous random variable; f = density function of the normal distribution
\[ z = \frac{x - \mu}{\sigma} \]
Suggestion:
1. Try changing the value of "p" and run the graph. This value represents the probability of observing, under the null hypothesis, a value as extreme or more extreme than the observed — that is, it measures the evidence against the null hypothesis. In the graph, it represents the area under the normal curve in the critical regions, indicating the chance of occurrence of the observed result by pure chance.
1.9 Compound Interest (Financial Mathematics)
BNCC: EF09MA05, EM13MAT303, EM13MAT402
Equation:
\[ M = C \cdot (1 + i)^t \]
Where,
- M: final amount
- C: initial capital
- i: interest rate per period (in decimal)
- t: number of periods (ex: months)
Suggestion:
1. Vary the contracting period, the monthly interest rate or the initial amount.
2. Try combining the parameters in the variation.
3. Evaluate the visual difference between an investment and a loan, inserting a positive initial capital value for the 1st and negative for the 2nd.
4. Observe the descending curve for a simulated loan with negative initial capital. The remaining values refer to the missing debt to pay off the loan.
1.10 Pitch, harmony and timbre of sounds (Physics)
1.10.1 BNCC: EF15AR06, EM13ARH402
Suggestion:
1. Test other keys (C,G,D, etc), observing how the pure wave is presented by overlaying the graphs;
2. Evaluate the difference between a pure wave and that produced with musical instruments, involving natural harmonics. For this, change the boolean option from "false" to "true" in the variable "const ondaComposta".
1.11 Oblique launch (Physics)
BNCC: EF09MA07, EM13CNT102, EM13CNT104, EM13CNT302
Equation:
1. General equation
\[ y(x) = x \cdot \tan(\theta) - \frac{g}{2 v_0^2 \cos^2(\theta)} \cdot x^2 \]
Where:
- y(x): height as a function of horizontal distance;
- x: horizontal position (m);
- \(\theta\): launch angle relative to the horizontal (radians or degrees);
- v0: initial velocity of the projectile (m/s);
- g: acceleration of gravity (9,8 m/s²\(^{2}\))
2. Total flight time:
\[ t_{\text{total}} = \frac{2 v_0 \sin(\theta)}{g} \]
3. Horizontal position over time
\[
x(t) = v_0 \cos(\theta) \cdot t
\]
Suggestion:
1. See that there is a slider bar for initial angles in the simulation. Drag the bar to another angle and add the graph, comparing the effect of this modification.
2. Change the initial velocity in the code, and observe the effect on the graph.
3. Simulate a "lunar condition" for the trajectory, and whose gravity is around 1/6 of Earth's (~1.6 m/s²).
1.12 3D graph for absorption bands as a function of concentration (Chemistry)
BNCC: EF09CI04, EF09MA17, EM13CNT103, EM13MAT305
Suggestion
1. Try changing the graph pattern and its colors. Respectively: type: 'surface', colorscale: 'Viridis');
2. Change the wavelength range, separating the peaks; for this, change the min/max lambda variables: const lambdaMin = 450, lambdaMax = 600;
1.13 Heat Capacity (Physics)
BNCC: EF09CI06, EM13CNT104, EM13CNT203
Equation:
\[
Q = c \cdot m \cdot \Delta T
\]
Suggestion:
1. Try varying the temperature initially, overlaying some graphs;
2. Also vary the mass in the code editor, for comparison.
1.14 3D graph for mixture of substances in exothermic reaction (Chemistry)
BNCC: EF09CI02, EM13CNT103, EM13CNT103
Suggestion:
1. Try varying the temperature initially, overlaying some graphs;
2. Also vary the mass in the code editor, for comparison.
1.15 Interactive panel (dashboard) for environmental measurements (simulated data)
BNCC: EF07MA21, EF09MA21, EM13MAT406, EM13LGG604
Suggestion:
1. Even though it is an object that only simulates data acquisition, one can obtain a different result by interfering in the code, such as:
a. Changing the sliders: "slider.min = "0";slider.max = "24"; slider.step = "1" " ;
b. Changing the equations that define the behavior of the displays:
"const tempo = Array.from({ length: 25 }, (_, i) => i); // 0 a 24h
const temperatura = tempo.map(t => 20 + 5 * Math.sin((t - 6) / 3)); // pico 12h
const condutividade = tempo.map(t => 100 + 30 * Math.cos(t / 5)); "
1.16 Area of Brazilian biomes (Biology)
BNCC: EF05GE05, EF08GE08, EM13CNT301, EM13CNT304
Suggestion
1. The presented data are only for simulation purposes. Wanting more robust data, safe sources are recommended (ex: MapBiomas Brasil - https://brasil.mapbiomas.org/)
2. This is a bar chart, only that. If you change the information present in the constants of the first 3 vectors ("const X = [...]"), you can convert the representation to a different topic.
1.17 Water cycle diagram (Biology)
BNCC: EF06CI03, EF06CI04, EM13CNT103, EM13CNT202
Suggestion:
1. As for diagrams above, try changing in the code the properties of arrows and the terms and fields involved in the flowchart;
2. Replace terms to form another flowchart;
3. Reposition objects in the graphic area (fields, terms, arrows) with the help of the mouse.
1.18 Flowchart of light and dark cycles of photosynthesis (Biology)
BNCC: EM13CNT101, EM13CNT103, EM13CNT201, EM13MAT405
Suggestion
1. Try repositioning inputs and outputs (ex: Light, Glucose) by simple mouse dragging;
2. Replace the terms inside the boxes, or change other aspects of the diagram (color, fill, for example).
1.19 Population Growth Model with Lag Phase (Biology)
BNCC: EM13CNT102, EF06MA17, EF08CI06, EM13MAT301, EM13CNT201
Equation:
\[ N(t) = \frac{K}{1 + \left(\frac{K - N_0}{N_0}\right) \cdot e^{-r \cdot A(t) \cdot t}}, \quad \text{com } A(t) = \frac{1}{1 + e^{-k(t - t_0)}} \]
Where:
- K = environmental carrying capacity;
- N0 = initial population;
- r = intrinsic growth rate;
- A(t) = growth activation factor with delay (lag phase);
- t0 = midpoint of transition between lag phase and log phase;
- k = smoothing constant of the delay (fixed as 0.5 in the code)
Suggestion:
1. Try varying the equation parameters, combining some, and comparing their effects on the graphs:
a. Carrying capacity;
b. Initial population;
c. Growth rate;
d. Delay (lag phase);
1.20 Energy efficiency and food chain (Biology)
1.20.1 BNCC: EF06CI02, EM13CNT202, EM13CNT203
Suggestion
1. Lindeman's rule, outlined in the reference above, establishes a variation of 5-20% of energy efficiency in the ecosystem. Thus, try overlaying curves with such rates;
2. If you want to observe the logarithmic relation of energy transfer, add the command "type: 'log'," right below "title: 'Energia disponível (unidades)',".
1.21 Slang spoken in Brazil from 1980-2020 (Languages)
BNCC: EF89LP19, EM13LGG102
1. One can use mouseover to observe the "tip" presented for each data in the graph.
1.22 Word frequency in text (Languages)
BNCC: EM13LGG101, EM13LGG302, EM13LGG303
Suggestion
1. Try replacing the code text with another;
2. Try varying the number of most frequent terms in the variable "const entradas" (optionally, also vary in the chart title, to make sense);
3. Compare a text in Portuguese with its translation to English or another language.
1.23 Literary works and aesthetic movements (Languages)
1.23.1 BNCC: EF89LP47, EM13LP01, EM13LP02, EM13LGG201
Suggestion
1. Drag the extreme markers to enlarge the focus on a specific period of literature;
2. Change the script adding other key works in "const obras =" and "const periodos ="
1.24 Creation of 3D objects (Art)
BNCC: EF09MA16, EF15AR06, EM13MAT405, EM13LGG604
1. Try changing some values in the script, testing the result. For example, create a mat (or flattened watermelon) by changing the code in: "const zVal = L * (t - 0.5)"...to "const zVal = L * (t - 20.5);"
1.25 Interactive diagram about papal encyclicals (Religious Education)
BNCC: EF05ER01, EF09ER02, EM13ER04
Suggestion
1. To perceive the dynamism of the representation, try dragging any part of the flowchart, and observe the accommodation of the others;
2. As before, one can change the constant information in the flowchart, keeping its graphic and dynamic characteristics, simply by changing the constants used to generate the object ("const = ").
1.26 Music notation editor (Art)
BNCC: EF15AR06, EF69AR22, EM13ARH402
1. Try changing the melodic sequence in the corresponding vector in the code;
2. Try changing the duration figures in the corresponding vector
1.27 Distribution of enslaved people in the Americas in the period 1500–1888 (simulated data; History)
BNCC: EF08HI06, EM13CHS104, EM13CHS503
Suggestion:
1. Try switching between periods in the drop-down menu, comparing the estimates of slave traffic;
2. Select a period, create the graph, select another period, and add another graph. This allows comparing the quantity of enslaved people landed by the formed double bars, and mouseover each bar.
1.28 Timeline for events of the Middle Ages (History)
BNCC: EM13CHS101, EM13CHS102
Source: Encyclopedia.com
Suggestion:
1. Try changing in the code events and periods, and intended for another period of human History.
1.29 Pottery wheel vase (STEAM)
BNCC: EM13MAT101, EM13MAT403, EM13CNT204, EM13AR01, EM13AR02
1. Change the vase height, its shape, and its colors, editing the code in the specific fields.1.30 Mini CAD (Computer-Aided Design- STEAM)
BNCC: EM13MAT301, EM13MAT503, EM13MAT402
1. Try changing the base parameters, height and curvature of the code, also varying the sign of the values (positive, negative);
2. Change some trigonometric function (lineX or lineY, sine to tangent, for example), and overlay on the plot;
3. Overlay geometric figures with distinct color palette.
4. Create symmetric figures by overlaying a curve with positive parameter with one with the same negative parameter.
2 Maps
2.1 Map of Brazil and Capitals
BNCC: EM13CHS101, EM13CHS202, EM13CHS301
Suggestion:
1. Try using the mouse scroll button and the "pan" icon on the top bar, to interact with the map.
2.2 World map with some large cities
BNCC: EF06GE05, EF07GE06, EM13CHS101, EM13MAT502
1. Try changing the script, inserting other cities with their respective geographic coordinates in "const data" (text, long - longitude, lat - latitude)
2.3 Map and GDP of the Middle East
2.3.1 BNCC: EF09GE03, EF08GE06, EM13CHS104, EM13CHS201
Suggestion:
1. Try using the mouse scroll button;
2. Click on a country to identify its name and approximate gross domestic product;;
3. Modify the code to update some data, or to modify the information (changing GDP to another data, for example).
3 Text Output
3.1 Training in JavaScript (Computer Science)
BNCC: EF09LP27, EF06MA20, EM13MAT503, EM13LGG701
Suggestion:
1. Here the "sky is the limit"! There are countless possibilities for commands and functions in JavaScript, as well as for joint output of data, calculations and graphs.
4 Animations
4.1 Histogram (Statistics)
BNCC: EF09MA21, EM13MAT406, EM13MAT407
Suggestion:
1. Observe at the top of the script the various constants that can be changed for a distinct animation, and try changing them one by one to understand both the action of the object, and the statistical content it refers to:
const mu = 0 (mean);
const sigma = 1 (standard deviation);
const n_frames = 50 (no. of frames);
const sample_per_frame = 20 (sample rate/frame);
4.2 Elastic potential energy (Physics)
BNCC: EM13CNT102,EM13CNT202, EM13MAT402
Equation
\[ F = -k*x \]
Where:
- F = restoring force of the spring (N);
- k = spring elastic constant (N/m);
- x = deformation (m).
\[ E = \frac{1}{2}*k*x^2 \]
Where:
- E = elastic potential energy (J).
Suggestion:
1. Try changing the value of the spring elastic constant to evidence its effect, relating it to stiffer or less stiff springs;
2. Change the deformation limits of the spring in the "control structure" of the code (ex: "for (let x = -0.7)"), and observe the effect on maximum potential energy;
3. Note that, by the quadratic operation on the deformation value, the potential energy is always positive.
4.3 Cartographic changes over time
BNCC: EF08GE09, EF07GE05, EM13CHS102, EM13CHS104
Suggestion:
1. One can change the formatting of the map in the code to colors ("lakecolor"), menu position ("updatemenus"), duration of transition between frames ("transition"), among others;
2. This example is generic; change the constants in "paises", "anos", and "valores", and obtain a new map for a specific topic.
4.4 Oblique launch
BNCC: EF09CI09, EF09MA20, EM13CNT103, EM13MAT304
Suggestion:
1. As in the previous topic, try changing equation parameters, such as initial velocity and attack angle, and observe the effect of these changes.
4.5 Translation motion in solar system
BNCC: EF05CI08, EF07CI01, EM13CNT104, EM13CNT103
Suggestion:
1. Note that there is a slider at the top of the object; drag it to observe different speeds for the animation;
2. Note that the image was made possible by "zoom" on the graphic screen, to improve the visualization of the planets. In this sense, try using such resource during the animation;
2. See that there are 8 planets in the animation, not including the dwarf planet Pluto. This is not due to disregard to it, but because you can observe how slow the movement of the planets is as they move away from the Sun (see Neptune, practically static). In this sense, one verifies the potential of an animation with approximate data, bringing with it additional information not perceptible in textbooks on the subject.
4.6 Simple harmonic motion (Physics)
BNCC: EF09CI09, EF09MA18, EM13CNT104, EM13CNT203
Equation
\[
x(t)=Acos(ωt+ϕ)
\]
Where:
- x(t) = the position of the mass at time t;
- A = amplitude of the motion, which is the maximum distance of the mass from the equilibrium position (in this case, x=0);
- \(\omega\) = angular frequency, which defines the oscillation rate. It is calculated by 2\(\pi\)/T, where T is the period (the time for a complete cycle);
- \(\phi\) = initial phase or phase constant, which defines the position of the mass at t=0
Suggestion:
1. Try changing some parameters of the motion equation, such as amplitude A and angular frequency;
2. Increase the angular frequency of the animation by reducing the denominator in "const w";
2. Try the "html" button and evidence that the animation is preserved in the export of the file;
3. Try the "clone" button and evidence that it is possible to share the object in the frozen configuration along with the modified code
4.7 Animated spirograph
BNCC: EF07MA18, EF09MA20, EM13MAT406, EM13LGG701)
Suggestion:
1. The object allows changing the type of hypo or hypertrochoid by menu, as well as pausing the animation by button;
2. It is possible to change the trochoid pattern of the figures by modifying a mathematical relationship. As an example, look in the code for the line "Math.cos(t) + d*Math.cos(k1*t);", and change the second term to "Math.sin"
4.8 Pendular motion (Physics)
BNCC: EF09CI09, EF09MA18, EM13CNT104, EM13CNT203
Equation
\[ θ(t)=θ_0cos(ωt) \]
\[ x(t)=Lsin(θ) \]
\[ y(t)=−Lcos(θ) \]
\[ ω=\sqrt{\frac{L}{g}} \]
Where:,
- θ(t) = angular position;
- x(t) = x coordinate;
- y(t) = y coordinate;
- ω = angular frequency
Suggestion:
1. As suggested for other objects, try the "parametric exploration" of the equation involved in the code, changing its parameters;
2. Observe an advantageous characteristic of simulations over real experiments: performing them under conditions impossible in practice. For this, try the simulation as if you were on the Moon, changing the value of gravitational acceleration to 1.62 m/s^2 (but with ".", and not "," - because it is programming syntax.
4.9 Action potential in neuron (Biology)
BNCC: EF08CI08, EF09CI01, EM13CNT202, EM13CNT302
Suggestion:
1. Try changing the default values for the presented potentials in "function potencial(i)" of the code;
2. Altered values are present in some neurological conditions, such as epilepsy and multiple sclerosis.
4.10 Map of burned areas by biomes in Brazil
BNCC: EF07CI08, EF08GE08, EM13CHS101, EM13CNT201
1. It is salutary to seek more precise sources of information on the addressed themes, since GSPlotly, as an AI assistant, does not guarantee the nature of the information. In the example, the "Programa Queimadas - INPE - Terrabrasilis" is suggested (https://terrabrasilis.dpi.inpe.br/queimadas/situacao-atual/situacao_atual/);
2. One can insert more precise data in the script itself, in the field "const usar_dados_ficticios = true; // change to false and fill areaBiomaAno_real()";
3. One can modify the theme of the animated map to any other, simply by changing the data in the constants of "General Control" of the script.
4.11 Displacement of flying rivers (Environmental Sciences)
Suggestion:
1. Simulate the deforestation effect by reducing the associated empirical factor: "const desmatamento_fator = 0.01";
2. Simulate an increase in humidity in the animation: "const n_particulas = 1000";
3. Increase the dispersion of the water volume: " const x_final = x_inicial + (i / nFrames) * (Math.random() * 50 + 10);"4.12 Conway’s Game of Life
BNCC: EF06MA20, EF09MA24, EM13MAT503, EM13CNT201
Suggestion:
1. See at the top of the code that it is possible to change the grid size, time steps, and the probability of a cell being alive in "Random" mode.
4.13 Second Law of Kepler (Physics)
BNCC: EM13CNT101, EM13CNT201, EM13CNT204, EM13CNT206
Equation:
\[ c=\sqrt{a^2+b^2} \] | The planet position is calculated over time by means of the ellipse parametric equations, and the animation evidences the variation of orbital velocity: higher at perihelion and lower at aphelion. The parameter N controls the temporal resolution of the animation, while the increment dt allows visualizing, at each step, the area swept by the Sun–planet radius vector.
Suggestion:
1. Observe that, although the planet travels different distances in equal time intervals, the swept area remains constant, translating in an intuitive way the conservation of angular momentum in orbital motion. This means that the planet's velocity varies, being faster at perihelion (near the Sun) and slower at aphelion (far);
2. Try running the simulation varying the axes "a" and "b" for Earth. A suggested approximation: 299200000 (major axis) and 299158000 (minor axis) km. If you do not observe anything, click "Autoscale" on the top bar;
3. See that the difference is only 21 thousand km, meaning Earth's orbit is 99.98% "circular", although the Sun is displaced from the center.4.14 Prey-Predator Model (Biology)
BNCC: EM13CNT101, EM13CNT201, EM13CNT204
Equation:
\[ \frac{dx}{dt} = \alpha x - \beta x y \]
\[
\frac{dy}{dt} = \delta x y - \gamma y
\]
Where:
- \(\alpha\) = prey growth rate;
- \(\beta\) = predation rate per prey–predator encounter;
- \(\delta\) = conversion/production efficiency of predators from predation;
- \(\gamma\) = predator mortality rate.
Suggestion:
1. Change some script parameters in isolation, and observe the effects on the animation:
a. N: no. of points (simulation time)
b. Initial prey and predator populations (x and y);
2. Try changing the predator rate to an extreme value: "const delta = 0.1"
5 Simulations
5.1 Vibrating string & sounds
BNCC: EM13CNT101, EM13CNT203, EM13CNT204, EM13CNT206
tone.js library for sound playback of the verified effect. This allows hearing the corresponding frequency, reinforcing the connection between the physical model, the mathematical representation and auditory perception.- The tension controls the mechanical energy stored in the string;
- The linear density represents the inertia of the system;
- The length defines the boundary conditions;
- The harmonic mode determines the spatial pattern of the wave;
- The audible frequency connects the physical model to sound perception.
Equation:
Wave speed on the string
\[ v = \sqrt{\frac{F}{\rho}} \]
where:
- is the wave speed (m·s(^{-1}));
- is the tension applied to the string (N);
- () is the linear mass density of the string (kg·m(^{-1})).
Frequency of the normal modes of vibration
\[ f_n = \frac{n}{2L}, v \]
\[ f_n = \frac{n}{2L}\sqrt{\frac{F}{\rho}} \]
where:
- f_n is the frequency of harmonic n (Hz);
- n is the harmonic mode number (n = 1, 2, 3);
- L is the vibrating length of the string (m);
- F is the tension (N);
- \(\rho\) is the linear density (kg·m\(^{-1}\)).
Functional dependence of frequency on length
\[ f(L) \propto \frac{1}{L} \]
Wavelength of harmonics
\[ \lambda_n = \frac{2L}{n} \]
where (_n) is the wavelength of harmonic (n).
5.1.1 Fundamental relation between frequency, speed and wavelength
\[ f_n = \frac{v}{\lambda_n} \]
Suggestion:
1. Observe the variation of string length in "L" on the graph when dragging some slider;
2. Try clicking the "automatic sound" checkbox, and drag some slider;
3. Observe the effect when changing some of the parameters on the sliders, such as "F", "rho", and "harmonic";5.2 Chemical reaction kinetics
BNCC: EF09CI07, EM13CNT204, EM13CNT205
Equation:
\[ R(t)=\frac{R_0}{1+k_{efetiva}t} \]
\[ P(t)=R_0−R(t) \]
Where,
- \(R(t)\) = amount of reactant R at instant \(t\) (arbitrary units);
- \(P(t)\) = amount of product P (arbitrary units);
- \(R_{0}\) = initial amount of reactant at time \(t=0\);
- \(t\) = time (in seconds);
- \(k_{\text{cinética}}\) = base rate constant (in \(s^{-1}\));
- \(k_{\text{efetiva}}\) = effective constant after considering catalyst and/or inhibitor:
\[ k_{\text{efetiva}} ;=; k_{\text{cinética}} \times \begin{cases} f_{\text{cat}}, & \text{if catalyst on}[6pt] 1, & \text{if catalyst off} \end{cases} \times \begin{cases} \dfrac{1}{f_{\text{inh}}}, & \text{if inhibitor on}[6pt] 1, & \text{if inhibitor off} \end{cases} \]
Suggestion
1. Try changing the constant "k_cinetica" at the top of the code (ex.: 0.008, 0.017, 0.05) and use Play/Reset to compare;
2. Try turning inhibitor and catalyst on/off;
3. Try changing the strength of the modulators above by editing their constants:
a. const fator_catalise = 2.0;
b. const fator_inibicao = 3.0;
6 Applications
6.1 Drawing board
BNCC: EF15AR06, EF09AR07, EM13LGG604, EM13LGG606
Suggestion
1. Explore the script. Although simple, it allows selecting distinct colors, pen thicknesses, and geometric shapes;
2. As the other objects elaborated in JSPlotly, the board drawing can be stored preserving its interactivity by the "html" button, and even modified in the saved file itself ("play.html");
3. If you want to change colors, thicknesses, or want to add other functionalities, check the script variables;
4. Try the "clone" button, which allows cloning the board along with its code.
6.2 Gizz - Digital Blackboard
- It can be exported as a self-contained HTML file with a button on the board itself, allowing sharing of the generated image, as well as continuity of its editing;
- It allows customization of the code that produces it, allowing inserting/changing pens, thicknesses, and distinct actions not foreseen in the source code.
- Write with 7 colors and 3 distinct thicknesses;
- Access 4 backgrounds of different coloration;
- Overlay the background with a grid;
- Use an eraser (erase);
- Use a laser pointer to locate what one intends to point out;
- Save the image as PNG, indicating date and time;
- Save the image as self-contained HTML (obs: html button on the board; the editor one does not work in this object);
- Undo command (undo) and cleaning (clean) of the board;
- Has keyboard shortcuts: E=eraser; L=laser; Z undo, X clean, H save HTML
Suggestion:
1. One can change the thickness of the pens in "var baseWidth = 1;" ;
2. The 1x, 2x, 4x buttons are multipliers; edit the button creation lines to change label/multiplier (ex.: "addSize('3x', 3, true)").
Obs: the functional button to reproduce the board is the one on the board itself, "html". The code editor button does not operate for the application.6.3 MentMapa - editor for mind map and diagrams
Instructions for MentMap
- Creating terms. Click with the left mouse button and type a term; press Esc to exit;
- Deleting terms. Click Ctrl+right mouse button;
- Frame on terms. Click on a frame on the bar (square, diamond, oval);
- Connecting terms by arrow. Right-click the 1st term, followed by right-click on the 2nd term;
- Curved arrow. Click curve on. Then, right-click the 1st term, followed by left-click on a point between the two terms, and finish with right-click on the 2nd term. To adjust the arrow curvature, click the little ball and drag it to touch a term or an arrow;
- Drag terms and arrows. Just click and drag.
- Drag a group of terms/arrows. Press Shift and draw the area you want to encompass the group with the left mouse button;
- Colors for terms and arrows. Select one of the 7 colors available on the top bar, and click an existing term, or a new one. Obs: the arrow color follows that of the terms;
- Grid for more precise positioning. Just click grid on (it is not saved in the final diagram);
- Saving the map (save html). Different from the usual html button, storing the interactive map is done by its own html button, on the icon bar;
- Importing maps (import). The application allows importing an already ready map in json format to continue its editing;
- Exporting maps (export). The application also allows exporting the map in json format for future study or simple keeping.
Suggestion:
1. The editor allows creating mind maps, diagrams, flowcharts, and other representations...so now the suggestion is yours !!
7 Card game
7.1 Memory Game
BNCC: EF06MA19, EF06MA16, EF07MA26, EF09MA19, EM13MAT401, EM13MAT102, EM13MAT403, EM13LGG701
Instructions for the Numeric Memory Game:
- In the upper field there are two boolean constants true/false, one to play (jogue) and another to check correctness (verificar), as well as a seed that fixes a certain random numeric grid;
- Start the game (jogue/false, verificar/false);
- Click the add button and a grid of numeric pairs for memorization will be displayed;
- Switch to jogue/true, click clean plot, and then add. The grid will now be displayed with only one value (other cells will show “?”);
- Choose verificar/true, click clean plot, and then add. A field will be presented to type the coordinates where you believe the other numeric pair is (Ex: A2);
- Click OK, and a pair formed by the initial value and the chosen value will be presented, to verify correctness.
1. To play again changing the grid values, just change the *seed* constant to any number;
2. To vary between difficulty levels of the game, just change the number of rows and columns in the respective code constants.
8 Accessibility and inclusion
8.1 Equasons
BNCC: EF69LP27, EF69AR09, EM13MAT406, EM13LGG604, EM13LGG701
Suggestion:
1. One can edit the code for a specific function. For this, just change the line "var f = function(x){ ... }". Examples:
a. return Math.sin(x*Math.PI/180); (degrees);
b. return Math.sin(x); (radians);
c. return Math.exp(-0.01*x)*Math.cos(0.2*x);
2. One can change the scrolling speed of the function by the function below, and whose value is given in milliseconds:
"var PLAY_INTERVAL_MS = 100; "
9 Music education
9.1 FlautaDoce
BNCC: EF15AR05, EF69AR09, EM13LGG601, EM13LGG604, EM13LGG701
Suggestion
1. The recorder was conceived for tones (circle) and semitones (semicircles). You can "play" the recorder by clicking with the left mouse button on a hole or using your finger on a smartphone;
2. You can add or omit some hole in the recorder, just by changing the two lines of the variables "var naturais" and "var sustenidos";
2. You can turn your recorder into a "pífano", generally higher than the recorder, and quite common in northeastern tradition. For this, just replace the lines of the variables "var naturais" and "var sustenidos", changing the value of "5" to "6", as follows (add "add" afterwards - or "clean"/"add"):
var naturais = ["C6","D6","E6","F6","G6","A6","B6"];
var sustenidos = ["C#6","D#6","F6","F#6","G#6","A#6","B6"];
3. In the reasoning line above, it is also possible to change the recorder pattern, low recorders and contrabass. For example, a German recorder (larger hole, soprano, used in Schools and represented in the script) or Baroque (smaller hole, lower tones).
9.2 Piano
BNCC: F15AR05, EF69AR09, EM13LGG601, EM13LGG604, EM13LGG701
Suggestion
1. It is a small piano, but it is a piano (2 octaves)!! And as such, you can express your musical aptitude with the polyphonic instrument;
2. To prolong the sound of the keys raise the "sustain" bar;
3. As part of JSPlotly, the piano can be shared without the code, only as an instrument for music education or practice, since it is exported by the "html" button, preserving its interactivity and sonority by mouse or finger touch on a mobile device;
4. Also as part of JSPlotly, it is possible to share the piano with the codes for changes via the "clone" button;
10 Games
10.1 Bow and Arrow Game
BNCC: EF09CI09, EF09MA18, EM13MAT302, EM13CNT104, EM13LGG701
Suggestion
1. Change the angle ("let theta_edit = 45") and/or the initial shot velocity ("let v0_edit = 20") to adjust the parabola to the target;
2. Notice that the score is flexible: 5 points for proximity to the target, and 10 points when it hits it.
10.2 Pong Game
BNCC: EF69AR09, EF06MA20, EM13LGG604, EM13LGG701
Suggestion:
1. If you think the game is slow, even at the maximum 'warp' speed, it is possible to change its value in "var base = Math.pow(1.5, warp);";
2. If you think the game is too hard or too easy, it is possible to change the paddle size in "paddle = { w: 80, h: 10,...";
3. If you want to increase the game area, modify the line below (width, height):
"var cv = sk.createCanvas(400, 300).parent('jogoArea');"
11 Experimental Interface
11.1 Mobile - Sensor data acquisition
Suggestion:
1. As the app is for the "x, y and z" positioning of a mobile device, try changing the position of your phone/tablet in space.11.2 Arduino - Conductivity data acquisition
BNCC: EM13CNT201, EM13CNT308, M13CNT301, M13CNT302
Example of JSPlotly application to interface with Arduino. The graph shows conductivity measurements in aqueous medium with a TDS meter for increasing NaCl contents (probe in the left corner). Click the image to obtain the standalone JSPlotly application for conductivity.
Instructions:
- For Web Serial connection it is necessary to install Python on the computer (Windows or Linux), and setup of a local server. For Windows download and install the official file for Python, remembering to click Add Python to PATH, and type the commands in CMD inside the standalone application folder. Below is the guidance for Linux:
- Connect the Arduino and components (TDS probe, container with water and salt);
- Close the Arduino IDE;
- Open a Terminal in the standalone application folder of JSPlotly for Arduino (condutiv_JSPlotly.html);
- Type: python3 -m http.server
- Open the standalone circuit html in Chrome (never in Firefox);
Suggestion:
1. As the app is written in JSPlotly, it is possible to customize it for various situations, such as data transfer rate, traces (type, colors, thickness), chart type, among others.



























































