docs: function getRandPointInLineSegment([ [ beginX, beginY ], [ endX, endY ] ]) {
  	let smallX = beginX <= endX ? beginX : endX;
  	let largeX = beginX >= endX ? beginX : endX;
  	let smallY = beginY <= endY ? beginY : endY;
  	let largeY = beginY >= endY ? beginY : endY;
  	if (beginY === endY) return [ roundToFiveSignificantDigits(smallX + Math.random() * (largeX - smallX)), beginY ];
  	if (beginX === endX) return [ beginX, roundToFiveSignificantDigits(smallY + Math.random() * (largeY - smallY)) ];
  	let slope = roundToFiveSignificantDigits((beginY - endY) / (beginX - endX));
  	let intercept = roundToFiveSignificantDigits((beginX * endY - endX * beginY) / (beginX - endX));
  	let randX = roundToFiveSignificantDigits(smallX + Math.random() * (largeX - smallX));
  	let randY = roundToFiveSignificantDigits(slope * randX + intercept);
  	return [ randX, randY ];
  }