}
private ArrayList<LatLon> computePlaneShape(DrawContext dc, double width, double length)
{
ArrayList<LatLon> positions = new ArrayList<LatLon>();
LatLon center = this.position;
double hl = length / 2;
double hw = width / 2;
double radius = dc.getGlobe().getRadius();
// triangle head point
LatLon p = LatLon.rhumbEndPosition(center, this.heading.radians, hl / radius);
positions.add(p);
// triangle base points
double d = Math.sqrt(hw * hw + hl * hl);
double a = Math.PI / 2 + Math.asin(hl / d);
p = LatLon.rhumbEndPosition(center, this.heading.radians + a, d / radius);