{"id":20384950,"url":"https://github.com/d-e-s-o/delaunay-triangulation","last_synced_at":"2026-01-27T08:02:52.493Z","repository":{"id":83738468,"uuid":"88425669","full_name":"d-e-s-o/delaunay-triangulation","owner":"d-e-s-o","description":"Delaunay triangulation using an incremental insertion algorithm, implemented in JavaScript.","archived":false,"fork":false,"pushed_at":"2024-10-21T15:28:38.000Z","size":23,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-12T09:37:34.221Z","etag":null,"topics":["algorithm","applet","delaunay","delaunay-triangulation","javascript","triangle"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/d-e-s-o.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":"2017-04-16T15:53:43.000Z","updated_at":"2024-10-21T15:28:42.000Z","dependencies_parsed_at":null,"dependency_job_id":"4cd4b8a7-db18-4b6b-b269-a236dca0720f","html_url":"https://github.com/d-e-s-o/delaunay-triangulation","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/d-e-s-o/delaunay-triangulation","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/d-e-s-o%2Fdelaunay-triangulation","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/d-e-s-o%2Fdelaunay-triangulation/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/d-e-s-o%2Fdelaunay-triangulation/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/d-e-s-o%2Fdelaunay-triangulation/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/d-e-s-o","download_url":"https://codeload.github.com/d-e-s-o/delaunay-triangulation/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/d-e-s-o%2Fdelaunay-triangulation/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28809336,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-27T07:41:26.337Z","status":"ssl_error","status_checked_at":"2026-01-27T07:41:08.776Z","response_time":168,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["algorithm","applet","delaunay","delaunay-triangulation","javascript","triangle"],"created_at":"2024-11-15T02:30:57.994Z","updated_at":"2026-01-27T08:02:52.479Z","avatar_url":"https://github.com/d-e-s-o.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"delaunay-triangulation\n======================\n\nThis project provides the functionality for creating a [Delaunay\nTriangulation][delaunay] of a given point set. It does so using an\nincremental insertion algorithm, which means that it possible to insert\nnew points into the triangulated net at any time. The whole algorithm is\nimplemented for points in 3D space but the provided [visualization\napplet][applet] works in the plane (i.e., with `z = 0`).\n\nThe algorithm is implemented (mostly) as proposed by Adrian Bowyer in\nhis paper ['Computing Dirichlet Tessellations'][bowyer] (1981).\n\n\nThe Algorithm\n-------------\n\n- an initial triangle is formed that *must* contain all points to be\n  added in the future and comprises the initial root triangle of the net\n- upon insertion of a new point the triangle that contains this point\n  is searched in the net of triangles (there must always be one!) --\n  this is done using the A*-search algorithm using the distance from\n  the new point to the closest of each triangles forming points,\n  i.e., the one with the minimum distance to this point, as the\n  performance measure\n- the found triangle is split into three by incorporation of the new\n  point\n- the newly created triangles are checked for the Delaunay condition:\n  - the circumcircle of each triangle only contains the points in the\n    triangle itself, none of its neighbors\n- if this condition is violated, it will be fixed by flipping the\n  edges of the two triangles under consideration\n  - only if a violation was detected, the search for other violated\n    triangles continues for neighbors that are farther away than the\n    previous one\n\n\n[delaunay]: https://en.wikipedia.org/wiki/Delaunay_triangulation\n[applet]: https://d-e-s-o.github.io/delaunay-triangulation\n[bowyer]: https://doi.org/10.1093/comjnl/24.2.162\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fd-e-s-o%2Fdelaunay-triangulation","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fd-e-s-o%2Fdelaunay-triangulation","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fd-e-s-o%2Fdelaunay-triangulation/lists"}