GithubHelp home page GithubHelp logo

rosslh / mandelbrot.site Goto Github PK

View Code? Open in Web Editor NEW
58.0 3.0 8.0 20.2 MB

A web app that lets you explore the Mandelbrot set fractal. Built with Rust (compiled to WASM) and TypeScript.

Home Page: https://mandelbrot.site

License: MIT License

Rust 36.32% JavaScript 7.91% HTML 17.07% TypeScript 33.06% SCSS 5.65%
mandelbrot fractal rust webassembly leaflet webworker wasm typescript

mandelbrot.site's Introduction

mandelbrot.site

Formerly known as Rust Mandelbrot Set Explorer

mandelbrot.site is a web app that lets you explore the Mandelbrot set fractal. Built with Rust (compiled to WASM) and TypeScript.

Project Structure

Key Features

  • Dynamic Zoom: Use your mouse to scroll or select a region, diving deeper into the fractal.
  • Iteration Adjustment: Control the detail level with iteration count.
  • Multibrot Sets: Explore "multibrot" sets by changing the exponent.
  • High-Resolution Rendering: Enjoy crystal clear fractal images.
  • Customizable Color Schemes: Personalize your fractal exploration.
  • Viewport Coordinates: View and update the viewport's coordinates.
  • Image Export: Save your discoveries as PNG images.
  • Shareable Views: Generate URLs to share your current view with others.

Gallery

View some of the stunning images generated with mandelbrot.site:

Mandelbrot Set Image

Mandelbrot Set Image

Explore more images

Getting Started Locally

To set up and run the project on your local environment, navigate to the client/ directory and use the following commands:

  • Install Dependencies: npm install
  • Start Development Server: npm run start - serves the project at http://localhost:9090
  • Build for Production: npm run build
  • Run Rust Tests: npm run test
  • Lint: npm run lint - identifies potential code issues
  • Cleanup: npm run clean - removes caches and build artifacts

mandelbrot.site's People

Contributors

rosslh avatar imgbotapp avatar jweissman avatar

Stargazers

August Linnman avatar Harrison Mohr avatar Sivakumaran avatar Ervin Popescu avatar William avatar Andre avatar Gavin avatar Bruno Kotesky avatar Peter Szilvasi avatar anand jain avatar Paweł Knioła avatar Elias Cerne avatar Kayden T avatar Ricardo Hortelano avatar Jinghao Hu avatar Roman avatar Youssef IDLAHSEN avatar John Hill avatar Derick avatar ro avatar Mike Sheb avatar Dmytro-Andrii Kostelnyi avatar Hritvik Mohan avatar Cristian Camilo García Barrera avatar Andrew Moon avatar Ryan McGuire avatar Magnus Rødseth avatar Sudhindra avatar Rohan Phanse avatar Rudrajeet Pal avatar Matheus Sousa de Jesus avatar Danilo Sampaio avatar Hadi Eini avatar Claudio Pereira avatar  avatar Rodney Johnson avatar Austin Cubbage avatar maallaard avatar Frederick avatar  avatar Ranis Pereira da Silva Junior avatar  avatar Shaun Chong avatar Dylan Burns avatar Glvr182 avatar Thomas Hatzopoulos avatar Daniel Dahan avatar Manuel Mauro avatar ToasterUwU avatar  avatar cjschneider2 avatar  avatar Mads Schou avatar ronan avatar Collin Riley avatar Vladimir avatar Asuka Minato avatar Greg Allen avatar

Watchers

James Cloos avatar  avatar  avatar

mandelbrot.site's Issues

no 'package.json'

First of all, I do greatly appreciate your creating and sharing this nice code, which is an invaluable resource for my learning rust and wasm.

Today I tried to build & run it.
'cargo build' is just ok (only warning messages for non-snake case ID), but 'npm run start' results in the following error messages:

npm ERR! code ENOENT
npm ERR! syscall open
npm ERR! path /home/kks/programming/rust/projects/rust-mandelbrot-set/package.json
npm ERR! errno -2
npm ERR! enoent ENOENT: no such file or directory, open '/home/kks/programming/rust/projects/rust-mandelbrot-set/package.json'
npm ERR! enoent This is related to npm not being able to find a file.
npm ERR! enoent

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/kks/.npm/_logs/2021-01-08T13_18_42_351Z-debug.log
kks@thinkpad-t495:~/programming/rust/projects/rust-mandelbrot-set$ npm run build
npm ERR! code ENOENT
npm ERR! syscall open
npm ERR! path /home/kks/programming/rust/projects/rust-mandelbrot-set/package.json
npm ERR! errno -2
npm ERR! enoent ENOENT: no such file or directory, open '/home/kks/programming/rust/projects/rust-mandelbrot-set/package.json'
npm ERR! enoent This is related to npm not being able to find a file.
npm ERR! enoent

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/kks/.npm/_logs/2021-01-08T13_18_45_328Z-debug.log

I am a complete newbie and wonder whether the 'package.json' is missing in the repository by mistake or should be generated by another process.

Regards,
Joe

Smooth coloring for exponent > 2

When rendering the Mandelbrot set, you can use a "normalized iteration count" formula to smooth the colors and reduce banding. The formula currently being used only works for z = z^n + c where n=2. Figure out how to generalize this for n>2.

Errors on `npm i`

I just first-time installed rust on my Mac (macOS Big Sur 11.1) an tried to install your webapp following the instructions. However, npm i doesn't run through without throwing errors. (and neither does npm run build) Since I'm new to rust and npm I'm having a hard time deciphering these. I add two screenshots
Screenshot 2021-01-20 at 01 49 13
Screenshot 2021-01-20 at 01 50 04

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.