WIP p5 sketch of procedurally generated transit maps
This commit is contained in:
parent
5621e52f23
commit
f707961dfd
2 changed files with 47 additions and 0 deletions
7
content/blog/2022/11/transit-maps/index.md
Normal file
7
content/blog/2022/11/transit-maps/index.md
Normal file
|
@ -0,0 +1,7 @@
|
|||
---
|
||||
title: "Transit Maps"
|
||||
date: 2022-11-16T22:46:40-08:00
|
||||
draft: true
|
||||
---
|
||||
|
||||
{{< figures/p5 id="sketch" >}}
|
40
content/blog/2022/11/transit-maps/sketch.js
Normal file
40
content/blog/2022/11/transit-maps/sketch.js
Normal file
|
@ -0,0 +1,40 @@
|
|||
const sketch = p => {
|
||||
const backgroundColor = p.color(255);
|
||||
const gridColor = p.color(180);
|
||||
|
||||
p.setup = () => {
|
||||
const sketchContainer = document.querySelector('#sketch');
|
||||
const canvasWidth = parseFloat(getComputedStyle(sketchContainer).width);
|
||||
let canvas = p.createCanvas(canvasWidth, canvasWidth);
|
||||
canvas.canvas.removeAttribute('style');
|
||||
sketchContainer.appendChild(canvas.canvas);
|
||||
|
||||
p.pixelDensity(p.displayDensity());
|
||||
p.angleMode(p.DEGREES);
|
||||
};
|
||||
|
||||
p.draw = () => {
|
||||
p.background(backgroundColor);
|
||||
p.strokeWeight(1 / p.displayDensity());
|
||||
p.stroke(gridColor);
|
||||
|
||||
const canvasHeight = p.height;
|
||||
const canvasBase = canvasHeight * p.tan(30);
|
||||
const gridHeight = p.height / 16.0;
|
||||
const skip = 2 * gridHeight * p.tan(30);
|
||||
|
||||
for (let i = gridHeight; i < canvasHeight; i += gridHeight) {
|
||||
p.line(0, i, p.width, i);
|
||||
}
|
||||
|
||||
for (let b = -p.width; b < p.width; b += skip) {
|
||||
p.line(b, 0, b + canvasBase, p.height);
|
||||
}
|
||||
|
||||
for (let b = -p.width; b < p.width; b += skip) {
|
||||
p.line(b, p.height, b + canvasBase, 0);
|
||||
}
|
||||
};
|
||||
};
|
||||
|
||||
new p5(sketch, 'sketch');
|
Loading…
Add table
Add a link
Reference in a new issue