diff --git a/src/Components/SVG/Elements/Dimension.tsx b/src/Components/SVG/Elements/Dimension.tsx index 3a20b9c..c5f6f86 100644 --- a/src/Components/SVG/Elements/Dimension.tsx +++ b/src/Components/SVG/Elements/Dimension.tsx @@ -1,6 +1,5 @@ import * as React from 'react'; import { NOTCHES_LENGTH } from '../../../utils/default'; -import { Qrsqrt } from '../../../utils/math'; interface IDimensionProps { id: string @@ -33,8 +32,8 @@ export const Dimension: React.FC = (props: IDimensionProps) => const [deltaX, deltaY] = [(props.xEnd - props.xStart), (props.yEnd - props.yStart)]; // Get the unit vector - const inv = Qrsqrt(deltaX * deltaX + deltaY * deltaY); - const [unitX, unitY] = [deltaX * inv, deltaY * inv]; + const norm = Math.sqrt(deltaX * deltaX + deltaY * deltaY); + const [unitX, unitY] = [deltaX / norm, deltaY / norm]; // Get the perpandicular vector const [perpVecX, perpVecY] = [unitY, -unitX]; diff --git a/src/utils/math.ts b/src/utils/math.ts deleted file mode 100644 index 38a1039..0000000 --- a/src/utils/math.ts +++ /dev/null @@ -1,21 +0,0 @@ -const bytes = new ArrayBuffer(Float32Array.BYTES_PER_ELEMENT); -const floatView = new Float32Array(bytes); -const intView = new Uint32Array(bytes); -const threehalfs = 1.5; - -/** - * Fast inverse square root - * http://en.wikipedia.org/wiki/Fast_inverse_square_root - * https://youtu.be/p8u_k2LIZyo - * @param number Number to square root - * @returns Approximation of the squqre root of the number - */ -export function Qrsqrt(number: number): number { - const x2 = number * 0.5; - floatView[0] = number; - intView[0] = 0x5f3759df - (intView[0] >> 1); - let y = floatView[0]; - y = y * (threehalfs - (x2 * y * y)); - - return y; -}