/*
* Copyright 2006, United States Government as represented by the Administrator
* for the National Aeronautics and Space Administration. No copyright is
* claimed in the United States under Title 17, U.S. Code. All Other Rights
* Reserved.
*/
package gov.nasa.ial.mde.solver.numeric;
import gov.nasa.ial.mde.solver.classifier.PolarClassifier;
/**
* A lemniscate is the locus of points in the plane, the product of whose
* distances to two points located symmetrically about the origin is
* exactly the square of the distance of each point from the origin. For
* example, if the two points in question are (-a, 0) and (a, 0), then the
* polar equation of the curve will be <code>r^2 = 2a^2*cos(2*theta)</code>.
* This curve will be the locus of points, the product of whose distances from
* the two points is exactly <code>a^2</code>. The general polar equation of a
* lemniscate is <code>r^2 = 2*a^2*cos(2*(\theta-\phi))</code> where <code>a</code>
* is the distance from each point to the origin and <code>\phi</code> is the
* inclination of the line joining the two points.
*
* @author Dr. Robert Shelton
* @version 1.0
* @since 1.0
*/
public class PolarLemniscateModel extends PolarModel {
private int[][] lemniscate = { { 3, 6, 7 } };
/**
* Constructs a Polar Lemniscate Model.
*
* @param p the Polar model builder.
*/
public PolarLemniscateModel(PolarModelBuilder p) {
evaluate(p, lemniscate);
name = "lemniscate";
identity = PolarClassifier.POLAR_LEMNISCATE;
} // end PolarLemniscateModel
} // end class PolarLemniscateModel