给定两条线段(表示为起点start = {X1, Y1}和终点end = {X2, Y2}),如果它们有交点,请计算其交点,没有交点则返回空值。
要求浮点型误差不超过10^-6。若有多个交点(线段重叠)则返回 X 值最小的点,X 坐标相同则返回 Y 值最小的点。
参照官方解题数学解法:
/**
* @param {number[]} start1
* @param {number[]} end1
* @param {number[]} start2
* @param {number[]} end2
* @return {number[]}
*/
var inside = function(x1, x2, y1, y2, xk, yk) {
return (x1 === x2 || (Math.min(x1, x2) <= xk && xk <= Math.max(x1, x2))) && (y1 === y2 || (Math.min(y1, y2) <= yk && yk <= Math.max(y1, y2)))
}
var update = function(ans, x, y) {
if (!ans.length