Capacitor.java// Capacitor.java
import java.awt.*;
import java.awt.geom.*;
public class Capacitor
{
double value;
Color color;
double angle, phi;
double xpos, ypos;
Capacitor()
{
color = Color.RED;
xpos = 0.0;
ypos = 0.0;
setAngle(0.0);
}
void setAngle(double angle)
{
this.angle = angle;
phi = angle*Math.PI/180.0;
}
public void draw(Graphics g)
{
int i;
double u;
Graphics2D g2 = (Graphics2D) g;
AffineTransform saveXform = g2.getTransform();
g2.translate(xpos,ypos);
g2.rotate(phi);
Paint savePaint = g2.getPaint();
g2.setPaint(color);
GeneralPath p = new GeneralPath();
double scl = 0.1;
double [] xp = { 0.5, 0.7, 0.9 };
double [] yp = { 1.3, 1.4, 1.5 };
for (i=0; i<yp.length; i++) {
xp[i] = xp[i]*scl;
yp[i] = yp[i]*scl;
}
p.moveTo(-2.5*scl,0.0);
p.lineTo(-0.5*scl,0.0);
p.moveTo(-0.5*scl,-1.5*scl);
p.lineTo(-0.5*scl,1.5*scl);
p.moveTo(0.5*scl,-scl);
p.lineTo(0.5*scl,scl);
p.curveTo(xp[0],yp[0],xp[1],yp[1],xp[2],yp[2]);
p.moveTo(0.5*scl,-scl);
p.curveTo(xp[0],-yp[0],xp[1],-yp[1],xp[2],-yp[2]);
p.moveTo(0.5*scl,0.0);
p.lineTo(2.5*scl,0.0);
g2.draw(p);
g2.setPaint(savePaint);
g2.setTransform(saveXform);
}
}
Maintained by John Loomis, updated Mon Feb 17 12:14:23 2014