{"id":14989289,"url":"https://github.com/princeofpuppers/wythoff-construct","last_synced_at":"2025-07-02T21:04:45.294Z","repository":{"id":62589733,"uuid":"291089566","full_name":"PrinceOfPuppers/wythoff-construct","owner":"PrinceOfPuppers","description":"Constructs and visualizes hyperdimensional polytopes created using Wythoff construction","archived":false,"fork":false,"pushed_at":"2023-06-02T23:05:36.000Z","size":23488,"stargazers_count":6,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-07-02T21:02:45.238Z","etag":null,"topics":["geometry","group-theory","higher-dimensional","kaleidoscope","mayavi","numpy","polytope","python","scipy","visualization","wythoff-construct"],"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/PrinceOfPuppers.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2020-08-28T16:05:54.000Z","updated_at":"2023-08-21T15:09:26.000Z","dependencies_parsed_at":"2024-09-25T00:34:23.762Z","dependency_job_id":null,"html_url":"https://github.com/PrinceOfPuppers/wythoff-construct","commit_stats":{"total_commits":56,"total_committers":2,"mean_commits":28.0,"dds":0.2678571428571429,"last_synced_commit":"c04e7e005fda8fa7826cd5839389da00f2e308eb"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/PrinceOfPuppers/wythoff-construct","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PrinceOfPuppers%2Fwythoff-construct","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PrinceOfPuppers%2Fwythoff-construct/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PrinceOfPuppers%2Fwythoff-construct/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PrinceOfPuppers%2Fwythoff-construct/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PrinceOfPuppers","download_url":"https://codeload.github.com/PrinceOfPuppers/wythoff-construct/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PrinceOfPuppers%2Fwythoff-construct/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263215287,"owners_count":23431893,"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":["geometry","group-theory","higher-dimensional","kaleidoscope","mayavi","numpy","polytope","python","scipy","visualization","wythoff-construct"],"created_at":"2024-09-24T14:17:59.890Z","updated_at":"2025-07-02T21:04:45.194Z","avatar_url":"https://github.com/PrinceOfPuppers.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cimg src=\"https://raw.githubusercontent.com/PrinceOfPuppers/wythoff-construct/master/banner.jpg\" /\u003e\r\n\r\n# wythoff-construct\r\n\u003cp\u003e\r\n\u003cimg src=\"https://img.shields.io/pypi/dm/wythoff-construct\"\u003e\r\n\u003cimg src=\"https://img.shields.io/pypi/l/wythoff-construct\"\u003e\r\n\u003cimg src=\"https://img.shields.io/pypi/v/wythoff-construct\"\u003e\r\n\u003cimg src=\"https://img.shields.io/pypi/pyversions/wythoff-construct\"\u003e\r\n\r\n\u003c/p\u003e\r\n\r\n\u003e Constructs and visualizes hyperdimensional polytopes created using Wythoff construction\r\n- [INSTALLATION](#INSTALLATION)\r\n- [USAGE](#USAGE)\r\n- [EXAMPLES](#EXAMPLES)\r\n\r\n\r\n\r\n# INSTALLATION\r\n``` \r\npip install wythoff-construct\r\n```\r\nNote wythoff-construct requires python version 3.6 to 3.8. version 3.9 will be supported as soon\r\nas vtk (a dependancy) supports 3.9.\r\n\r\n# USAGE\r\nOnce installed using pip the following command will launch the application from any working directory\r\n```\r\nwythoff-construct\r\n```  \r\n\r\nfor general information regarding Wythoff Construction see https://en.wikipedia.org/wiki/Wythoff_construction\r\n\r\n### Seed Point Selection\r\nBasic: Use the sliders to smoothly transition between shapes.\r\n\r\nAdvanced: These sliders select the point which is reflected in the kaleidoscope mirrors to get all\r\nthe vertices of the polytope. Each slider scales a vector pointing from one intersection of the kaleidoscope\r\nmirrors to all other intersections (the point of intersection are between all but one of the mirrors, and\r\nthe unit sphere). They are essentially the coordinates on the spherical triangle which tile sphere (hence their sum is kept to 1).\r\nIn higher dimensions the picture is similar, except there are more mirrors and more intersections and more vectors.\r\n\r\n### Dimension\r\nSimply used to change the number of spatial dimensions and hence which kaleidoscopes are available\r\n(3,4 and 5 are currently supported).\r\n\r\n### Kaleidoscope\r\nBasic: Determines what shapes are created using the seed point selection sliders.\r\n\r\nAdvanced: the coxeter notation for which reflection group (kaleidoscope) is active. For dimension 3 I excluded all\r\nbut one dihedral group, as to not clutter the UI (the others are very similar).\r\n\r\nAll kaleidoscopes save after the first time they are generated to allow for faster switching between them afterwards.\r\nI also pre-generated [3²,5] and [3³,4] due to long generation times.\r\n\r\n### Rotation\r\nRotation in 3 dimensions is done by clicking and dragging the mouse, In higher dimensions I included sliders for the\r\nadditional rotations not possible in 3 dimensions there will be 3ⁿ-3 sliders where n is the number of dimensions.\r\n\r\n### Projection\r\nControls how the program renders n dimensional shapes in 3 dimensions (3 to 2 dimensions is handled by the ui program\r\nwhich can be changed using the toggle parallel projection button on top).\r\n\r\nPerspective: Things closer in higher dimensions appear bigger.\r\n\r\nOrthographic: Size does not depend on distance.\r\n\r\nFor a clear example, load [3²,4], the smaller inner cube when on Perspective projection is further from you in the 4th dimension.\r\n\r\n### Opacity\r\nControls how opaque the faces (2D cells) are on the polytope. automatically scales down with dimension to compete with the\r\ngrowing number of faces.\r\n\r\n# EXAMPLES\r\n\u003e Looks much better in person!\r\n\u003cp float=\"left\"\u003e\r\n\u003cimg src=\"https://raw.githubusercontent.com/PrinceOfPuppers/wythoff-construct/master/gifs/tesseract.gif\" /\u003e\r\n\u003cimg src=\"https://raw.githubusercontent.com/PrinceOfPuppers/wythoff-construct/master/gifs/4simplex.gif\" /\u003e\r\n\u003c/p\u003e\r\n\r\n\u003cp float=\"left\"\u003e\r\n\u003cimg src=\"https://raw.githubusercontent.com/PrinceOfPuppers/wythoff-construct/master/gifs/cube.gif\" /\u003e\r\n\u003cimg src=\"https://raw.githubusercontent.com/PrinceOfPuppers/wythoff-construct/master/gifs/icos.gif\" /\u003e\r\n\u003c/p\u003e\r\n\r\n\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprinceofpuppers%2Fwythoff-construct","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fprinceofpuppers%2Fwythoff-construct","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprinceofpuppers%2Fwythoff-construct/lists"}