cannon-es-control
Version:
A lightweight 3D physics engine written in JavaScript with control system tools
35 lines (30 loc) • 748 B
text/typescript
import { Vec3 } from '../math/Vec3'
/**
* An element containing 6 entries, 3 spatial and 3 rotational degrees of freedom.
*/
export class JacobianElement {
/**
* spatial
*/
spatial: Vec3
/**
* rotational
*/
rotational: Vec3
constructor() {
this.spatial = new Vec3()
this.rotational = new Vec3()
}
/**
* Multiply with other JacobianElement
*/
multiplyElement(element: JacobianElement): number {
return element.spatial.dot(this.spatial) + element.rotational.dot(this.rotational)
}
/**
* Multiply with two vectors
*/
multiplyVectors(spatial: Vec3, rotational: Vec3): number {
return spatial.dot(this.spatial) + rotational.dot(this.rotational)
}
}