|
Spec-Zone .ru
спецификации, руководства, описания, API
|
Конструктивная геометрия области (CAG) является процессом создания новых геометрических форм, выполняя логические операции на существующих. В Java 2D™ API Area class реализует взаимодействуйте через интерфейс и поддерживает следующие логические операции.
![]() |
Объединение |
![]() |
Вычитание |
![]() |
Пересечение |
![]() |
Монопольный - или (XOR) |
В этом примере Area объекты создают форму груши из нескольких эллипсов.
Если Вы не видите, что апплет работает, Вы должны установить .
Листы каждый создаются, выполняя пересечение на двух накладывающихся кругах.
leaf = new Ellipse2D.Double(); ... leaf1 = new Area(leaf); leaf2 = new Area(leaf); ... leaf.setFrame(ew-16, eh-29, 15.0, 15.0); leaf1 = new Area(leaf); leaf.setFrame(ew-14, eh-47, 30.0, 30.0); leaf2 = new Area(leaf); leaf1.intersect(leaf2); g2.fill(leaf1); ... leaf.setFrame(ew+1, eh-29, 15.0, 15.0); leaf1 = new Area(leaf); leaf2.intersect(leaf1); g2.fill(leaf2);
Накладывающиеся круги также используются, чтобы создать основу посредством операции вычитания.
stem = new Ellipse2D.Double(); ... stem.setFrame(ew, eh-42, 40.0, 40.0); st1 = new Area(stem); stem.setFrame(ew+3, eh-47, 50.0, 50.0); st2 = new Area(stem); st1.subtract(st2); g2.fill(st1);
Тело груши создается, выполняя операцию объединения на круге и овале.
circle = new Ellipse2D.Double(); oval = new Ellipse2D.Double(); circ = new Area(circle); ov = new Area(oval); ... circle.setFrame(ew-25, eh, 50.0, 50.0); oval.setFrame(ew-19, eh-20, 40.0, 70.0); circ = new Area(circle); ov = new Area(oval); circ.add(ov); g2.fill(circ);