Perspective is a comprehensive application designed to generate, manage, and visualize 3D plots derived from mathematical equations. Leveraging the power of Wolfram Language and Echo3D, this project enables users to create intricate 3D models and store them efficiently in MongoDB, making them accessible for various applications and further analysis.
- 3D Plot Generation: Create 3D models from mathematical equations using Wolfram Language.
- Storage: Save generated 3D models in MongoDB using GridFS.
- Visualization: Upload and visualize 3D models on the Echo3D platform.
- Web Interface: User-friendly web application built with Flask for easy interaction.
- API Integration: Seamless integration with Echo3D API for model management.
perspective
├── src
│ ├── app.py
│ ├── templates
│ │ └── index.html
├── requirements.txt
├── README.md
└── .gitignore
- Python 3.7+
- MongoDB
- WolframScript
-
Clone the repository:
git clone https://github.com/yourusername/perspective.git cd perspective
-
Install the required Python packages:
pip install -r requirements.txt
-
Set up MongoDB:
- Ensure MongoDB is installed and running on your local machine or remote server.
- Update the MongoDB connection URI in
app.py
.
-
Configure WolframScript:
- Ensure WolframScript is installed and accessible from your command line.
- Verify the command works by running a test script.
-
Run the application:
python src/app.py
-
Access the web interface:
- Open your web browser and navigate to
http://localhost:5000
.
- Open your web browser and navigate to
-
Generate a 3D Plot:
- Enter your mathematical equation in the web interface.
- Click "Generate" to create and visualize the 3D plot.
-
Save and Upload:
- Save the generated model to MongoDB.
- Optionally, upload the model to Echo3D for further visualization and sharing.
We welcome contributions to enhance the Perspective project! Please follow these steps to contribute:
- Fork the repository.
- Create a new branch (
git checkout -b feature/YourFeature
). - Commit your changes (
git commit -m 'Add your feature'
). - Push to the branch (
git push origin feature/YourFeature
). - Create a new Pull Request.