Comutare navigație
pbInfo.ro
Probleme
Probleme - clasa a IX-a
Probleme - clasa a X-a
Probleme - clasa a XI-a
Probleme din concursuri
Căutare problemă
Exerciții
Programează cu Blockly
Desenează cu Processing
Exersează SQL
Soluţii
Resurse
Resurse pentru clasa a IX-a
Resurse pentru clasa a X-a
Resurse pentru clasa a XI-a
Subiecte bacalaureat
Ajutor
Autentificare
Înregistrare
×
Autentificare
Utilizator sau email
Parola
Acest site foloseşte cookies. Navigând în continuare, vă exprimaţi acordul asupra folosirii cookie-urilor.
Îti place pbInfo? Atunci acceptă-l cu totul! Dezactivează modulul de blocare a reclamelor!
×
Lista scripturi
Script Nou
Ajutor
"Bezier" - Processing
ID
Autor
Duplicat din
Ultima modificare
#5107
Asavoae Cosmin (mucelos)
-
Luni, 03 oct 2022, 21:46
function setup() { createCanvas(400, 400); } let then = Date.now(); function delta(interval) { let now = Date.now(); let result = (now - then) >= interval if (result) then = now; return result; } function angle(p1, p2) { let dx = p1.x - p2.x; let dy = p1.y - p2.y; return Math.atan(dy / dx); } function median(p1, p2, t) { let dx = p1.x - p2.x; let dy = p1.y - p2.y; let dist = Math.sqrt(dx * dx + dy * dy); let theta = angle(p1, p2); return {x: p1.x + (dist * t) * Math.cos(theta), y: p1.y + (dist * t) * Math.sin(theta)} } let s = {x: 0, y: 200} let f = {x: 400, y: 200}; let c1 = {x: 1, y: 400} let t = 0; let time = 2; let speed = 1/ 60; let step = ( 1 / time ) * speed; //generare de curbe bezier folosind punctele s, f si c1 function draw() { if (!delta(1000 * speed)) return; if (t > 1) { console.log(Date.now()) clear(); t = 0; } let m1 = median(s, c1, t); let m2 = median(c1, f, t); let p = median(m1, m2, t); fill("#7289da") stroke("#00000000") rect(p.x - 4, p.y - 4, 8, 8) t+= step; }
Duplicare
Executare
Cod
×
Cod HTML
<iframe sandbox="allow-scripts" src="/p5js/index.php?id=5107" style="width:408px; height:408px;border:solid 1px gray; overflow: scroll;"></iframe>
×
Duplicare script
Denumirea noului script
Du-te sus!