intersect method
Vector2?
intersect(
- Line other
)
Implementation
vm.Vector2? intersect(Line other) {
final s1 = a, e1 = b, s2 = other.a, e2 = other.b;
final a1 = e1.y - s1.y;
final b1 = s1.x - e1.x;
final c1 = a1 * s1.x + b1 * s1.y;
final a2 = e2.y - s2.y;
final b2 = s2.x - e2.x;
final c2 = a2 * s2.x + b2 * s2.y;
final delta = a1 * b2 - a2 * b1;
//If lines are parallel, the result will be (NaN, NaN).
return delta == 0
? null
: new vm.Vector2(
(b2 * c1 - b1 * c2) / delta, (a1 * c2 - a2 * c1) / delta);
}