{"id":20553472,"url":"https://github.com/nvsriram/imaginary-cube","last_synced_at":"2025-03-06T06:19:11.848Z","repository":{"id":191944209,"uuid":"685722320","full_name":"nvsriram/imaginary-cube","owner":"nvsriram","description":"3D visualizer of imaginary cubes and their fractals","archived":false,"fork":false,"pushed_at":"2023-11-28T21:13:05.000Z","size":330,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-16T17:30:04.605Z","etag":null,"topics":["react-router-v6","react-three-fiber","tailwindcss","vite-react-typescript"],"latest_commit_sha":null,"homepage":"https://imaginary-cube-visualizer.vercel.app","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nvsriram.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-08-31T21:28:01.000Z","updated_at":"2023-11-28T18:40:01.000Z","dependencies_parsed_at":"2024-11-16T02:42:11.292Z","dependency_job_id":null,"html_url":"https://github.com/nvsriram/imaginary-cube","commit_stats":null,"previous_names":["nvsriram/imaginary-cube"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nvsriram%2Fimaginary-cube","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nvsriram%2Fimaginary-cube/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nvsriram%2Fimaginary-cube/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nvsriram%2Fimaginary-cube/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nvsriram","download_url":"https://codeload.github.com/nvsriram/imaginary-cube/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242157274,"owners_count":20081041,"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":["react-router-v6","react-three-fiber","tailwindcss","vite-react-typescript"],"created_at":"2024-11-16T02:42:05.382Z","updated_at":"2025-03-06T06:19:11.813Z","avatar_url":"https://github.com/nvsriram.png","language":"TypeScript","readme":"![banner](https://github.com/nvsriram/imaginary-cube/assets/50625504/a55895e3-95e9-42b4-b18d-e97cbe978b0a)\n\nA 3D visualizer of various imaginary cubes and their fractals.\n\n## :bulb: Inspiration\n\n- I recently came across this [video](https://www.youtube.com/watch?v=Cnhr6VaQKlg) by Ben Gobler that provides a very succinct yet entertaining introduction into the world of imaginary cubes. It talks about [Hideki Tsuiki](https://www.youtube.com/channel/UCsmJvExpzRQdoPFlOXGRDHg)'s work on imaginary cubes and how one could generate your own imaginary cube fractals.\n- In Hideki Tsuiki's words, an imaginary cube is \"an object that has square silhoettes in three orthogonal directions.\" \"We call such an object an `Imaginary Cube` because it let you imagine a cube determined by the three silhouettes.\"\n- This got me thinking: what if I could visualize this without having to 3D print it?\n- This idea, coupled with my recent interest in three.js, got me reading [more](https://www.i.h.kyoto-u.ac.jp/users/tsuiki/imaginarycube-e.html) on the subject, figuring out what shapes work and how they could be rotated to work, until eventually deciding to make my own visualizer for the same.\n\n## 🚀 Demo\n\nhttps://github.com/nvsriram/imaginary-cube/assets/50625504/99e77efd-71ae-4c1d-96a8-ad61fdb0ffe2\n\n## ✨ Key Features\n\n- GUI to extensively configure all aspects of the cube fractal\n- Fractal size and interation control\n- Shape rotation with speed control to view the shadows formed\n- Camera rotation to explore the fractals from different perspective\n- Latin square depth visualization to view underlying fractal latin square\n- Scene reset support in case you tread too far\n- Shape randomization support for inspiration\n- Pause screen with keyboard support in case you want to take a break\n- Experimental **_β_** shapes to try out the non-obvious imaginary cubes\n- URL Search parameter support to easily share configurations\n\n## 💻 Tech Stack\n\n- React-Typescript Vite application with Tailwind CSS for styling\n- Leverages React Three Fiber and Drei for 3D rendering and scene controls\n- Utilizes Leva GUI for adding the imaginary cube fractal controls\n- URL state managed by React Router v6\n- Custom prettier and eslint config including route alias and sorted imports\n\n## 🧑‍💻 Getting Started\n\n1. Install the dependencies: `npm install`\n2. Run the development server: `npm run dev`\n3. Navigate to the server (defaults to http://localhost:5173)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnvsriram%2Fimaginary-cube","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnvsriram%2Fimaginary-cube","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnvsriram%2Fimaginary-cube/lists"}