/** * Return the Vector of a line which determines its inclination and length * * @param {number} columnPixelSpacing Width that a pixel represents in mm * @param {number} rowPixelSpacing Height that a pixel represents in mm * @param {*} startPoint Start point of the line * @param {*} endPoint End point of the line * * @returns {*} Resulting line inclination vector */ export default function getLineVector( columnPixelSpacing, rowPixelSpacing, startPoint, endPoint ) { const dx = (startPoint.x - endPoint.x) * columnPixelSpacing const dy = (startPoint.y - endPoint.y) * rowPixelSpacing const length = Math.sqrt(dx * dx + dy * dy) const vectorX = dx / length const vectorY = dy / length return { x: vectorX, y: vectorY, length } }