/*************************************************************************
* Name:
* NetID:
* Precept:
*
* Description: Keeps track of an electric charge at a point in 2D space.
*
* Remark: This is from book Section 3.2.
*************************************************************************/
public class Charge {
private double rx, ry; // position
private double q; // charge
public Charge(double x0, double y0, double q0) {
rx = x0;
ry = y0;
q = q0;
}
public double potentialAt(double x, double y) {
double k = 8.99e09;
double dx = x - rx;
double dy = y - ry;
return k * q / Math.sqrt(dx*dx + dy*dy);
}
public String toString() {
return q + " at " + "(" + rx + ", " + ry + ")";
}
public static void main(String[] args) {
double x = Double.parseDouble(args[0]);
double y = Double.parseDouble(args[1]);
Charge c1 = new Charge(.51, .63, 21.3);
Charge c2 = new Charge(.13, .94, 81.9);
StdOut.println(c1);
StdOut.println(c2);
double v1 = c1.potentialAt(x, y);
double v2 = c2.potentialAt(x, y);
StdOut.println(v1+v2);
}
}