mirror of https://gitee.com/cf-fz/WebCAD.git
parent
214b747245
commit
8ed28d2ef1
@ -0,0 +1,14 @@
|
||||
import { Vector3Ext } from '../../src/Geometry/Vector3Ext';
|
||||
import * as THREE from "three";
|
||||
test("测试平行", () =>
|
||||
{
|
||||
|
||||
let v1 = new Vector3Ext(0, 0, 1);
|
||||
let v2 = new Vector3Ext(0.0001, 0, 1);
|
||||
expect(v1.isParallelTo(v2)).toBe(false);
|
||||
expect(v1.equals(new THREE.Vector3(0, 0, 1))).toBe(true);
|
||||
expect(v2.equals(new THREE.Vector3(0.0001, 0, 1))).toBe(true);
|
||||
// console.log(v1.isParallelTo(v2));
|
||||
// console.log(v1);
|
||||
// console.log(v2);
|
||||
})
|
@ -0,0 +1,24 @@
|
||||
|
||||
|
||||
import * as THREE from "three";
|
||||
|
||||
export class Vector3Ext extends THREE.Vector3
|
||||
{
|
||||
constructor(x?: number, y?: number, z?: number)
|
||||
{
|
||||
super(x, y, z);
|
||||
}
|
||||
|
||||
/**
|
||||
* 平行,精度大概为1e-5.
|
||||
*
|
||||
* @export
|
||||
* @param {THREE.Vector3} v
|
||||
* @returns {boolean}
|
||||
*/
|
||||
isParallelTo(v: Vector3Ext): boolean
|
||||
{
|
||||
let v2 = this.clone().cross(v);
|
||||
return v2.lengthSq() < 1e-10;
|
||||
}
|
||||
}
|
Loading…
Reference in new issue