vec3.spec.ts 653 B

1234567891011121314151617181920
  1. /**
  2. * Copyright (c) 2019 mol* contributors, licensed under MIT, See LICENSE file for more info.
  3. *
  4. * @author Sebastian Bittrich <sebastian.bittrich@rcsb.org>
  5. */
  6. import { Vec3 } from '../3d/vec3';
  7. describe('vec3', () => {
  8. const vec1 = Vec3.create(1, 2, 3);
  9. const vec2 = Vec3.create(2, 3, 1);
  10. const orthVec1 = Vec3.create(0, 1, 0);
  11. const orthVec2 = Vec3.create(1, 0, 0);
  12. it('angle calculation', () => {
  13. expect(Vec3.angle(vec1, vec1) * 360 / (2 * Math.PI)).toBe(0.0);
  14. expect(Vec3.angle(orthVec1, orthVec2) * 360 / (2 * Math.PI)).toBe(90.0);
  15. expect(Vec3.angle(vec1, vec2)).toBeCloseTo(0.666946);
  16. });
  17. });