修复测试错误

pull/1368/head
ChenX 4 years ago
parent 3707299e5c
commit 23f56ec968

@ -159,39 +159,39 @@ test('直线合并', () =>
let l1 = new Line(new Vector3(0), new Vector3(10));
let l2 = new Line(new Vector3(0), new Vector3(0));
//L1 -----------
//L1 -----------
//L2 --
l2.StartPoint = new Vector3(-5);
l2.EndPoint = new Vector3(-3);
expect(l1.Join(l2)).toBeFalsy();
//L1 -----------
//L2 -----------
//L1 -----------
//L2 -----------
l2.StartPoint = new Vector3(-5);
l2.EndPoint = new Vector3(5);
expect(l1.Join(l2)).toBeTruthy();
//L1 -----------
//L2 ----
//L1 -----------
//L2 ----
l2.StartPoint = new Vector3(2);
l2.EndPoint = new Vector3(5);
expect(l1.Join(l2)).toBeTruthy();
//L1 -----------
//L2 ----
//L1 -----------
//L2 ----
l2.StartPoint = new Vector3(9);
l2.EndPoint = new Vector3(12);
expect(l1.Join(l2)).toBeTruthy();
//L1 -----------
//L2 ----
//L1 -----------
//L2 ----
l2.StartPoint = new Vector3(15);
l2.EndPoint = new Vector3(12);
expect(l1.Join(l2)).toBeTruthy();
//L1 -----------
//L2 ---------------------
//L1 -----------
//L2 ---------------------
l2.StartPoint = new Vector3(-2);
l2.EndPoint = new Vector3(12);
expect(l1.Join(l2)).toBeTruthy();
@ -204,7 +204,7 @@ test('直线合并容差', () =>
let l2 = new Line(new Vector3(10 + 1e-6), new Vector3(15));
expect(l1.Join(l2)).toBeTruthy();
l2 = new Line(new Vector3(-10), new Vector3(0 - 1e-5));
expect(l1.Join(l2)).toBeTruthy();
expect(l1.Join(l2, true, 1e-6)).toBeTruthy();
});
test('直线合并不平行', () =>

@ -136,6 +136,9 @@ export function angleTo(v1: Vector3, v2: Vector3, ref: Vector3 = ZAxis): number
v2.z = 0;
}
if (v1.equals(ZeroVec) || v2.equals(ZeroVec))//修复,这里有可能被更改为0
return 0;
//法向量不能转成单位向量在判断可能会导致原先z===0被转成大于0
let cv = new Vector3().crossVectors(v1.normalize(), v2.normalize());
return equaln(cv.z, 0) ? v1.angleTo(v2) : v1.angleTo(v2) * cv.z;

Loading…
Cancel
Save