# Useful resources This is a list of programming and documentation resources in no particular order that might be interesting for the model and software development: - Software - [petgraph](https://docs.rs/petgraph/latest/petgraph/): Rust library for working with graph data structures. - [Graphviz](https://graphviz.org/): A software pacakge for visualization of graphs. The `petgraph`crate already has some basic support for it. - [Raytracing example for Rust](https://superperfundo.dev/articles/ray-tracer-part1): Basic tutorial for programming a simple raytraces in rust. - [Goptical](https://www.gnu.org/software/goptical/): GNU optical design library. A C++ library which could lead as an idea for simulating geometric optics. - [egui](https://www.egui.rs/): Possible candidate for a rust GUI library. - [List of rendering libs](https://lib.rs/rendering): A list of rust crates for rendering. Do we need this? - [Fyrox](https://fyrox.rs/): Possible candidate to an interactive 3D renderer....actually a game engine. - [uom](https://crates.io/crates/uom): Rust crate for dealing with physical dimensions and units. - [Rust design patterns](https://rust-unofficial.github.io/patterns/functional/lenses.html): Book of common rust desing patterns. - Physics - [Holistic simulation of optical systems](https://www.db-thueringen.de/receive/dbt_mods_00042053)