50 lines
1.9 KiB
Markdown
50 lines
1.9 KiB
Markdown
---
|
|
title: >-
|
|
Visualization 2
|
|
description: >-
|
|
Now in glorious technicolor!
|
|
series: viz
|
|
git_repo: https://github.com/mediocregopher/viz.git
|
|
git_commit: v2
|
|
---
|
|
|
|
|
|
<script src="/assets/viz/2/goog/base.js"></script>
|
|
<script src="/assets/viz/2/cljs_deps.js"></script>
|
|
<script>goog.require("viz.core");</script>
|
|
<p align="center"><canvas id="viz"></canvas></p>
|
|
|
|
This visualization builds on the previous. Structurally the cortesian grid has
|
|
been turned into an isometric one, but this is more of an environmental change
|
|
than a behavioral one.
|
|
|
|
Behavioral changes which were made:
|
|
|
|
* When a live point is deciding its next spawn points, it first sorts the set of
|
|
empty adjacent points from closest-to-the-center to farthest. It then chooses
|
|
a number `n` between `0` to `N` (where `N` is the sorted set's size) and
|
|
spawns new points from the first `n` points of the sorted set. `n` is chosen
|
|
based on:
|
|
|
|
* The live point's linear distance from the center.
|
|
|
|
* A random multiplier.
|
|
|
|
* Each point is spawned with an attached color, where the color chosen is a
|
|
slightly different hue than its parent. The change is deterministic, so all
|
|
child points of the same generation have the same color.
|
|
|
|
The second change is purely cosmetic, but does create a mesmerizing effect. The
|
|
first change alters the behavior dramatically. Only the points which compete for
|
|
the center are able to reproduce, but by the same token are more likely to be
|
|
starved out by other points doing the same.
|
|
|
|
In the previous visualization the points moved around in groups aimlessly. Now
|
|
the groups are all competing for the same thing, the center. As a result they
|
|
congregate and are able to be viewed as a larger whole.
|
|
|
|
The constant churn of the whole takes many forms, from a spiral in the center,
|
|
to waves crashing against each other, to outright chaos, to random purges of
|
|
nearly all points. Each form lasts for only a few seconds before giving way to
|
|
another.
|