29 lines
		
	
	
		
			776 B
		
	
	
	
		
			Plaintext
		
	
	
			
		
		
	
	
			29 lines
		
	
	
		
			776 B
		
	
	
	
		
			Plaintext
		
	
	
/**
 | 
						|
 * 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
 | 
						|
  }
 | 
						|
}
 |