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_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.
*
@wschutzer
wschutzer / motion_blur_template.pde
Last active November 23, 2024 19:59
Motion Blur Template
/* Motion Blur Template
* ---------------------
* This code uses shaders to aproximate the motion blur effect by averaging the pixels along a sequence
* of frames.
*
* 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 / starreader.js
Created November 19, 2024 15:31
Simulation reader
async function readLargeFile(url) {
const response = await fetch(url);
const reader = response.body.getReader();
const decoder = new TextDecoder();
let remainingData = "";
while (true) {
const { done, value } = await reader.read();
if (done) break;
#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;