Skip to main content

A Naive Ray Tracing Implementation

Project description

# naivert

naivert is an pure Python implementation of ray tracing algorithm using Phong illumination model. For geometry calculation, naivert uses the library of [Geometry3D](https://github.com/GouMinghao/Geometry3D). Basic materials and light sources are given in the configuration file. You can also define the material and light source by yourself. You may refer to the examples and documentation of Geometry3D to get to know how to use naivert.

## Requirements

numpy, Geometry3D, matplotlib and opencv-python

## Installation

`bash pip install naivert `

## Examples Run .py files under examples folder. For example: `bash python example3.py ` ![sample3](sample3.png)

`bash python example4.py ` ![sample3](sample4.png)

`bash python example5.py ` ![sample3](sample5.png)

Note that the calculation may be very slow. You can modify the resolution of the image to reduce the time cost.

## Documentations [HTML](https://naivert.readthedocs.io/en/latest/) [PDF](https://naivert.readthedocs.io/_/downloads/en/latest/pdf/)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

naivert-0.0.1.tar.gz (9.0 kB view details)

Uploaded Source

File details

Details for the file naivert-0.0.1.tar.gz.

File metadata

  • Download URL: naivert-0.0.1.tar.gz
  • Upload date:
  • Size: 9.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: Python-urllib/3.5

File hashes

Hashes for naivert-0.0.1.tar.gz
Algorithm Hash digest
SHA256 7d7f53d38f982cbb41ddefa3f6874693f15402de719f763f03be29f9ad6a9ead
MD5 4f49914db0eb9d6af7cff8de0f2f2508
BLAKE2b-256 6bb906ab89bc6d4ae4523cf65d36e25a148a0b8e6bdadcf2a0a29f4eb5f9e0f8

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page