Public
Edited
May 7, 2023
Paused
7 stars
Hello, A5Chandrupatla’s root-finding methodSidi’s root-finding methodRegular numbersDruidJS workerNatural breaksDistance to a segmentRay out of a convex hullWord Tour: 40k words and their friendsHello, @thi.ng/grid-iteratorsHead/tail breaksPseudo-blue noise shaderHow fast does walk-on-spheres converge?AoC 12: shortest path under constraintsKDE estimationPlot: Correlation heatmapPoisson Finish 2Poisson disk sampling functionsWoS with transportSimple and surprising sort
Local median
Time series topological subsamplingUnion-FindLevel set experiment 1Mean value coordinatesPoisson potentialMiddle-squareWorld of squares (spherical)World of squaresLargest Inscribed SquareHello, PyWaveletsGeothmetic meandianHello, Reorder.jsGeometric MedianImage FFTTransport to a mapDisc TransportTP3: Power Diagram and Semi-Discrete Optimal TransportThe blue waveHello, genetic-jsSliced Optimal TransportDruidJSSelf-Organizing Maps meet DelaunayHello, polygon-clippingseedrandom, minimalWalk on Spheres 2Walk on SpheresHello, AutoencoderKaprekar’s numberVoronoiMap2DHello, ccwt.jsPolygon TriangulationQuantile.invert?Linear congruential generatorHue blurNeedle in a haystackMoving average blurApollo 11 implementation of trigonometric functions, by Margaret H. Hamilton (march 1969)2D curves intersectionThe 2D approximate Newton-Raphson methodInverting Lee’s Tetrahedral projectionLinde–Buzo–Gray stipplingMean shift clustering with kd-tree2D point distributionsShortest pathKahan SummationHello, delatinDijkstra’s algorithm in gpu.jsLloyd’s relaxation on a graphManhattan DiameterManhattan VoronoiMobility landscapes — an introductionDijkstra’s shortest-path treeH3 odditiesProtein MatrixConvex Spectral WeightsSort stuff by similarityKrigingDelaunay.findTrianglen-dimensions binning?Travelling with a self-organizing mapUMAP-o-MaticMNIST & UMAP-jsHello UMAP-jsMean shift clusteringLevenshtein transitionRd quasi-random sequencesAutomated label placement (countries)Phyllotaxis explainedMotionrugsPlanar hull (Andrew’s monotone chain algorithm)South Africa’s medial axisTravelling salesperson approximation with t-SNEDistance to shoreWorkerngraph: pagerank, louvain…t-SNE VoronoiCloud ContoursCircular function drawingKruskal MazeMyceliumTravelling salesperson approximation on the globe, with t-SNEtsne.jstsne.js & worker
Also listed in…
Image
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
start = d3.blur2(
{
width: w,
data: Float32Array.from(
{ length: w * h },
d3.randomLcg(seed > 1 ? 1 / seed : seed)
).map((d, i) => d * (coastline ? Math.sqrt(i) : 1))
},
Math.pow(delta, 0.7)
).data
Insert cell
o = ({ width: w, color: (t) => d3.interpolateMagma(1 - t) })
Insert cell
C = Array.from(localMedian, (d, i) =>
d === blurred[i] ? d : 0.5 - 0.17 * (1 - 2 * d)
)
Insert cell
w = Math.floor((width - 24) / 2)
Insert cell
h = Math.ceil(w * 0.8)
Insert cell
localMedian = {
const d1 = Math.sqrt(delta),
d2 = delta / d1;
let A = start;
for (let i = 0; i < d1; i++) {
const m = d3.mean(A);
A = d3.blur2({ width: w, data: A }, d2).data.map((d) => d > m);
}
return A;
}
Insert cell
blurred = {
const A = start;
const m = d3.mean(A);
return A.map((d) => d > m); // posterize
}
Insert cell
import { heatmap } from "@fil/heatmap"
Insert cell

Purpose-built for displays of data

Observable is your go-to platform for exploring data and creating expressive data visualizations. Use reactive JavaScript notebooks for prototyping and a collaborative canvas for visual data exploration and dashboard creation.
Learn more