Ejercicio de P5
En este ejercicio se desarrolló una serie de Fourier, analizando un video proporcionado por el catedrático que imparte la materia, así mismo fuimos analizando el código de programación que se implementó para dibujar las circunferencias con sus respectivos vectores para dibujar la señal.
Podemos hacer mención que en la cuarta circunferencia que es la más pequeña, podemos apreciar el comportamiento de la señal, para apreciar la diferencia de señal, podemos aumentar o disminuir la velocidad de nuestro slide.
A continuación, se presentan las líneas de código:
let time = 0;
let wave = [];
let path = [];
let slider;
function setup() {
createCanvas(600, 400);
slider = createSlider(1, 50, 5);
}
function draw() {
background(0);
translate(150, 200);
let x = 0;
let y = 0;
for (let i = 0; i < slider.value(); i++) {
let prevx = x;
let prevy = y;
let n = i * 2 + 1;
let radius = 75 * (4 / (n * PI));
x += radius * cos(n * time);
y += radius * sin(n * time);
stroke(255, 100);
noFill();
ellipse(prevx, prevy, radius * 2);
stroke(255);
line(prevx, prevy, x, y);
}
wave.unshift(y);
translate(200, 0);
line(x - 200, y, 0, wave[0]);
beginShape();
noFill();
for (let i = 0; i < wave.length; i++) {
vertex(i, wave[i]);
}
endShape();
time += 0.05;
if (wave.length > 250) {
wave.pop();
}
}
Dejamos el enlace del Web editor P5: https://editor.p5js.org/codingtrain/sketches/SJ02W1OgV
Creo que este es uno de los mejores ejemplos en donde se puede vusualizar que con solamente ayuda de senos y cosenos se puede realizar una gráfica de una señal muy parecida a lo que se maneja en los osciloscopios.
ResponderEliminar