Skip to content

Instantly share code, notes, and snippets.

View wschutzer's full-sized avatar

Waldeck Schützer, Ph.D. wschutzer

View GitHub Profile
@wschutzer
wschutzer / sketch_251028b_gradient_disks.pde
Created October 29, 2025 01:20
Spinning gradient disk wave
/* Gradient disk wave
* ------------------
* Draws a grid of tangent-gradient filled spinning disks whose rotation speed
* varies in waves travelling through the grid.
*
* This code uses shaders to aproximate the motion blur effect by averaging the pixels along a sequence
* of frames.
*
* Copyright (C) 2025 Waldeck Schutzer (@infinitymathart)
*
@wschutzer
wschutzer / sketch_251027a_tunnel.pde
Last active October 28, 2025 14:14
Ribbon wrapping an infinite cylinder
/* Wrapping ribbon
* ---------------
* Shows a ribbon gradually wrapping up an infinite cylinder.
* This code uses shaders to aproximate the motion blur effect by averaging the pixels along a sequence
* of frames.
*
* Copyright (C) 2025 Waldeck Schutzer (@infinitymathart)
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@wschutzer
wschutzer / OpenSimplexNoise.pde
Created October 26, 2025 17:27
Parametric curve distortion in CMYK space
// note : if you're on github gist and want to copy paste this code, you can click on the "Raw" button
// and then do Ctrl A, Ctrl C, Ctrl V
// (code below by Kurt Spencer, slightly modified code to run as Processing tab)
// maybe you should rather use this new (improved) version of the noise instead : https://github.com/KdotJPG/OpenSimplex2
/*
* OpenSimplex Noise in Java.
* by Kurt Spencer
*
* v1.1 (October 5, 2014)
@wschutzer
wschutzer / sketch_250503a_disks.pde
Created May 4, 2025 13:36
Black and white sliding disks
/* Sliding disks with offsets
* --------------------------
*
* This program draws two superimposed grids of black and white disks. One grid remains
* stationary and the other grid moves from right to left. As it does, optical effects
* are created which depends on small horizontal offsets applied to the disks.
*
* This code uses shaders to aproximate the motion blur effect by averaging the pixels along a sequence
* of frames.
*
@wschutzer
wschutzer / ThreeBodySystem.cpp
Created February 12, 2025 14:30
The 3-body Problem
/* The 3-body Problem (actually n-body)
* -------------------------------------
*
* Copyright (C) 2025 Waldeck Schutzer <[email protected]> (@infinitymathart)
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
@wschutzer
wschutzer / sketch_241005a_fields.pde
Last active January 6, 2025 21:57
Particles moving in a vector field defined as the gradient of a two-variable function
/* Particles following vector fields
* ---------------------------------
*
* Copyright (C) 2025 Waldeck Schutzer (@infinitymathart)
* Based on code by Étienne Jacob (@etinjcb)
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
@wschutzer
wschutzer / sketch_241219a_wavetorus.pde
Created December 21, 2024 22:32
Waves and digits on a torus - inside view, like a tunnel
/* Waves and digits on a torus (inside view)
* -----------------------------------------
* Requires OpenSimplexNoise, available here: https://gist.github.com/wschutzer/4be8f14d12fc3541024f796ee7fb6fe2
* Download OpenSimplexNoise.pde and place it in the same folder of this file.
*
* Copyright (C) 2024 Waldeck Schutzer (@infinitymathart)
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
@wschutzer
wschutzer / ofApp.cpp
Created December 4, 2024 19:41
delayedcurves7
/*
* delayedcurves7
* --------------
* This code creates an animation consisting of colored balls moving according to random noise (OpenSimplexNoise)
* The balls are connected with flexible lines that follow the movement with some delay.
*
* Copyright (C) 2024 Waldeck Schutzer (@infinitymathart)
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@wschutzer
wschutzer / OpenSimplexNoise.cpp
Created December 4, 2024 19:35
OpenSimplexNoise
#include "OpenSimplexNoise.h"
#include <cmath>
namespace OpenSimplexNoise
{
using namespace std;
Noise::Noise()
: m_stretch2d(-0.211324865405187) //(1/Math.sqrt(2+1)-1)/2;
, m_squish2d(0.366025403784439) //(Math.sqrt(2+1)-1)/2;
/* Love Equation
* ---------------------
*
* Copyright (C) 2024 Waldeck Schutzer (@infinitymathart)
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*