play
This commit is contained in:
parent
7ed2e0a868
commit
54a9d8495a
|
@ -56,7 +56,7 @@ function drawSpiral(angle) {
|
||||||
ctx.moveTo(cX, cY);
|
ctx.moveTo(cX, cY);
|
||||||
const nColor = lerpRGB(startColor, endColor, Math.cos(rad(n / 2)));
|
const nColor = lerpRGB(startColor, endColor, Math.cos(rad(n / 2)));
|
||||||
|
|
||||||
const nAngle = n * angle + Math.sin(angle * (n - angle * 100) * 3);
|
const nAngle = n * angle + Math.sin(angle * (n - angle * 100) * 2);
|
||||||
const radius = distanceMultiplier * n;
|
const radius = distanceMultiplier * n;
|
||||||
const xCoord = radius * Math.cos(nAngle) + centerX;
|
const xCoord = radius * Math.cos(nAngle) + centerX;
|
||||||
const yCoord = radius * Math.sin(nAngle) + centerY;
|
const yCoord = radius * Math.sin(nAngle) + centerY;
|
||||||
|
|
|
@ -31,7 +31,7 @@
|
||||||
render();
|
render();
|
||||||
render_clear();
|
render_clear();
|
||||||
|
|
||||||
Draw_nodal(300, 100, 31, rotation, "blue");
|
Draw_nodal(300, 13, 4, rotation, "#FFD700");
|
||||||
|
|
||||||
|
|
||||||
// Draw_center(); //Debugging
|
// Draw_center(); //Debugging
|
||||||
|
@ -65,6 +65,7 @@
|
||||||
ctx.lineTo(centerX + (Math.cos(rad(angle * z + rotate)) * radius), centerY + (Math.sin(rad(angle * z + rotate)) * radius));
|
ctx.lineTo(centerX + (Math.cos(rad(angle * z + rotate)) * radius), centerY + (Math.sin(rad(angle * z + rotate)) * radius));
|
||||||
}
|
}
|
||||||
ctx.strokeStyle = colour;
|
ctx.strokeStyle = colour;
|
||||||
|
ctx.lineWidth = 8
|
||||||
ctx.stroke();
|
ctx.stroke();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -46,7 +46,7 @@ async function fetchConfig(className) {
|
||||||
Phyllotaxis: [
|
Phyllotaxis: [
|
||||||
{ type: "range", min: 1, max: 40, defaultValue: 24, property: "width" },
|
{ type: "range", min: 1, max: 40, defaultValue: 24, property: "width" },
|
||||||
{ type: "range", min: 0, max: 3141, defaultValue: 0, property: "start" },
|
{ type: "range", min: 0, max: 3141, defaultValue: 0, property: "start" },
|
||||||
{ type: "range", min: 1, max: 1000, defaultValue: 300, property: "nMax" },
|
{ type: "range", min: 1, max: 10000, defaultValue: 300, property: "nMax" },
|
||||||
{ type: "range", min: 0, max: 2, defaultValue: 0, property: "wave" },
|
{ type: "range", min: 0, max: 2, defaultValue: 0, property: "wave" },
|
||||||
{ type: "color", defaultValue: "#2D81FC", property: "colour1" },
|
{ type: "color", defaultValue: "#2D81FC", property: "colour1" },
|
||||||
{ type: "color", defaultValue: "#FC0362", property: "colour2" },
|
{ type: "color", defaultValue: "#FC0362", property: "colour2" },
|
||||||
|
|
|
@ -270,6 +270,7 @@ class Phyllotaxis extends BaseShape {
|
||||||
const distanceMultiplier = 2;
|
const distanceMultiplier = 2;
|
||||||
const maxIterations = 1000;
|
const maxIterations = 1000;
|
||||||
|
|
||||||
|
|
||||||
for (let n = 0; n < maxIterations; n++) {
|
for (let n = 0; n < maxIterations; n++) {
|
||||||
const nColor = lerpRGB(startColor, endColor, Math.cos(rad(n / 2)));
|
const nColor = lerpRGB(startColor, endColor, Math.cos(rad(n / 2)));
|
||||||
|
|
||||||
|
@ -289,6 +290,7 @@ class Phyllotaxis extends BaseShape {
|
||||||
draw(rotation) {
|
draw(rotation) {
|
||||||
rotation *= (this.speedMultiplier / 300)
|
rotation *= (this.speedMultiplier / 300)
|
||||||
rotation += this.start
|
rotation += this.start
|
||||||
|
const sizeMultiplier = this.nMax/(5-3)
|
||||||
if (this.wave === 1) {
|
if (this.wave === 1) {
|
||||||
this.drawWave(rotation)
|
this.drawWave(rotation)
|
||||||
}
|
}
|
||||||
|
@ -305,7 +307,7 @@ class Phyllotaxis extends BaseShape {
|
||||||
const y = r * Math.sin(a) + centerY;
|
const y = r * Math.sin(a) + centerY;
|
||||||
|
|
||||||
ctx.beginPath();
|
ctx.beginPath();
|
||||||
ctx.arc(x, y, 8, 0, 2 * Math.PI);
|
ctx.arc(x, y, (n/sizeMultiplier)+3, 0, 2 * Math.PI);
|
||||||
ctx.fillStyle = ncolour;
|
ctx.fillStyle = ncolour;
|
||||||
// ctx.fillStyle = colourToText(ncolour);
|
// ctx.fillStyle = colourToText(ncolour);
|
||||||
ctx.fill();
|
ctx.fill();
|
||||||
|
|
Loading…
Reference in New Issue