/holo

Device to visualize 3D products and ideas through an optical illusion

Primary LanguagePythonMIT LicenseMIT

Contributors Forks Stargazers Issues MIT License LinkedIn


Logo

HOLO

Better visualize 3D objects and ideas
Explore the docs »

View Demo · Report Bug · Request Feature

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Roadmap
  5. Contributing
  6. License
  7. Contact
  8. Acknowledgements

Purpose

Many designs, products, and ideas get shutdown due to understanding on how it works or how its used, but with this product it allows a much easier representation and understanding.

Four pillars of engineering

Serve an unmet need

The need is that when I'm showing a cad model, they might not fully understand it from the cad mode. If they actually had the physical object it will be easier to understand from all angles rather than a flat representation.

Be easy to use/understand

There will be two parts of the project: The actual table and a web app to load a cad file. (.obj, .stl). Gesture control, rotate, and scale to blow up and shrink images. Might be easier to use as a button in terms of ability to make it.

Be attractive and compelling

It's simple and elegant. The side design will mask the ugly edges, and the edges would sort of warp the hologram. The design is sleek and minimalistic, drawing the attention to the hologram.

Be efficient to produce

It uses cheaper and more avalbile materials with a minimalistic yet effective design to create a display that is as close as it can be to creating a tangible representation from a CAD model.

Materials

  • 1/16 inch acrylic
  • 1/8 inch pine
  • codium
  • base: 1/4 inch pine
  • Screw size: t25 1/2 inch
  • LCD: smallest laptop size (14 inch)
  • Bluetooth/HDMI connection to device
  • Arduino Uno/ESP32
  • Webcam for computer vision gesture control

Minimal Viable Product

  • Level 1: We will be able to load a cad file from filesystem/usb, and have that file displayed on the hologrpahic desk.
  • Level 2: Includes hand gestures for rotation/scale, and joystick/buttons for analog input.
  • Level 3: Adapted machine learning model for detecting finished/unfinished parts of the CAD model.

Timeline

Stages

We will follow an iterative development strategy to create multiple functional prototypes before the final product.

Break up timeline into research, development, and testing.

Timeline

[WEEK 1] FRI 2: SAT 3:

[WEEK 2] SUN 4: Finish program and begin testing MON 5: Finished with mechanical design TUE 6: WED 7: THU 8: Finished with first iteration FRI 9: SAT 10:

[WEEK 3] SUN 11: MON 12: TUE 13: WED 14: THU 15: FINAL PRESENTATION

Getting Started

Prerequisites

Only for localhost usage

  • pip
    pip install -r holo/requirements.txt

How to use

Locally

  1. Clone the repo
    git clone https://github.com/chinarjoshi/holo
  2. Install prerequisite packages
    pip install -r holo/requirements.txt
  3. Run the flask entrypoint
    python3 holo/src/wsgi.py

Gallery

WIP

For more examples, please refer to the Documentation

Roadmap

See the open issues for a list of proposed features (and known issues).

Contributing

Any contributions to extend features are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/newFeature)
  3. Commit your Changes (git commit -m 'Add NewFeature')
  4. Push to the Branch (git push origin feature/newFeature)
  5. Open a Pull Request

License

Distributed under the MIT License. See LICENSE for more information.

Contact

Chinar Joshi - chinarjoshi7@gmail.com - Linkedin

Project Link: Github

Acknowledgements