casselineau / tracer Goto Github PK
View Code? Open in Web Editor NEWThis project forked from jdpipe/tracer
Statistical ray-tracing in Python/SciPy
License: GNU General Public License v3.0
This project forked from jdpipe/tracer
Statistical ray-tracing in Python/SciPy
License: GNU General Public License v3.0
Tracer - a Pythonic general ray-tracing package. About ----- Tracer is a ray-tracing engine and suite of tools focused on radiative heat transfer and optical simulations. The motivation for writing tracer: * Current solutions lack programmability and extensibility * Even if you pay megabucks * De-facto standard tools of the trade are non-free, so bugfixing etc. depends on someone else, * Usability in the solution closest to our budget is poor, and no Linux port is available. Tracer is written in Python, using NumPy and SciPy for the math side of things. Status ------ The code is advanced enough to produce research. It is currently a programming library. NO GUI yet. DISCLAIMER: The documentation and installation is outdated, but he project is active! Doubts, need advice?: [email protected] Current capablilities: - Flat, parabolic, spherical, conical and quadric surfaces - Specular and diffuse reflections with surface slope error - BDRF - Transparency and attenuation - A bunch of results analysis tools - Pillbox and Buie sunshape implementations - Radiosity sytem solver for thermal emissions - Basic parallel processing - Kd-Tree acceleration structure - Spectral simulations Open-source python magic happens: if you want to do something, you can do it. Installation ------------ LINUX: Tested under Ubuntu 22 (running as WSL) 1) Prepare Linux: sudo apt update && sudo apt upgrade 2) Setup python environment 2.1) sudo apt install python3-venv 2.2) Create virtual environment: python3 -m venv .venv 2.3) Activate virtual environment: source ./.venv/bin/activate 3) (Optional) Install visualisation-dependencies (not required if running headless) 3.1) Install build dependencies: sudo apt install build-essential cmake 3.2) Install coin3d dependencies: sudo apt install libboost-all-dev xorg-dev libglu1-mesa-dev 3.3) Install coin3d 3.3.1) git clone --recurse-submodules https://github.com/coin3d/coin coin 3.3.2) sudo cmake -Hcoin -Bcoin_build -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_BUILD_TYPE=Release -DCOIN_BUILD_DOCUMENTATION=OFF 3.3.3) sudo cmake --build coin_build --target all --config Release -- -j4 3.3.4) sudo cmake --build coin_build --target install --config Release -- -j4 3.4) Install pivy: sudo apt install python3-pivy 3.5) Allow access to global pivy package: 3.5.1) nano ./.venv/pyvenv.cfg 3.5.2) Change: 'include-system-site-packages = false' to 'include-system-site-packages = true' 4) Clone Tracer repository git clone https://github.com/casselineau/Tracer 5) Install python requirements from Tracer 5.1) Headless: pip install -r requirements_headless.txt 5.2) With visualisation: pip install -r requirements.txt WINDOWS: To run on MS Windows: - Follow steps on this link to run a Linux distribution on windows: https://docs.microsoft.com/en-us/windows/wsl/install-win10 - Download Tracer packages from here - Download an X Server for windows in order to render the images: https://sourceforge.net/projects/xming/ - Run the X Server Client - Run Tracer ------------ Doubts, need advice?: [email protected]
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.