Add rounded caps and increase draw speed
This commit is contained in:
parent
93816fad4b
commit
fe525dc859
|
@ -125,9 +125,10 @@ class Line {
|
|||
const settings = {
|
||||
dotRadius: 20,
|
||||
fillGoal: 0.3,
|
||||
lineLength: 5,
|
||||
lineThicknesses: [1, 5, 15],
|
||||
stepTime: 250,
|
||||
stepsPerLevel: 5,
|
||||
stepTime: 25,
|
||||
stepsPerLevel: 15,
|
||||
zoomSpeed: 1 / 30,
|
||||
};
|
||||
|
||||
|
@ -146,10 +147,10 @@ doAfterLoad(() => {
|
|||
const lines: Line[] = [new Line(settings.lineThicknesses[0]), new Line(settings.lineThicknesses[1])];
|
||||
let step = 0;
|
||||
setInterval(() => {
|
||||
const currentLevel = lines.findIndex(it => it.segments.length !== 25);
|
||||
const currentLevel = lines.findIndex(it => it.segments.length !== settings.stepsPerLevel ** 2);
|
||||
|
||||
// Add low-level segment
|
||||
const length = settings.stepsPerLevel ** (2 + currentLevel);
|
||||
const length = settings.lineLength ** (2 + currentLevel);
|
||||
let angle: number;
|
||||
if (lines[currentLevel].segments.length > 0)
|
||||
angle = lines[currentLevel].segments.slice(-1)[0].angle() + (random_normal() - 0.5) * Math.PI * 2;
|
||||
|
@ -162,7 +163,7 @@ doAfterLoad(() => {
|
|||
const inductionLevel = currentLevel + level;
|
||||
const lowerLines = lines[inductionLevel - 1];
|
||||
|
||||
if (lowerLines.segments.length !== 0 && lowerLines.segments.length % 5 === 0) {
|
||||
if (lowerLines.segments.length !== 0 && lowerLines.segments.length % settings.stepsPerLevel === 0) {
|
||||
if (lines.length <= inductionLevel) {
|
||||
lines[inductionLevel] = new Line(settings.lineThicknesses[level] / zoomFactor);
|
||||
}
|
||||
|
@ -217,6 +218,7 @@ doAfterLoad(() => {
|
|||
ctx.scale(zoomFactor, zoomFactor);
|
||||
|
||||
// Lines
|
||||
ctx.lineCap = "round";
|
||||
ctx.strokeStyle = "#ffffff";
|
||||
for (const line of lines) {
|
||||
ctx.lineWidth = line.thickness;
|
||||
|
|
Loading…
Reference in New Issue