Browse Source

fix: laser同屏计算角度差的bug

xzw 1 year ago
parent
commit
e15d0839ad
1 changed files with 11 additions and 3 deletions
  1. 11 3
      src/utils/ConvertViews.js

+ 11 - 3
src/utils/ConvertViews.js

@@ -524,9 +524,17 @@ export default class ConvertViews extends THREE.EventDispatcher{
             let pos12 = new THREE.Vector3().copy(panoPos1[(index + 1) % length])
             let pos12 = new THREE.Vector3().copy(panoPos1[(index + 1) % length])
             let pos21 = new THREE.Vector3().copy(panoPos2[index])
             let pos21 = new THREE.Vector3().copy(panoPos2[index])
             let pos22 = new THREE.Vector3().copy(panoPos2[(index + 1) % length])
             let pos22 = new THREE.Vector3().copy(panoPos2[(index + 1) % length])
-            let vec1 = new THREE.Vector3().subVectors(pos11, pos12).setY(0)
-            let vec2 = new THREE.Vector3().subVectors(pos21, pos22).setY(0)
-            let diffLon0 = math.getAngle(vec1, vec2, 'z')
+            let vec1 = new THREE.Vector3().subVectors(pos11, pos12)
+            let vec2 = new THREE.Vector3().subVectors(pos21, pos22)
+            
+            if(sourceFakeApp.sceneType == "laser" ){
+                vec1.setZ(0), vec2.setZ(0)  
+            }else{
+                vec1.setY(0), vec2.setY(0)  
+            }
+             
+            let diffLon0 = math.getAngle(vec1, vec2, sourceFakeApp.sceneType  == "laser" ? 'z' : 'y')
+            
             diffLons.push(diffLon0)
             diffLons.push(diffLon0)
             diffLonAve += diffLon0
             diffLonAve += diffLon0
             index++
             index++