Table of Contents
Simpel 2-joint Inverse Kinematic Dengan Segitiga Sama Kaki
Rumus
Rumus untuk mendapatkan tinggi segitiga sama kaki dari sisi miring dan alas , anda bisa mengunakannya untuk mencari posisi siku pada lengan.
Versi TypeScript.
function getHeight(a: number, b: number){
return Math.sqrt((a ** 2) - ((b ** 2) / 4));
}
Penerapan
Katakanlah anda punya pundak , tangan , dan adalah setengah panjang lengan anda. Anda mau mencari dimana posisi siku lengan berada.
Versio TypeScript (vector library mengunakan vecti).
import { Vector } from "vecti";
const p1 = new Vector(10, 10);
const p2 = new Vector(150, 150);
const a = 100;
const b = p2.subtract(p1).length();
const c = p2.subtract(p1).normalize();
const d = c.multiply(getHeight(a, b));
const k = p1.add(c.multiply(b / 2)).add(d.rotateByDegrees(90)); // because SVG and Canvas using top to bottom you can use -90, you can also use this to switch direction