
// EllipseShape3D.java
// Andrew Davison, April 2005, ad@fivedots.coe.psu.ac.th

/* Elipsa má hlavní polo-osu délky a 
   a vedlejší polo-osu délky b.

   Může být reprezentována rovnicí:
     x = a cos(angle)
     y = b sin(angle)

  Poloměrem je hodnota hlavní polo-osy a vedlejší polo-osa
  je nastavena na určitou část čísla a.
  Hodnotu b jsme tedy stanovili takto: b == 0.5 * poloměr.

*/

import javax.media.j3d.*;
import javax.vecmath.*;


public class EllipseShape3D extends LatheShape3D
{
  public EllipseShape3D(double[] xsIn, double[] ysIn,
                                Color3f darkCol, Color3f lightCol)
  { super(xsIn, ysIn, darkCol, lightCol);  }


  public EllipseShape3D(double[] xsIn, double[] ysIn, Texture tex)
  { super(xsIn, ysIn, tex);  }


  protected double zCoord(double radius, double angle)
  {  return  0.5 * radius * Math.sin(angle);  }   // b == a/2

}  // konec třídy: EllipseShape3D