xxxxxxxxxx
50
//slider - ZOOM
//remove scene button - removes scene
let scaleValue;
let group;
function setup() {
createCanvas(400, 400);
background(220);
scaleValue = createSlider(0.0001, 2, 1, 0.001); //zooms
scene = new Scene();
createControls();
reel();
button = createButton("Remove Scene");
button.position(295, 402);
button.mousePressed(removeScene);
}
let i = 0;
function draw() {
i += 0.05;
group.scale(scaleValue.value());
//console.log(sceneTime);
graph.update((t) => 1500 * Math.sin(i) * sin(2 * t - i));
}
async function reel() {
let waveEquationText = createText("Wave Equation", 75, 75, 35);
//texty.position(150, 175);
waveEquationText.fill("red");
waveEquationText.play("write", 2.8, 8);
let waveTeX = createTeX(
"{\\displaystyle {\\frac {\\partial ^{2}u}{\\partial t^{2}}}=c^{2}{\\frac {\\partial ^{2}u}{\\partial x^{2}}}}"
);
waveTeX.position(25, 50);
waveTeX.size(320, 320);
waveTeX.play("write", 0, 2.5);
graph = create2DGraph((t) => 1500 * Math.sin(t) * sin(2 * t));
graph.plot();
graph.stroke("blue");
graph.position(30, 200);
group = createGroup(waveEquationText, graph, waveTeX);
}
function removeScene() {
group.remove();
}