LineIntersection function
Vector2?
LineIntersection(
- Vector2 pointa,
- Vector2 dira,
- Vector2 pointb,
- Vector2 dirb,
Implementation
VM.Vector2? LineIntersection(final VM.Vector2 pointa, final VM.Vector2 dira,
final VM.Vector2 pointb, final VM.Vector2 dirb) {
double det = dira.cross(dirb);
// Parallel check
if (det == 0.0) return null;
double t = (pointb - pointa).cross(dirb) / det;
return pointa + dira * t;
}