<< Chapter < Page Chapter >> Page >
Listing 10 . The draw method of the GM2D02.Point class.
public void draw(Graphics2D g2D){ Ellipse2D.Double circle =new Ellipse2D.Double(getData(0)-3, getData(1)-3,6, 6);g2D.draw(circle); }//end draw

The logic behind this method is very similar to the logic that I explained relative to Listing 8 . The constructor for the Java standard Ellipse2D.Double class requires four incoming parameters that specify the coordinates of the upper-left corner of a rectangle followed by thewidth and the height of the rectangle. The new object of type Ellipse2D.Double represents an ellipse that is bounded by the four sides of the rectangle. If therectangle is square, the ellipse becomes a circle.

(In this case, the rectangle is a 6x6 square, thus producing a circle with a diameter of six pixels.)

Listing 10 calls the draw method of the Graphics2D class to render the ellipse (circle) at the specified location on the graphics context specified by the incoming parameter. Thus the code in Listing 9 produces a visual manifestation of a point at the origin of the current coordinate frame.The visual manifestation consists of a small circle centered on the location of the point, resulting in the small circle at the center of the left image in Figure 1 .

Draw the vertices of a hexagon

Returning once more to the drawOffScreen method of the program named PointLine03 , Listing 11 instantiates six GM2D02.Point objects that represent the vertices of a hexagon that is symmetrically located relative to the origin inthe current coordinate frame

Listing 11 . Draw the vertices of a hexagon.
//First define three constants to make it easier to // write the code.final double aVal = osiWidth/4.0*0.5; final double bVal = osiWidth/4.0*0.866;final double cVal = osiWidth/4.0; //Now define the points.GM2D02.Point point0 = new GM2D02.Point( new GM2D02.ColMatrix(cVal,0.0));GM2D02.Point point1 = new GM2D02.Point( new GM2D02.ColMatrix(aVal,bVal));GM2D02.Point point2 = new GM2D02.Point( new GM2D02.ColMatrix(-aVal,bVal));GM2D02.Point point3 = new GM2D02.Point( new GM2D02.ColMatrix(-cVal,0.0));GM2D02.Point point4 = new GM2D02.Point( new GM2D02.ColMatrix(-aVal,-bVal));GM2D02.Point point5 = new GM2D02.Point( new GM2D02.ColMatrix(aVal,-bVal));//Now draw a visual manifestation of each of the six// points on g2Da. point0.draw(g2Da);point1.draw(g2Da); point2.draw(g2Da);point3.draw(g2Da); point4.draw(g2Da);point5.draw(g2Da);

Then Listing 11 calls the draw method of the GM2D02.Point class six times in succession to cause small circles that represent the six points to be rendered on the specified off-screen image. You can seethose six circles in the left image in Figure 1 .

Draw six lines connecting the vertices of the hexagon

Listing 12 instantiates six objects of the GM2D02.Line class whose endpoints are specified by the six GM2D02.Point objects from Listing 11 , taken in pairs.

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Game 2302 - mathematical applications for game development. OpenStax CNX. Jan 09, 2016 Download for free at https://legacy.cnx.org/content/col11450/1.33
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Game 2302 - mathematical applications for game development' conversation and receive update notifications?

Ask