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

https://github.com/kayleexx/eien


https://github.com/kayleexx/eien

Last synced: 10 months ago
JSON representation

Awesome Lists containing this project

README

          

# Eien

Eien is an interactive, physics-based visualization project built in **Rust** using [nannou](https://nannou.cc/). The project features bouncing balls with elastic collisions, mouse interaction, and a foundation for creative generative art.

---

## Features (Phase 1 Completed)

- Bouncing balls with mass and elastic collisions.
- Mouse interaction:
- Drag balls around.
- Left-click to spawn new balls.
- Basic physics simulation with wall collisions.
- Clean, minimal visual style.

---

## Roadmap / Upcoming Phases

### Phase 2 – Mathematical Art
- Implement Mandelbrot & Julia sets.
- L-systems for organic patterns.
- Use iterators efficiently for sequences.
> *(This phase is untouched so far.)*

### Phase 3 – Performance & Polish
- Multi-threading for heavy computations (fractals).
- Real-time interactive controls.
- Image export and animations.
- Rust optimization using zero-cost abstractions.

### Phase 4 – Advanced Features
- Procedural landscapes and textures.
- Audio-reactive visuals.
- 3D fractals.
- Custom shaders for advanced visuals.

---

## Getting Started

1. Clone the repository:
```bash
git clone https://github.com/Kayleexx/eien.git
````

2. Navigate to the project folder:

```bash
cd eien
```

3. Run the project:

```bash
cargo run
```

Make sure you have Rust installed. [Install Rust here](https://www.rust-lang.org/tools/install).

---

## Dependencies

* [nannou](https://crates.io/crates/nannou) – Creative coding framework for Rust.

---

## Demo
https://github.com/user-attachments/assets/1c56b8f1-c348-41f7-8bcb-4c56af8fe2df

---

## Contributing

Contributions are welcome! If you want to help implement upcoming phases or optimize performance, feel free to open a pull request.

---

## License

MIT License © 2025