{"id":22174461,"url":"https://github.com/italoseara/lua-inverse-kinematics","last_synced_at":"2026-05-02T09:34:22.934Z","repository":{"id":175470684,"uuid":"653947874","full_name":"italoseara/Lua-Inverse-Kinematics","owner":"italoseara","description":"A simple Inverse Kinematics library for LÖVE","archived":false,"fork":false,"pushed_at":"2023-06-18T03:19:59.000Z","size":8,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-29T22:46:43.955Z","etag":null,"topics":["game-development","gamedev","inverse-kinematics","love2d","lua"],"latest_commit_sha":null,"homepage":"","language":"Lua","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/italoseara.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-06-15T04:50:41.000Z","updated_at":"2024-06-13T14:33:30.000Z","dependencies_parsed_at":"2023-07-04T07:49:08.984Z","dependency_job_id":null,"html_url":"https://github.com/italoseara/Lua-Inverse-Kinematics","commit_stats":null,"previous_names":["italoseara/lua-inverse-kinematics"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/italoseara%2FLua-Inverse-Kinematics","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/italoseara%2FLua-Inverse-Kinematics/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/italoseara%2FLua-Inverse-Kinematics/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/italoseara%2FLua-Inverse-Kinematics/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/italoseara","download_url":"https://codeload.github.com/italoseara/Lua-Inverse-Kinematics/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245325221,"owners_count":20596818,"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":["game-development","gamedev","inverse-kinematics","love2d","lua"],"created_at":"2024-12-02T07:50:14.566Z","updated_at":"2026-05-02T09:34:22.901Z","avatar_url":"https://github.com/italoseara.png","language":"Lua","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Lua-Inverse-Kinematics\n\nA simple Inverse Kinematics library for LÖVE\n\n## Requirements\n\n-   [LÖVE](https://love2d.org/)\n-   [vector.lua](src/vector.lua)\n\n## Installation\n\nPut the [IK.lua](src/IK.lua) file in your project folder and require it. You also need to put the [vector.lua](src/vector.lua) file in your project folder and require it.\n\n```lua\nlocal IK = require 'IK'\n```\n\n## Example\n\n```lua\nlocal IK = require 'IK'\n\nlocal ik\n\nfunction love.load()\n    ik = IK()\n\n    for i = 1, 20 do\n        ik:addSegment(20)\n    end\n\n    ik:setFixedPoint(love.graphics.getWidth() / 2, love.graphics.getHeight())\n    ik:setTarget(love.mouse.getPosition())\n    ik.debug = true\nend\n\nfunction love.update(dt)\n    ik:setTarget(love.mouse.getPosition())\n    ik:update()\nend\n\nfunction love.draw()\n    ik:draw()\nend\n```\n\n## Documentation\n\n### IK()\n\nCreates a new IK object.\n\n### IK.debug\n\nA boolean value that determines whether the `IK` object is drawn or not.\n\n### IK:addSegment(length)\n\nAdds a segment to the `IK` object.\n\n### IK:setFixedPoint(x, y)\n\nSets the fixed point of the `IK` object.\n\n### IK:setTarget(x, y)\n\nSets the target of the `IK` object.\n\n### IK:update()\n\nUpdates the `IK` object.\n\n### Segment:getMediumPoint()\n\nReturns the medium point of the `Segment` object.\n\n### Segment:pullTo(x, y, strength)\n\nPulls the `Segment` object to the given point.\n\n### IK:draw()\n\nDraws the `IK` object.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fitaloseara%2Flua-inverse-kinematics","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fitaloseara%2Flua-inverse-kinematics","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fitaloseara%2Flua-inverse-kinematics/lists"}