|
@@ -81,6 +81,34 @@ function isTwoLine(arr) {
|
|
|
console.log(ret)
|
|
|
return ret;
|
|
|
}
|
|
|
+
|
|
|
+ function fix3dLineArr(arr,faceArr) {
|
|
|
+ var ret = []
|
|
|
+
|
|
|
+
|
|
|
+ for (let i = 0; i < faceArr.length; i++) {
|
|
|
+ var item = {
|
|
|
+ faceLine:[],
|
|
|
+ index:[],
|
|
|
+ verticalLine:[]
|
|
|
+ }
|
|
|
+ for (let j = 0; j < faceArr[i].length; j++) {
|
|
|
+ for (let k = 0; k < arr.length; k++) {
|
|
|
+ if (faceArr[i][j]==arr[k]['3d_id']) {
|
|
|
+ item.faceLine.push({
|
|
|
+ id:faceArr[i][j],
|
|
|
+ points:[arr[k]["3d_point1"],arr[k]["3d_point1"]]
|
|
|
+ })
|
|
|
+ item.index.push(faceArr[i][j])
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ ret.push(item)
|
|
|
+ }
|
|
|
+ console.log('====================================');
|
|
|
+ console.log('ret',ret);
|
|
|
+ console.log('====================================');
|
|
|
+ }
|
|
|
|
|
|
// 归一化
|
|
|
function normalize(xyz, isFixed) {
|
|
@@ -189,9 +217,7 @@ function isTwoLine(arr) {
|
|
|
var r2x_temp = [[line[i]['3d_point2'][0]], [line[i]['3d_point2'][1]], [line[i]['3d_point2'][2]], [1]];
|
|
|
var r1x = numbers.matrix.multiply(r10x, r1x_temp);
|
|
|
var r2x = numbers.matrix.multiply(r10x, r2x_temp);
|
|
|
- var r3x =
|
|
|
- Math.hypot(r2x[0] - r1x[0], r2x[1] - r1x[1], r2x[2] - r1x[2]) / gap
|
|
|
- ;
|
|
|
+ var r3x = Math.hypot(r2x[0] - r1x[0], r2x[1] - r1x[1], r2x[2] - r1x[2]) / gap
|
|
|
|
|
|
var r2r1 = [r2x[0] - r1x[0], r2x[1] - r1x[1], r2x[2] - r1x[2]];
|
|
|
var hasNormalize = normalize(r2r1, false);
|
|
@@ -223,7 +249,7 @@ function isTwoLine(arr) {
|
|
|
var r7x_t = _calculate2dPoint(r6x_t);
|
|
|
ret_t[i].line.push(toDecimal(r7x_t));
|
|
|
item.push(toDecimal(r7x_t))
|
|
|
- ret.push({
|
|
|
+ ret.push({
|
|
|
"3d_id":[line[i]["3d_id"]][0],
|
|
|
'2d_arr':fixLine(item)
|
|
|
})
|
|
@@ -240,7 +266,6 @@ function isTwoLine(arr) {
|
|
|
|
|
|
function ret2dObj(arr) {
|
|
|
var ret =[];
|
|
|
- var item;
|
|
|
var count = 0
|
|
|
for (var i = 0; i < arr.length; i++) {
|
|
|
for (var j = 0; j < arr[i]["2d_arr"].length; j++) {
|
|
@@ -266,7 +291,7 @@ function isTwoLine(arr) {
|
|
|
"2d_point1": arr[i],
|
|
|
"2d_point2": arr[i + 1]
|
|
|
};
|
|
|
- if (obj["2d_point2"]) {
|
|
|
+ if (obj["2d_point2"]&&obj["2d_point2"]!=obj["2d_point1"]) {
|
|
|
t_arr.push(obj);
|
|
|
}
|
|
|
}
|