code: public Atom getProjectedPoint(Atom point) {
  		if(rotationPos == null) {
  			// translation only
  			return null;
  		}
  
  		Atom localPoint = Calc.subtract(point, rotationPos);
  		double dot = Calc.scalarProduct(localPoint, rotationAxis);
  
  		Atom localProjected = Calc.scale(rotationAxis, dot);
  		Atom projected = Calc.add(localProjected, rotationPos);
  		return projected;
  	}
docs: Projects a given point onto the axis of rotation
  @param point
  @return An atom which lies on the axis, or null if the RotationAxis is purely translational