public PlaPointFloat change_size(double p_new_size){
  if (v_x == 0 && v_y == 0) {
    return this;
  }
  double length=Math.sqrt(v_x * v_x + v_y * v_y);
  double new_x=(v_x * p_new_size) / length;
  double new_y=(v_y * p_new_size) / length;
  return new PlaPointFloat(new_x,new_y);
}

public PlaPointFloat change_size ( double p_new_size ) { if ( v_x == 0 && v_y == 0 ) { return this ; } double length = Math . sqrt ( v_x * v_x + v_y * v_y ) ; double new_x = ( v_x * p_new_size ) / length ; double new_y = ( v_y * p_new_size ) / length ; return new PlaPointFloat ( new_x , new_y ) ; }
approximates a floatpoint on the line from zero to this point with distance p_new_length from zero .
