{"id":21874245,"url":"https://github.com/stefanjohnsen/pyobjexplorer","last_synced_at":"2025-03-21T23:18:02.855Z","repository":{"id":209906347,"uuid":"725171659","full_name":"StefanJohnsen/pyOBJExplorer","owner":"StefanJohnsen","description":"Wavefront OBJ \u0026 MTL parser and visualize it in the 3D graphics module VPython","archived":false,"fork":false,"pushed_at":"2024-02-02T12:48:31.000Z","size":7904,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-26T17:37:40.549Z","etag":null,"topics":["3d","3d-graphics","3d-models","earcut","fan","indices","line","mesh","mtl","obj","point","polygon","triangle","triangulation","vertex","vpython","wavefront","wavefront-obj"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/StefanJohnsen.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-11-29T15:29:48.000Z","updated_at":"2025-01-17T15:44:24.000Z","dependencies_parsed_at":"2023-12-16T11:46:46.187Z","dependency_job_id":"132c8971-d720-4e0f-891c-58478f8483e9","html_url":"https://github.com/StefanJohnsen/pyOBJExplorer","commit_stats":null,"previous_names":["stefanjohnsen/objexplorer","stefanjohnsen/pyobjexplorer"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/StefanJohnsen%2FpyOBJExplorer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/StefanJohnsen%2FpyOBJExplorer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/StefanJohnsen%2FpyOBJExplorer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/StefanJohnsen%2FpyOBJExplorer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/StefanJohnsen","download_url":"https://codeload.github.com/StefanJohnsen/pyOBJExplorer/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244880660,"owners_count":20525515,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["3d","3d-graphics","3d-models","earcut","fan","indices","line","mesh","mtl","obj","point","polygon","triangle","triangulation","vertex","vpython","wavefront","wavefront-obj"],"created_at":"2024-11-28T07:11:42.146Z","updated_at":"2025-03-21T23:18:02.827Z","avatar_url":"https://github.com/StefanJohnsen.png","language":"Python","readme":"# pyOBJExplorer\n\nExplore 3D visualization of Wavefront OBJ models with [pyOBJParser](https://github.com/StefanJohnsen/pyOBJParser), a showcase of how to integrate VPython and pyOBJParser. pyOBJExplorer offers an intuitive and straightforward solution, allowing users to delve into the intricate details of textures, materials, and geometries within OBJ files.\n\n# VPython (Visual Python)\n[VPython](https://en.wikipedia.org/wiki/VPython) is a lightweight and simple Python library for creating interactive 3D visualizations and simulations, often used in education to teach concepts like physics and computer science. Testing Wavefront OBJ files larger than 10 MB for simulation is not recommended.\n\n\n![OBJExplorer](https://github.com/StefanJohnsen/pyOBJExplorer/blob/main/pictures/explorer.png)\n\n### Following files is included\n- `Explorer.py` The main file to run. It can also be executed from the command line with a specified OBJ file.\n- `WavefrontOBJ.py` *source: [pyOBJParser](https://github.com/StefanJohnsen/pyOBJParser)*\n- `WavefrontMTL.py` *source: [pyOBJParser](https://github.com/StefanJohnsen/pyOBJParser)*\n- `Triangulate.py` *source: [pyTriangulate](https://github.com/StefanJohnsen/pyTriangulate)*\n\n### Dependencies\n- os\n- sys\n- numpy\n- [vpython](https://pypi.org/project/vpython/)\n- atexit\n  \n# Install vpython\n```\npip install vpython\n```\n\n# Usage\n\nFrom the command line, simply enter 'explorer.py' followed by the file name.\u003cbr\u003e\nPlease ensure to close the browser upon completion to restore command line control.\n\n```\npython Explorer.py .\\objFiles\\rubikcube.obj\n```\n![rubikcube](https://github.com/StefanJohnsen/pyOBJExplorer/blob/main/pictures/rubikcube.png)\n\u003cbr\u003e*Rubik's cube with standard color*\n```\npython Explorer.py -w .\\objFiles\\rubikcube.obj\n```\n![rubikcube](https://github.com/StefanJohnsen/pyOBJExplorer/blob/main/pictures/rubikcube-wire.png)\n\u003cbr\u003e*Rubik's cube with wireframe*\n```\npython Explorer.py -b .\\objFiles\\drill.obj\n```\n![rubikcube](https://github.com/StefanJohnsen/pyOBJExplorer/blob/main/pictures/drill-box.png)\n\u003cbr\u003e*Drill with texture and axis align bounding box*\n\n# VPython Controls Guide\n\nMouse controls only\n- Rotate: Click and drag with the right mouse button to rotate the scene.\n- Zoom: Scroll the middle mouse wheel to zoom in and out.\n  \nMouse Controls and Keyboard\n- Rotate: `Ctrl` + click and drag with the left mouse button to rotate the scene.\n- Pan: `Shift` + click and drag with the left mouse button to pan the scene.\n\n# License\nThis software is released under the MIT License terms.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstefanjohnsen%2Fpyobjexplorer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstefanjohnsen%2Fpyobjexplorer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstefanjohnsen%2Fpyobjexplorer/lists"}