All Projects → jmorrow1 → tracer

jmorrow1 / tracer

Licence: MIT license
A Processing library for creating generative art and animations by tracing paths

Programming Languages

HTML
75241 projects
java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to tracer

Allsketchs
Processing sketches, in which I have worked in the last years; images, videos, prototypes, experiments, tools, works, concepts... Everything is unfinished, some may not work, When I had no ideas, I would open one to see what it was...
Stars: ✭ 666 (+2564%)
Mutual labels:  generative
Dlcv for beginners
《深度学习与计算机视觉》配套代码
Stars: ✭ 1,244 (+4876%)
Mutual labels:  generative
Musical Creativity
Models of Musical Creativity (in Clojure)
Stars: ✭ 125 (+400%)
Mutual labels:  generative
Forte
Designing generative structures by interactive sketching
Stars: ✭ 25 (+0%)
Mutual labels:  generative
Geo pattern
Create beautiful generative geometric background images from a string.
Stars: ✭ 1,143 (+4472%)
Mutual labels:  generative
Fracture
generative algorithm
Stars: ✭ 99 (+296%)
Mutual labels:  generative
Weir
A system for making generative systems
Stars: ✭ 451 (+1704%)
Mutual labels:  generative
Blendersushi
Blender Sushi related scripts. Mostly about Sverchok, Geometry Nodes, Animation Nodes, and related Python scripts.
Stars: ✭ 163 (+552%)
Mutual labels:  generative
Microscale
Generated in real-time from random Wikipedia articles, microscale is a web-based, generative album.
Stars: ✭ 76 (+204%)
Mutual labels:  generative
Triangle
Convert images to computer generated art using delaunay triangulation.
Stars: ✭ 1,838 (+7252%)
Mutual labels:  generative
Sofloo Spot
Click Randomize
Stars: ✭ 37 (+48%)
Mutual labels:  generative
Lacinia Gen
Generators for GraphQL
Stars: ✭ 62 (+148%)
Mutual labels:  generative
Generative art
A collection of my generative artwork, mostly with Processing in Python mode
Stars: ✭ 1,477 (+5808%)
Mutual labels:  generative
Snek
See https://github.com/inconvergent/weir instead
Stars: ✭ 696 (+2684%)
Mutual labels:  generative
Reflekt
Reflective testing.
Stars: ✭ 128 (+412%)
Mutual labels:  generative
Differential Line
a generative algorithm
Stars: ✭ 606 (+2324%)
Mutual labels:  generative
Genartlib
Utilities for creating generative artwork with Clojure
Stars: ✭ 91 (+264%)
Mutual labels:  generative
Wgan
Tensorflow Implementation of Wasserstein GAN (and Improved version in wgan_v2)
Stars: ✭ 228 (+812%)
Mutual labels:  generative
Samplernn torch
Torch implementation of SampleRNN: An Unconditional End-to-End Neural Audio Generation Model
Stars: ✭ 146 (+484%)
Mutual labels:  generative
Cramer Gan
Tensorflow Implementation on "The Cramer Distance as a Solution to Biased Wasserstein Gradients" (https://arxiv.org/pdf/1705.10743.pdf)
Stars: ✭ 123 (+392%)
Mutual labels:  generative

Tracer

A Processing library for creating procedural animations, currently in alpha.

Basics

Paths

Paths are basically curves in 2-dimensional space.

The main power of Paths is that they map a 1-dimensional coordinate to a 2-dimensional coordinate using the trace() method. The method trace() takes a single normal value (a value between 0 and 1) and returns a Point in 2-dimensional space.

float x = 0.5f;
Point pt = path.trace(x); //pt is set to the 2-D coordinate halfway along the path

If you want to create an animation, for efficiency you may want to avoid allocating a new Point every time you trace a path. For this use case, there is another version of trace() that takes a Point and a 1-D value. Instead of returning a Point, this version of trace() stores the result of the computation in the given Point.

float x = 0.5f;
Point pt = new Point(0, 0);
path.trace(pt, x); //pt is set to the same coordinate as in the previous example

To draw paths, use the draw() method.

PGraphics g = this.g;
path.draw(g); //draws the path to the PGraphics object

Tracers

A Tracer is like a Point that moves along a Path.

Tracers provide a way of creating animations with tracer.

Easings

Easings are tweening curves that control the speed of an animation over time. For an introduction to easing functions, try this.

Renders

Renders provide a way of creating complex forms and animations with tracer.

A Render stores a List of Tracers and draws them in some way.

List<Tracer> ts = new ArrayList<Tracer>();
Render r = new RenderShape(ts);
PGraphics g = this.g;
r.draw(g); //draws a polygonal form with the List of Tracers as vertices
           //using Processing's beginShape() and endShape()

Documentation

Javadoc

Installation

For use with the PDE: Add a folder called tracer to the libraries folder located in your sketchbook. Copy the folder called library from this repo to the tracer folder. After restarting Processing, tracer should be available to your sketch after adding an import statement.

import paths.*;
import tracer.*;
import ease.*;
import render.*;

For use outside of the PDE, add tracer.jar along with the jar files associated with Processing 3 to your build path.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].