import java.awt.Font;
import java.awt.Graphics;
import java.awt.FontMetrics;
import java.awt.Color;

//********************************
// Ball
//*******************************
public class Ball
{
    // 
    static double mass;
    double x;
    double y;
    double pX;
    double pY;
    double deltaX;
    double deltaY;
    double deltaPx;
    double deltaPy;
    double width;
    double height;
    double waveCoef[];
    Ball()
    {
	mass = 100.0; // grams
	waveCoef = new double[10];
	width = 6.0;
	height = 6.0;
   }
    Complex eigenFunctionN(double x, double y,double t,int nx,int ny,double l,double h)
    {
	double PI = 3.14159;
	Complex ret;
	ret = new Complex(0.0,0.0);
	Complex kx = new Complex(nx*PI/2.0/l,0.0);
	Complex ky = new Complex(ny*PI/2.0/l,0.0);
	Complex eix = new Complex(0.0,0.0);
	eix = Complex.sin(Complex.mult(kx,new Complex(x,0.0)));
	Complex eiy = new Complex(0.0,0.0);
	eiy = Complex.sin(Complex.mult(ky,new Complex(y,0.0)));
	Complex tf = new Complex(0.0,0.0);
	Complex midh = new Complex(0.0,-1.0*h);
	Complex E = new Complex(PI*PI*h*h/4.0/mass*(nx*nx+ny*ny)/l/l,0.0);
        tf = Complex.exp(Complex.mult(Complex.mult(midh,E),new Complex(t,0.0)));
        ret = Complex.mult(Complex.mult(eix,eiy),tf);  
	
	
	return ret;
    }
    double probWave()
    {
	double ret;
	ret = 0.0;
	return ret;
    }
    void plot(Graphics g,QmGame qmGame)
    {
	g.setColor(Color.yellow);
        g.fillRect(qmGame.x_scale(x-5.0),qmGame.y_scale(y+5.0),
		   qmGame.x_scale_sz(width),qmGame.y_scale_sz(height));

    }
    void compute_wave()
    {
    }
};




















