Skip to Content
Java 2D Graphics
book

Java 2D Graphics

by Jonathan Knudsen
May 1999
Intermediate to advanced
368 pages
9h 6m
English
O'Reilly Media, Inc.
Content preview from Java 2D Graphics

3.6. Constructive Area Geometry

Constructive area geometry is a fancy name for combining shapes. Two or more shapes can be combined using different rules or operations, much the way numbers can be combined in an equation. The 2D API supports four different operations for combining the areas of two shapes:

addition (union)

The addition of two shapes is the area covered by one or both of the shapes.

intersection

The intersection of two shapes is the area that is covered by both shapes simultaneously.

subtraction

The result of subtracting one shape from another is the area covered by one that is not covered by the other.

exclusive or

The exclusive or operator is the inverse of the intersection operator. In other words, the exclusive or of two shapes is the area that is covered by one or the other of the shapes. But it does not include the area covered by both.

It's hard to visualize these operators just by reading about them. Figure 3.21 shows the result of applying these operators to two overlapping shapes.

In Java 2D, the java.awt.geom.Area class supports constructive area geometry. This class offers two constructors:

public Area()

This constructor creates an empty Area. You can accumulate area using the add() method, described below.

public Area(Shape g)

This constructor creates an Area using the interior of the supplied Shape.

Figure 3.21. Different ways of combining two shapes

The four area operators are implemented as Area's methods:

public void add(Area rhs)

Use this ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

Computer Graphics for Java Programmers, Second Edition

Computer Graphics for Java Programmers, Second Edition

Leen Ammeraal, Kang Zhang
Java Swing

Java Swing

Robert Eckstein, Marc Loy, Dave Wood
Java Extreme Programming Cookbook

Java Extreme Programming Cookbook

Eric M. Burke, Brian M. Coyner

Publisher Resources

ISBN: 1565924843Catalog PageErrata