All Projects → karlek → wasabi

karlek / wasabi

Licence: Unlicense license
A Buddhabrot explorer based on wabisabi, but with a more affectionate name.

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to wasabi

fraqtive
Generator of the Mandelbrot family fractals.
Stars: ✭ 21 (+23.53%)
Mutual labels:  fractal, mandelbrot
Mandelbrot-set-explorer
An interactive Mandelbrot set, made with Python3 and Tkinter
Stars: ✭ 31 (+82.35%)
Mutual labels:  fractal, mandelbrot
Dungeontemplatelibrary
🌏: Dungeon free resources (terrain & roguelike generation)
Stars: ✭ 595 (+3400%)
Mutual labels:  fractal, generative-art
pycontextfree
Pythonic generative art tool
Stars: ✭ 32 (+88.24%)
Mutual labels:  fractal, generative-art
bbmandelbrotGo
generate images of a mandelbrot fractal
Stars: ✭ 19 (+11.76%)
Mutual labels:  fractal, mandelbrot
generativepy
Library for creating generative art and maths animations
Stars: ✭ 70 (+311.76%)
Mutual labels:  generative-art
artblocks-docs
Art Blocks Docs, powered by Retype
Stars: ✭ 158 (+829.41%)
Mutual labels:  generative-art
worlds
Building Virtual Reality Worlds using Three.js
Stars: ✭ 23 (+35.29%)
Mutual labels:  generative-art
stamps
A language for producing art
Stars: ✭ 116 (+582.35%)
Mutual labels:  generative-art
laravel-transformer-maker
Quick way to create Fractal Transformers.
Stars: ✭ 29 (+70.59%)
Mutual labels:  fractal
incomplete-cubes-generator
Incomplete Open Cubes Generator
Stars: ✭ 18 (+5.88%)
Mutual labels:  generative-art
VL.Fuse
A library for visually programming on the GPU, built to enable rapid workflows and modular approaches to accelerated graphics, logic and computation.
Stars: ✭ 206 (+1111.76%)
Mutual labels:  generative-art
generative-art
🌈🎨 Generative Art is the idea realized as genetic code of artificial events, as construction of dynamic complex systems able to generate endless variations. This is also a nuxt-module (@luxdamore/nuxt-canvas-sketch) - [three.js, tensorflow.js and gsap are not included].
Stars: ✭ 41 (+141.18%)
Mutual labels:  generative-art
generative-art-Processing
Processingによるアート作品をまとめたリポジトリです.一部の作品はopenFrameworksで書かれています.This is a repository for art portfolio of Processing art. Some of arts are written in openFrameworks, one of the C++ libraries.
Stars: ✭ 31 (+82.35%)
Mutual labels:  generative-art
flutter art
Flutter art is a collection of apps where I try to build generative art projects .
Stars: ✭ 30 (+76.47%)
Mutual labels:  generative-art
generative-art
I wanted to make a nicer sticker for Munihac, then things got out of hand.
Stars: ✭ 134 (+688.24%)
Mutual labels:  generative-art
Multifractal-Model-of-Asset-Returns-MMAR-for-Thesis
I wrote a Master's in Finance thesis on Monte Carlo simulation of the Multifractal Model of Asset Returns. This is a model developed in the late 1990's by Benoît Mandelbrot and his two students, Laurent Calvet and Adlai Fisher. I had never programmed before and this was my first big coding project — so sorry if the code sucks! I did what I could :)
Stars: ✭ 29 (+70.59%)
Mutual labels:  mandelbrot
eccv16 attr2img
Torch Implemention of ECCV'16 paper: Attribute2Image
Stars: ✭ 93 (+447.06%)
Mutual labels:  generative-art
vqgan-clip-app
Local image generation using VQGAN-CLIP or CLIP guided diffusion
Stars: ✭ 94 (+452.94%)
Mutual labels:  generative-art
aRtsy
An R package for making generative art using 'ggplot2'.
Stars: ✭ 142 (+735.29%)
Mutual labels:  generative-art

Wasabi

Maintainability

Wasabi is a renderer of buddhabrot and its family members. It used to share its name with a Japanese aesthetic called Wabi-sabi. Referencing the impossibility of creating the real buddhabrot and learning to accept the beauty in reality and its flaws. However, the affectionate nickname wasabi soon replaced it.

Showcase

To the left, an original buddhabrot and to the right an anti-buddhabrot.

To the left an image of the linear calculation path rendering technique, and to the right a second degree bezier interpolation.

It's also possible to plot the other capital planes of the complex space. I created a new method to visualize angles between points inside orbits

There are multiple ways to tweak the complex functions.

The project has rendered a few visually interesting bugs.

To the left an point orbit trap around origo, and to the right off-center.

Histogram merging, i.e plotting multiple renders on the same canvas.

One of the more famous of my renders ;)

Features

  • Calculating the original, anti- and primitive- buddhabrot.
  • Exploring the different planes of Zr, Zi, Cr and Ci.
  • Modular design for easier exploration of the complex function space.
  • Histogram equalization functions to control image exposure.
  • Cache histograms for faster exposure tweaking.
  • Parallel computing for all heavy calculations.
  • Plot calculation-paths. Credits to Raka Jovanovic and Milan Tuba (ISSN: 1109-2750).
  • Plot orbit angle distribution.
  • Hand optimized assembly(!) for generating random complex points. Thank you 7i!

It should be noted that speed in random number generating algorithms competes with the necessity of having a random distribution. If you know of a way to benchmark randomness as well as speed, please create an issue!

Benchmark

Install

$ go build github.com/karlek/wasabi/cmd/wasabi

Run

# Be sure to limit the memory usage beforehand; wasabi is greedy little devil.
$ ulimit -Sv 4000000 # Where the number is the memory in kB.
$ wasabi blueprint.json

Tips

For doing animations I recommend writing a simple shell script. I use jq to iteratively update the blueprint and fish as my shell of preference. My scripts usually looks like this:

# Animation of the real coefficient.
for i in (seq -1 0.1 1)
	jq ".realCoefficient = $i" < wimm.json > /tmp/a.json
	wasabi -out "$i" /tmp/a.json 
end

Contributing

The easiest way to contribute is to find a new interesting complex function or z/c-sampling strategy. Please make a pull request with a pretty image and the blueprint.json.

Public domain

I hereby release this code into the public domain.

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].