tsmathlib
Version:
Typescript Version Math/Physics/CG Library
46 lines (36 loc) • 897 B
text/typescript
/*
* @Author: Xu.Wang
* @Date: 2020-03-31 16:11:26
* @Last Modified by: Xu.Wang
* @Last Modified time: 2020-04-16 18:42:22
*/
import { Vector3 } from './vector3'
export class Point3 {
x: number
y: number
z: number
constructor(_x: number = 0, _y: number = 0, _z: number = 0) {
this.x = _x
this.y = _y
this.z = _z
}
clone(): Point3 {
return new Point3(this.x, this.y, this.z)
}
distanceSquaredTo(others: Point3): number {
let diffX = this.x - others.x
let diffY = this.y - others.y
let diffZ = this.z - others.z
let ret = diffX * diffX + diffY * diffY + diffZ * diffZ
return ret
}
distanceTo(others: Point3) {
return Math.sqrt(this.distanceSquaredTo(others))
}
toVector3(): Vector3 {
return new Vector3(this.x, this.y, this.z)
}
debug(): string {
return '[' + this.x + ',' + this.y + ',' + this.z + ']'
}
}