An open API service indexing awesome lists of open source software.

https://github.com/erkaman/cloud_gen

Procedural Generation of Clouds with Vector Graphics
https://github.com/erkaman/cloud_gen

bezier bezier-curves c-plus-plus cloud demo ellipse procedural procedural-generation svg vector-graphics

Last synced: about 1 month ago
JSON representation

Procedural Generation of Clouds with Vector Graphics

Awesome Lists containing this project

README

        

# Procedural Generation of Clouds with Vector Graphics.

This is just a quick experiment where I tried generating procedural
2D clouds using vector graphics. The experiment is just a program that
outputs a bunch of vector clouds as a SVG file:

![](img/montage.png)

You can see the SVG files in the directory `img/`.

## Building and Usage

You can build using make:

```
make
```

You can now generate an SVG with clouds by doing

```
./cloud_gen > out.svg
```

By changing the variable

```
int TYPE = 0;
```

in `main.cpp` you can generate different kinds of clouds.

## How Does this Work?

We start with the geometry for an ellipse:

Then we replace every edge on the original ellipse with a cubic Bezier curve:

To introduce some randomness, we randomly move the control points of
the cubic bezier curves some:

and that's it!