This commit is contained in:
Sam 2023-09-09 09:18:39 +12:00
parent 7ed2e0a868
commit 54a9d8495a
4 changed files with 7 additions and 4 deletions

View File

@ -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;

View File

@ -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();
} }

View File

@ -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" },

View File

@ -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();