{"id":18656090,"url":"https://github.com/geometryzen/davinci-newton","last_synced_at":"2025-07-31T06:13:32.821Z","repository":{"id":16242285,"uuid":"78970342","full_name":"geometryzen/davinci-newton","owner":"geometryzen","description":"Experimental Physics Engine","archived":false,"fork":false,"pushed_at":"2024-04-03T11:17:40.000Z","size":14875,"stargazers_count":0,"open_issues_count":3,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-07-23T11:56:15.144Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","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/geometryzen.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":"2017-01-14T22:25:50.000Z","updated_at":"2023-01-17T15:46:39.000Z","dependencies_parsed_at":"2025-02-18T12:33:12.446Z","dependency_job_id":"1c7dc383-04db-4277-bf3f-6d5df5f7821b","html_url":"https://github.com/geometryzen/davinci-newton","commit_stats":null,"previous_names":[],"tags_count":142,"template":false,"template_full_name":null,"purl":"pkg:github/geometryzen/davinci-newton","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/geometryzen%2Fdavinci-newton","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/geometryzen%2Fdavinci-newton/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/geometryzen%2Fdavinci-newton/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/geometryzen%2Fdavinci-newton/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/geometryzen","download_url":"https://codeload.github.com/geometryzen/davinci-newton/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/geometryzen%2Fdavinci-newton/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267997183,"owners_count":24178251,"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","status":"online","status_checked_at":"2025-07-31T02:00:08.723Z","response_time":66,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":[],"created_at":"2024-11-07T07:21:52.754Z","updated_at":"2025-07-31T06:13:32.800Z","avatar_url":"https://github.com/geometryzen.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# davinci-newton\nA Physics Engine for research and education using Geometric Algebra, and Units of Measure (optional).\n\nThe following metrics are supported:\n\n\u003ctable\u003e\n    \u003ctr\u003e\n        \u003cth\u003eDescription\u003c/th\u003e\u003cth\u003eAlgebra\u003c/th\u003e\u003cth\u003eclass\u003c/th\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd\u003eEuclidean 1D\u003c/td\u003e\u003ctd\u003eG(1,0)\u003c/td\u003e\u003ctd\u003eEngine1\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd\u003eEuclidean 2D\u003c/td\u003e\u003ctd\u003eG(2,0)\u003c/td\u003e\u003ctd\u003eEngine2\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd\u003eEuclidean 3D\u003c/td\u003e\u003ctd\u003eG(3,0)\u003c/td\u003e\u003ctd\u003eEngine3\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd\u003eSpacetime 1D\u003c/td\u003e\u003ctd\u003eG(1,1)\u003c/td\u003e\u003ctd\u003eEngineG11\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd\u003eSpacetime 2D\u003c/td\u003e\u003ctd\u003eG(2,1)\u003c/td\u003e\u003ctd\u003eEngineG21\u003c/td\u003e\n    \u003c/tr\u003e\n\u003c/table\u003e\n\n# Getting Started\n\nThe following code illustrates the basic flow. For working examples see [STEMCstudio](https://www.stemcstudio.com/examples).\n\n## Constructing the core simulation using the `Engine3` Euclidean 3D or G(3,0) Physics engine.\n\nThis example incorporates units of measure.\n\n```typescript\nimport {\n    Block3,\n    Engine3,\n    Geometric3,\n    Spring\n} from 'davinci-newton'\n\n//\n// Constants\n//\nconst e1 = Geometric3.e1\nconst e2 = Geometric3.e2\nconst e3 = Geometric3.e3\nconst kg = Geometric3.kilogram\nconst m = Geometric3.meter\nconst s = Geometric3.second\n\n//\n// Initialization\n//\nconst sim = new Engine3()\nconst Δt = 0.01 * s\n\n//\n// Add objects\n//\nconst width = 0.5 * m\nconst height = 0.1 * m\nconst depth = 0.5 * m\nconst block1 = new Block3(width, height, depth)\nconst block2 = new Block3(width, height, depth)\n\nblock1.M = 1 * kg\nblock2.M = 1 * kg\n\nblock1.X = -1.0 * e1 * m\nblock2.X = +1.0 * e1 * m\n\nsim.addBody(block1)\nsim.addBody(block2)\n\n//\n// Add forces\n//\nconst spring = new Spring(block1, block2)\nspring.restLength = 1 * m\nspring.stiffness = 1 * kg / (s * s)\nsim.addForceLaw(spring)\nspring.attach1 = (block1.width * e1 + 0 * block1.height * e2 + block1.depth * e3) / 2\n\n// Inside animation \"loop\"\nsim.advance(Δt.a, Δt.uom)\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgeometryzen%2Fdavinci-newton","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgeometryzen%2Fdavinci-newton","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgeometryzen%2Fdavinci-newton/lists"}