Skip to content

Instantly share code, notes, and snippets.

// draw by stripes
// http://generateme.tumblr.com
PImage img;
// decay length each iteration
final static float decay_ratio = 0.99;
// initial length of stripe, used also a time
float len = 50;
// final length
@tsulej
tsulej / collatzviz.pde
Created May 19, 2016 21:12
Collatz conjecture vizualization
// collatz conjecture visualization
// generateme.tumblr.com
void setup() {
size(2048, 500);
background(20);
stroke(220, 100);
strokeWeight(0.6);
smooth(8);
}
@tsulej
tsulej / random.clj
Last active June 15, 2016 21:03
Wrapper for RNGs from Apache Math
(ns g2d.utils.random
(:import [org.apache.commons.math3.random RandomGenerator ISAACRandom JDKRandomGenerator MersenneTwister
Well512a Well1024a Well19937a Well19937c Well44497a Well44497b]))
(set! *warn-on-reflection* true)
(defmacro next-random-value-fn
"generate function for next random value (long, int, double, gaussian) with scale and shift"
[func int?]
(let [r (vary-meta (gensym "r") assoc :tag 'RandomGenerator)
@tsulej
tsulej / simplestsort.pde
Created June 14, 2016 17:13
Simplest pixel sort for processing 2.x
void setup() {
PImage img = loadImage("ares.jpg");
size(img.width,img.height);
image(img,0,0); // display pixels
loadPixels(); // create pixels array
int[] temp = new int[height]; // buffer for the line pixels
for(int y=0;y<height;y++) { // for each line
int pos = y*width; // where is my position in pixels
@tsulej
tsulej / caustics.pde
Created June 22, 2016 22:19
Caustics
// see: https://github.com/hamoid/Fun-Programming/blob/master/processing/ideas/2016/02/caustic/caustic.pde
void setup() {
size(1000,1000);
smooth(3);
background(240);
fill(10,20,30,10);
noStroke();
frameRate(1000);
}
@tsulej
tsulej / additional_batch.pde
Last active November 12, 2020 17:09
Batch processing for GenerateMe scripts
// STEP 2
// FIND draw() FUNCTION AND ADD
// if (doBatch) { batchStep(); }
// NEAR THE END OF THE FUNCTION.
// FOR UNFAMILIAR PPL: THE END OF THE FUNCTION IS NEAR THE CLOSING (MATCHING) CURLY BRACKET
// HERE IS THE EXAMPLE:
void draw() {
// HERE IS SOMETHING
@tsulej
tsulej / object_mccc_sep16.pde
Created September 13, 2016 13:49
The Object MCCC Sep 16
// The Object
//
// GenerateMe submission to MCCC Sep 2016
// [email protected]
// http://generateme.tumblr.com/
// http://folds2d.tumblr.com/
void setup() {
size(540, 540);
// The Object 2
//
// GenerateMe submission to MCCC Sep 2016
// [email protected]
// http://generateme.tumblr.com/
// http://folds2d.tumblr.com/
LowpassFilter lpf1, lpf2, lpf3;
@tsulej
tsulej / ball3d.pde
Created October 11, 2016 11:15
draw noisy ribbon on sphere - 3d study
// http://generateme.tumblr.com
final static int off = 1000; // set between 0 to 4500 to see related timeframes
final static boolean doblur = false ;
final static float ystep = TWO_PI/700.0;
final static float xstep = TWO_PI/500.0;
void setup() {
size(800,800,P3D);
smooth(8);
@tsulej
tsulej / noise3d.pde
Last active February 8, 2018 10:40
noise3d sculptures generator
// Noise3d Generator
// generateme.tumblr.com
// setup below
// - click to change object
// - move mouse to rotate
// - press space to save (image and obj file)
// - press + to zoom in
// - press - to zoom out