private Charge2D calcPoint(double x, double y)
	{
		Vector2D ep=new Vector2D(0,0);
		Vector2D currentPos=new Vector2D(x, y);
		double charge;
		double potentialSum=0;;
		for (int i=0;i<_charges.length;i++)
		{
			Vector2D v=new Vector2D(_charges[i].getVector().getX(),_charges[i].getVector().getY());
			Vector2D trans=v.getVectorTo(currentPos);
			Vector2D er=trans.getUnitVector();
			charge = _charges[i].getVal()/Math.pow(trans.getAbs(), 2);
			potentialSum+=_charges[i].getVal()/trans.getAbs();
			er.scale(charge);
			ep.add(er);
		}
		ep.scale(1/(4*Math.PI*EField2D.EPSILON0));
		if (!new Double(ep.getAbs()).isInfinite())
		{
			if (ep.getAbs()>max)
			{
				max=ep.getAbs();
			}
			else
			{
				if (ep.getAbs()<min)
				{
					min=ep.getAbs();
				}
			}
		}
		if (!new Double(potentialSum).isInfinite())
		{
			if (potentialSum>_maxPotential)
			{
				_maxPotential=potentialSum;
			}
			else
			{
				if (potentialSum<_minPotential)
				{
					_minPotential=potentialSum;
				}
				else
				{
				}
			}
		}
		return new Charge2D(ep, potentialSum);
	}