Skip Navigation
Generative Art

"Generative art" often refers to algorithmic art (algorithmically determined computer generated artwork).

Members
126
Posts
8
Active Today
1
Created
2 yr. ago
  • Generative Art @lemm.ee
    scratsearcher ๐Ÿ”๐Ÿ”ฎ๐Ÿ“Š๐ŸŽฒ @sopuli.xyz

    Hilbert-curve turtle

    The turtle follows the path of the Hilbert curve of some order < 10. What cool generative art could be generated by Hilbert curves besides walking through rgb-colors with it? I thought about generating 2D perlin-like-noise from 1D perlin-noise with it.

  • Generative Art @lemm.ee
    rustydev @lemmy.spaceships.me
    peertube.spaceships.me Travelling through space

    Procedurally generated video of stars and clouds moving using a parallax effect. This video actually consists of multiple pieces of procedurally generated art combined together. These individual pa...

    Travelling through space

    Procedurally generated video of stars and clouds moving using a parallax effect.

    This video actually consists of multiple pieces of procedurally generated art combined together. These individual parts are the star and cloud textures, the code that animates them and the Bรฉzier curve gradients that add colour.

    I created this art as a part of Spaceships, a free/libre video game that I created. The game and this art are created in the Rust programming language and using the glium crate for rendering the video (this is a safe abstraction to OpenGL).

    Each individual star texture is generated from four glowing lines that intersect the centre of the texture. I was inspired by GIMP's sparkle plugin on individual pixels when making this.

    The clouds are generated using Perlin noise in a similar way to how this article ge

  • Generative Art @lemm.ee
    scratsearcher ๐Ÿ”๐Ÿ”ฎ๐Ÿ“Š๐ŸŽฒ @sopuli.xyz

    coprime shenanigans

    We call two numbers x,y coprime if their greatest common divisor is 1.

    Examples

    • 9 and 8 are coprime
    • 3 and 7 are coprime. gcd(3, 7) = 1
    • 11 and 99 are not coprime, since gcd(99,11) = 11 != 1

    Lower Diagonal y>x

    A pixel x,y is marked black, if x and y are coprime.

    Upper Diagonal x>y

    A pixel x,y is marked black, if 2x+1 and 2y+1 are coprime

    The different behavior for the upper/lower diagonal was chosen, since gcd is commotative, and the result would have been a boring mirror image.

    generated with the following c-code:

     c
        
    #include "intmaths.h"
    #include <stdio.h>
    #include <assert.h>
    
    int main(void){
      // tests to check if gcd works
      assert(3 == gcd(3*5, 3*7));
      assert(11 == gcd(11*5, 11*7));
      assert(1 == is_prime(3));
      int t1 = gcd(11*3*3, 3*7);
      assert(t1 == 3);
      int t2 = gcd(11*4, 4*7);
      assert(t2 == 4);
      int W = 300;
      int H = 300;
      int START = 2;
      printf("P1\n%d %d\n", W-START, H-START);
     
      
  • Generative Art @lemm.ee
    scratsearcher ๐Ÿ”๐Ÿ”ฎ๐Ÿ“Š๐ŸŽฒ @sopuli.xyz

    Exponential Sum of x/57 + x**3/19

    Today we want to generate this star like shape using sums of trigeometric functions sin and cos:

    Function:

     undefined
        
    f(x) = x/57 + x**3/19 
    
      

    where x**3 is x^3 = x*x*x written in python

    To calculate the x and y coordinate of the nth. step:

     undefined
        
    sx(n) = sum((75*cos(2*pi*f(i)) for i in range(n)))
    sy(n) = sum((75*sin(2*pi*f(i)) for i in range(n)))
    
      

    To render this with pythons turtle library, the following code can be used.

     python
        
    from math import cos, sin, pi, tan
    def f(x):
        form = x/57 + x**3/19
        return form
    
    def seq(fu):
        r = 75 # "zoom" level, kinda arbitrary choice so you can see it well
        s = [0, 0]
        for i in range(10000):
            s[0] += r*cos(2*pi*fu(i))
            s[1] += r*sin(2*pi*fu(i))
            yield s
    
    import turtle
    from time import sleep
    for i in seq(f):
        turtle.setpos(i[0], i[1])
    sleep(20)
    
      

    This expone

  • Generative Art @lemm.ee
    scratsearcher ๐Ÿ”๐Ÿ”ฎ๐Ÿ“Š๐ŸŽฒ @sopuli.xyz

    Rule 90 100x100

    • Rule 90 in a square 100x100 image with a pseudorandom starting seed
    • first saved as a .pbm file I later converted to .webp using an image viewer application
    • I generated it with the following rust code โ€ฆ
     rust
        
    use std::io::Write;
    
    const WIDTH: usize = 100;
    const HEIGHT: usize = 100;
    type BITMAP = [[bool; WIDTH]; HEIGHT];
    fn write_bitmap_file(filename: &str, bitmap: BITMAP) -> std::io::Result<()> {
        let mut file: std::fs::File = std::fs::File::create(filename)?;
        file.write_all(b"P1\n")?;
        file.write_all(format!("{} {}\n", WIDTH, HEIGHT).as_bytes())?;
        for y in 0..HEIGHT {
            let mut one_row = String::with_capacity(WIDTH + 1);
            for x in 0..WIDTH {
                if bitmap[y][x] {
                    // one_row = format!("{}1", one_row);
                    one_row.push('1');
          
      
  • Generative Art @lemm.ee
    scratsearcher ๐Ÿ”๐Ÿ”ฎ๐Ÿ“Š๐ŸŽฒ @sopuli.xyz
    natureofcode.com 8. Fractals

    Once upon a time, I took a course in high school called Geometry. Perhaps you took such a course too, where you learned about classic shapes in one, t

    8. Fractals

    Fractals covered:

    • Mandelbrot
    • Koch-Curve
    • โ€ฆ
  • Generative Art @lemm.ee
    Crul @lemm.ee

    "Digital Garden. Generative Art Project" by Simulife Hub

    Video description:

    A prototype of the project of virtual breeding of digital plants by crossing. Each plant has a genome, which is an array of numbers. By crossing plants (mixing their genome), we get a new kind of plant. In this way, you can get very interesting and unusual results.

    Summary generated by claude.ai from the video transcript:

    A generative art project to create abstract images of imaginary plants. The creator starts with a genome represented as a sequence of numbers that gets fed into an algorithm to generate plant images. By evolving the genomes through processes like mutation and crossover, new plant images emerge. The creator discusses the challenges of defining an objective fitness function, since beauty is subjective. Without a fitness function for natural selection, the creator resorts to artificial selection by manually choosing genomes to crossover. The resulting plants have unique, imaginary qualities that can't be precisely predicted in advance. The creat

  • Generative Art @lemm.ee
    average @lemm.ee

    062 Mugshots

    Generative art inspired by works of Loek Vugs. You can generate more variations and explore the code on this Observable notebook.