Giter Site home page Giter Site logo

projectnightowl's Introduction

Abstract

I want to create a math visualization tool that can be used to assist in teaching abstract math concepts. At the very least I want to model various groups including but not limited to symmetries of 3D objects, finite abelian groups with their associated lattices, as well as symmetries of permutation groups.

I want to show off the power of using a modern compiled language to create web apps that can also target native devices. This is cutting edge technology that I want to convince my panel of judges to consider teaching in future semesters.

What Will I Learn

I will learn new ways to visualize mathematical concepts. I will learn how to efficiently render using a lower level graphics API. I will learn how to effectively generate WASM (web-assembly) to optimize applications for the web. I will learn how to make a program cross platform.

Languages Used

  • The project will be mostly written in Rust
  • Python for glueing the server and client builds together
  • WGSL is the shader language I will be using (WebGPU's shader language)
  • Some Javascript for wasm glue

Libraries Used

  • WebGPU
    • Cross platform graphics api
    • Back-end is variable (Web, Vulkan, DX12, Metal, etc)
    • Can target web or native platforms
  • Rocket.rs
    • Very flexible library for implementing web servers in Rust
    • I highly recommend Dr. Kowalczyk to look into this (https://rocket.rs/)
  • wasm-pack
    • QoL tool used that takes care of compiling to wasm and generating javascript glue
  • wasm bind-gen
    • Library for generating wasm bindings
    • Takes care of name mangling so methods can be used by javascript
  • Etc
    • Will need some sort of math library
    • Library for printing to browser console
    • Various QoL libraries

projectnightowl's People

Contributors

damonpalovaara avatar

Watchers

 avatar

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.