Skip to main content

Finite difference ray tracing

Project description

fdray - Python Ray Tracing Interface

PyPI Version Python Version Build Status Coverage Status

fdray is a Python library that provides a clean interface to POV-Ray, making it easy to create and render 3D scenes programmatically.

Features

  • Simple Scene Description: Express 3D scenes in clean, readable Python code
  • Pythonic API: Natural integration with Python's ecosystem
  • POV-Ray Integration: Seamless integration with a high-quality rendering engine
  • Jupyter Support: Interactive scene development in Jupyter notebooks

Installation

pip install fdray

Requires POV-Ray to be installed:

  • Linux: sudo apt-get install povray
  • macOS: brew install povray
  • Windows: Download from POV-Ray website

Quick Start

from fdray import Scene, Camera, Sphere, LightSource

# Create a simple scene
scene = Scene(
    Camera(30, 30),
    LightSource(0, "white"),
    Sphere((0, 0, 0), 1),
)

# Render the scene
image = scene.render(width=800, height=600)
image.save("sphere.png")

Documentation

For detailed documentation and examples, visit our documentation site.

Examples

Basic Shapes

scene = Scene(
    Camera(30, 30),
    LightSource(0, "white"),
    Sphere((0, 0, 0), 1),
    Box((-1, -1, -1), (1, 1, 1)),
    Cylinder((0, 0, 0), (0, 2, 0), 0.5),
)

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgments

  • POV-Ray team for their excellent ray tracing engine
  • The Python community for inspiration and support

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

fdray-0.1.2.tar.gz (2.0 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

fdray-0.1.2-py3-none-any.whl (24.4 kB view details)

Uploaded Python 3

File details

Details for the file fdray-0.1.2.tar.gz.

File metadata

  • Download URL: fdray-0.1.2.tar.gz
  • Upload date:
  • Size: 2.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.6.10

File hashes

Hashes for fdray-0.1.2.tar.gz
Algorithm Hash digest
SHA256 54eb31aba74741cd4e07a8c8568c1c54b08b8dd8dc03af121b92b2e3fd4b8716
MD5 c18758fd42c8daa2d416409ae8e14497
BLAKE2b-256 8415535034b224060524c771b1d60126bece8bf413cb526d0bd7fc25ad5dd1ec

See more details on using hashes here.

File details

Details for the file fdray-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: fdray-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 24.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.6.10

File hashes

Hashes for fdray-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 c12f8a2a46e042066bb5d385660002edc320d722a3a1c28fca0c26b942122a85
MD5 c04a7683da78144d0bb03a3190854a62
BLAKE2b-256 6b8cfffef1948654f79614f61d108f9e2ad09869c9002d33c57773d4885917df

See more details on using hashes here.

Supported by

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