xxxxxxxxxx
const A = 1.4
const B = 1.5
const C = 2.4
const D = -2.1
class Gen {
constructor(p) {
this.pos = p
}
step() {
this.pos.set(sin(A * this.pos.y) - cos(B * this.pos.x), sin(C * this.pos.x) - cos(D * this.pos.y))
return this.pos
}
}
var scaling
var globgen
function scaled(f, p) {
f(p.x * scaling + width * 0.5, p.y * scaling + height * 0.5)
}
function drawLine(n) {
strokeWeight(5)
stroke(255,50,0)
background(0)
let gen = new Gen(createVector(1.506 + frameCount * 0.001, -0.381))
beginShape()
for(var i = 0; i < n; i++) {
scaled(curveVertex, gen.step())
}
endShape()
}
function drawPoint(n) {
strokeWeight(20)
stroke(64, 12, 1)
blendMode(ADD)
let gen = new Gen(createVector(1.506 + frameCount * 0.001, -0.381))
for(var i = 0; i < n; i++) {
gen.step()
}
scaled(point, gen.pos)
}
function drawPoints(n) {
stroke(20, 6, 1)
blendMode(ADD)
let gen = new Gen(createVector(1.506 + frameCount * 0.001, -0.381))
for(var i = 0; i < n; i++) {
scaled(point, gen.step())
}
}
function drawContinuous(n) {
strokeWeight(5)
stroke(64, 12, 1)
blendMode(ADD)
for(var i = 0; i < n; i++) {
scaled(point, globgen.step())
}
}
function setup() {
createCanvas(windowWidth, windowHeight)
background(0)
ellipseMode(RADIUS)
noFill()
scaling = min(width, height) * 0.24
globgen = new Gen(createVector(1.506, -0.381))
}
function draw() {
//drawLine(8)
//drawPoint(0)
//drawPoints(100)
//drawContinuous(1)
}