|
@@ -194,7 +194,7 @@ export class SMathUtil {
|
|
|
let intersectionX = (b2 - b1) / (k1 - k2);
|
|
|
let intersectionY = k1 * intersectionX + b1;
|
|
|
let minX = Math.min(line1.x1, line1.x2);
|
|
|
- let maxX = Math.min(line2.x1, line2.x2);
|
|
|
+ let maxX = Math.max(line2.x1, line2.x2);
|
|
|
if (intersectionX >= minX && intersectionX <= maxX) {
|
|
|
return new SPoint(intersectionX, intersectionY);
|
|
|
}
|
|
@@ -256,7 +256,7 @@ export class SMathUtil {
|
|
|
// @ts-ignore
|
|
|
poly2.regions.push(array[array.length - 1]);
|
|
|
let indexArr: number[] = [array.length - 1];
|
|
|
- for (let i = array.length - 2; i > 0; i--) {
|
|
|
+ for (let i = array.length - 2; i >= 0; i--) {
|
|
|
let poly1 = {
|
|
|
regions: [],
|
|
|
inverted: false
|
|
@@ -272,18 +272,18 @@ export class SMathUtil {
|
|
|
poly2.regions.push(array[i]);
|
|
|
}
|
|
|
}
|
|
|
- indexArr.unshift(0);
|
|
|
console.log(indexArr);
|
|
|
- for (let i = 0; i < indexArr.length - 1; i++) {
|
|
|
+ for (let i = 0; i < indexArr.length; i++) {
|
|
|
+ // 从已有的数组中返回选定的元素
|
|
|
let axArr = array.slice(
|
|
|
- i == 0 ? 0 : indexArr[i] + 1,
|
|
|
- indexArr[i + 1]
|
|
|
+ i == 0 ? 0 : indexArr[i - 1],
|
|
|
+ indexArr[i]
|
|
|
);
|
|
|
let outline: Outline = {
|
|
|
Outer: [],
|
|
|
Inner: []
|
|
|
};
|
|
|
- outline.Outer = array[indexArr[i + 1]].map(
|
|
|
+ outline.Outer = array[indexArr[i]].map(
|
|
|
(t): SPoint => {
|
|
|
return new SPoint(t[0], t[1]);
|
|
|
}
|