in packages/charts/src/utils/d3-delaunay/index.ts [1191:1215]
_project(x0, y0, vx, vy) {
let t = Infinity,
c,
x,
y;
if (vy < 0) {
// top
if (y0 <= this.ymin) return null;
if ((c = (this.ymin - y0) / vy) < t) (y = this.ymin), (x = x0 + (t = c) * vx);
} else if (vy > 0) {
// bottom
if (y0 >= this.ymax) return null;
if ((c = (this.ymax - y0) / vy) < t) (y = this.ymax), (x = x0 + (t = c) * vx);
}
if (vx > 0) {
// right
if (x0 >= this.xmax) return null;
if ((c = (this.xmax - x0) / vx) < t) (x = this.xmax), (y = y0 + (t = c) * vy);
} else if (vx < 0) {
// left
if (x0 <= this.xmin) return null;
if ((c = (this.xmin - x0) / vx) < t) (x = this.xmin), (y = y0 + (t = c) * vy);
}
return [x, y];
}