



|
|
Byron's CSC212 Web Site
|
Programming Challenge Archive
Shapes World
BlueRedPolygonWorm
|
|
|
JavaApplication --
Red Blue Polygonal Worm
// General Information
// ---------------------------------------------------
// File: RedBluePolygonalWormApp.java
// Type: java application file
// Date: Wed Oct 4, 2000
// Name: Byron Bahr
// Line: Calculate the Blue Area of a Polygon Worm
// Application Description
// ---------------------------------------------------
/*
This program calculates the blue area of a blue
and red Polygon Worm.
*/
// Required Packages
// ---------------------------------------------------
import blue.io.*;
import blue.math.*;
import blue.shapes.*;
// Application Class
// ---------------------------------------------------
class RedBluePolygonalWormApp
{
static public void main (String args[])
{
// Define the Given Information.
double polySide = 14.5;
double squareSide = polySide;
double triangleSide = polySide;
int t3 = 3;
int s4 = 4;
int p5 = 5;
int hx6 = 6;
int hp7 = 7;
// Model and Compute Blue Area of Triangle.
Triangle t = new Triangle(triangleSide);
double tArea = t.area();
double blueAreaTriangle = tArea;
// Model the Blue Square.
Square s = new Square (squareSide);
double sArea = s.area();
// Model Red Circle in Blue Square.
Circle ics = s.inscribingCircle();
ics.shrink(3.0);
double redCircleSArea = ics.area();
// Compute Blue Area of Square.
double blueAreaSquare =
sArea - redCircleSArea;
// Model the Blue Pentagon.
Polygon p = new Polygon(p5,polySide);
double pArea = p.area();
// Model Red Circle in Blue Pentagon.
Circle icp = p.inscribingCircle();
icp.shrink(3.0);
double redCirclePArea = icp.area();
// Compute Blue Area of Pentagon.
double blueAreaPentagon =
pArea - redCirclePArea;
// Model the Blue Hexagon.
Polygon hx = new Polygon(hx6,polySide);
double hxArea = hx.area();
// Model Red Circle in Blue Hexagon.
Circle icHx = hx.inscribingCircle();
icHx.shrink(3.0);
double redCircleHxArea = icHx.area();
// Compute Blue Area of Hexagon.
double blueAreaHexagon =
hxArea - redCircleHxArea;
// Model the Blue Heptagon.
Polygon hp = new Polygon(hp7,polySide);
double hpArea = hp.area();
// Model Red Circle in Blue Heptagon.
Circle icHp = hp.inscribingCircle();
icHp.shrink(3.0);
double redCircleHpArea = icHp.area();
// Compute Blue Area of Heptagon.
double blueAreaHeptagon =
hpArea - redCircleHpArea;
// Total Blue Area of Polygon Polygon Worm.
double blueAreaWorm =
(blueAreaTriangle + blueAreaSquare +
blueAreaPentagon + blueAreaHexagon +
blueAreaHeptagon);
// Display Blue Area of Polygon Polygon Worm
IO.print ("The blue area of the worm is ");
IO.print (blueAreaWorm);
IO.println (" square units");
}
}
// Demo
// ---------------------------------------------------
/*
The blue area of the worm is 1020.0537247773127
square units
*/
|
|
|