| | |
| | | datas8.value=(maxY - minY) / big |
| | | //points.value=[0, heightAgv, 0, 0, widthAgv, 0, widthAgv,heightAgv] |
| | | |
| | | if(point[0]*big===0){ |
| | | let numbers = [point[0], point[2], point[4], point[6]]; // 示例数组 |
| | | let maxX1 = Math.max(...numbers); // 找到最大值 |
| | | let maxIndex = numbers.findIndex(num => num === maxX1); // 定位第一个匹配索引 |
| | | let remaining = [...numbers]; // 复制原数组避免突变 |
| | | remaining.splice(maxIndex, 1); // 仅移除第一个最大值实例 |
| | | let maxX2 = Math.max(...remaining); // 在剩余数组中找第二大值 |
| | | |
| | | let arr=[] |
| | | for (let i=0;i<point.length;i++){ |
| | | let a=[] |
| | | if(i % 2 === 0){ |
| | | a.push(point[i]) |
| | | a.push((point[i+1])) |
| | | arr.push(a) |
| | | } |
| | | |
| | | } |
| | | let x=[] |
| | | let y=[] |
| | | |
| | | let upperRight=null //右上 |
| | | let lowerRight=null //右下 |
| | | let topLeft=null //左上 |
| | | let lowerLeft=null //左下 |
| | | |
| | | arr.forEach(item=>{ |
| | | if(item[0]==maxX1||item[0]==maxX2){ |
| | | x.push(item) |
| | | }else{ |
| | | y.push(item) |
| | | } |
| | | }) |
| | | |
| | | if(x[0][1]>x[1][1]){ |
| | | lowerRight=x[0] |
| | | upperRight=x[1] |
| | | }else{ |
| | | upperRight=x[0] |
| | | lowerRight=x[1] |
| | | } |
| | | |
| | | if(y[0][1]>y[1][1]){ |
| | | lowerLeft=y[0] |
| | | topLeft=y[1] |
| | | }else { |
| | | topLeft=y[0] |
| | | lowerLeft=y[1] |
| | | } |
| | | |
| | | |
| | | if(lowerLeft[0]*big===0){ |
| | | data5.value=0 |
| | | }else{ |
| | | data5.value=round(point[0]*big,0) |
| | | data5.value=round(lowerLeft[0]*big,0) |
| | | } |
| | | if(point[1]*big===0){ |
| | | if(lowerLeft[1]*big===0){ |
| | | data6.value=0 |
| | | }else{ |
| | | data6.value=maxY-minY-round(point[1]*big,0) |
| | | data6.value=round(maxY-minY-lowerLeft[1]*big,0) |
| | | } |
| | | if(point[2]*big===0){ |
| | | if(topLeft[0]*big===0){ |
| | | data1.value=0 |
| | | }else{ |
| | | data1.value=round(point[2]*big,0) |
| | | data1.value=round(topLeft[0]*big,0) |
| | | } |
| | | if(point[3]*big===0){ |
| | | if(topLeft[1]*big===0){ |
| | | data2.value=0 |
| | | }else{ |
| | | data2.value=round(point[3]*big,0) |
| | | data2.value=round(topLeft[1]*big,0) |
| | | } |
| | | if(point[4]*big===0){ |
| | | if(upperRight[0]*big===0){ |
| | | data3.value=0 |
| | | }else{ |
| | | data3.value=maxX-minX-round(point[4]*big,0) |
| | | data3.value=round(maxX-minX-upperRight[0]*big,0) |
| | | } |
| | | if(point[5]*big===0){ |
| | | if(upperRight[1]*big===0){ |
| | | data4.value=0 |
| | | }else{ |
| | | data4.value=round(point[5]*big,0) |
| | | data4.value=round(upperRight[1]*big,0) |
| | | } |
| | | if(point[6]*big===0){ |
| | | if(lowerRight[0]*big===0){ |
| | | data7.value=0 |
| | | }else{ |
| | | data7.value=maxX-minX-round(point[6]*big,0) |
| | | data7.value=round(maxX-minX-lowerRight[0]*big,0) |
| | | } |
| | | if(point[7]*big===0){ |
| | | if(lowerRight[1]*big===0){ |
| | | data8.value=0 |
| | | }else{ |
| | | data8.value=maxY-minY-round(point[7]*big,0) |
| | | data8.value=round(maxY-minY-lowerRight[1]*big,0) |
| | | } |
| | | } |
| | | |