Code Monkey home page Code Monkey logo

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

imgbotapp avatar jweissman avatar rosslh avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

mandelbrot.site's Issues

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

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.

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.