code: @Pure
  	public static double getPointProjectionFactorOnSegmentLine(
  			double px, double py, double pz,
  			double s1x, double s1y, double s1z,
  			double s2x, double s2y, double s2z) {
  		double dx = s2x - s1x;
  		double dy = s2y - s1y;
  		double dz = s2z - s1z;
  
  		if (dx == 0. && dy == 0. && dz == 0.)
  			return 0.;
  
  		return ((px - s1x) * dx + (py - s1y) * dy + (pz - s1z) * dz) / (dx * dx + dy * dy + dz * dz);
  	}
docs: Replies the projection a point on a segment.
  
  @param px
  is the coordiante of the point to project
  @param py
  is the coordiante of the point to project
  @param pz
  is the coordiante of the point to project
  @param s1x
  is the x-coordinate of the first line point.
  @param s1y
  is the y-coordinate of the first line point.
  @param s1z
  is the z-coordinate of the first line point.
  @param s2x
  is the x-coordinate of the second line point.
  @param s2y
  is the y-coordinate of the second line point.
  @param s2z
  is the z-coordinate of the second line point.
  @return the projection of the specified point on the line.
  If equal to {@code 0}, the projection is equal to the first segment point.
  If equal to {@code 1}, the projection is equal to the second segment point.
  If inside {@code ]0;1[}, the projection is between the two segment points.
  If inside {@code ]-inf;0[}, the projection is outside on the side of the first segment point.
  If inside {@code ]1;+inf[}, the projection is outside on the side of the second segment point.