Prawidłowo – żeby z dwóch nachodzących na siebie figur (koła i prostokąta) uzyskać półkole, trzeba użyć operacji „Część wspólna” (ang. Intersect). W grafice wektorowej wszystkie te funkcje boole’owskie działają na zasadzie przecinania się obszarów wypełnienia. „Część wspólna” zostawia tylko ten fragment, w którym obie figury się nakładają, a całą resztę usuwa. W naszym przykładzie, jeśli koło jest ustawione tak, że jego dolna część zachodzi na prostokąt, to wspólnym obszarem będzie właśnie dolna połówka koła – czyli idealne półkole. To jest bardzo typowy trik używany w programach takich jak Inkscape, Illustrator czy CorelDRAW do budowania bardziej złożonych ikon i piktogramów z prostych kształtów. Z mojego doświadczenia, praca z „Częścią wspólną” jest dużo bardziej precyzyjna niż ręczne cięcie i dopasowywanie krzywych, bo program matematycznie wylicza granice przecięcia. W praktyce warto pilnować, żeby obiekty były wyrównane (align) i często korzystać z podglądu konturów (outline view), wtedy od razu widać, jak będzie wyglądał wynik operacji. Dobrą praktyką jest też robienie kopii roboczych kształtów przed zastosowaniem operacji boole’owskich, bo te działania są zwykle destrukcyjne – po zatwierdzeniu trudno wrócić do oryginalnych figur. W projektowaniu interfejsów, ikon SVG na strony WWW czy prostych logotypów, takie operacje jak „Część wspólna” to absolutna podstawa efektywnej i czystej pracy z grafiką wektorową.
W grafice wektorowej operacje na kształtach, takie jak Różnica, Podział, Wykluczenie czy Część wspólna, to tzw. operacje boole’owskie. One nie są losowe – każda z nich ma bardzo konkretne, matematyczne znaczenie. Typowy błąd polega na tym, że patrzymy tylko na „intuicyjną” nazwę funkcji, a nie na to, co faktycznie dzieje się z obszarami wypełnienia. Różnica (ang. Subtract / Difference) polega na tym, że jedna figura „wycina” fragment z drugiej. Gdyby w naszym przykładzie użyć różnicy, to z jednej figury zostałby usunięty fragment zajmowany przez drugą. W efekcie dostalibyśmy kształt przypominający np. prostokąt z zaokrąglonym wycięciem, a nie pełne półkole. To przydaje się np. do robienia otworów, ramek, ikon z „dziurą”, ale nie do budowy półkola. Podział (ang. Divide / Fragment) dzieli obszar wszędzie tam, gdzie kształty się przecinają, na kilka osobnych obiektów. Wizualnie może to chwilowo wyglądać podobnie, ale końcowy efekt to kilka fragmentów, które trzeba ręcznie usuwać lub scalać. W testowym zadaniu chodzi o jedną, gotową figurę półkola, bez dodatkowego sprzątania, więc to nie jest optymalna operacja. Wykluczenie (ang. Exclude / XOR) działa odwrotnie do części wspólnej – usuwa obszar nakładania się, a zostawia tylko to, co jest „na zewnątrz” przecięcia. Gdyby użyć wykluczenia na kole i prostokącie, środek, czyli miejsce ich wspólnego nakładania, zniknie, a zostaną dwa osobne dziwne kształty po bokach. To dobra funkcja do tworzenia bardziej dekoracyjnych, ażurowych form, ale kompletnie nie nadaje się do uzyskania klasycznego półkola. W tym zadaniu kluczowe jest zrozumienie, że półkole jest dokładnie tym obszarem, gdzie koło i prostokąt się pokrywają. Stąd jedynie „Część wspólna” daje czysty, poprawny efekt bez dodatkowej obróbki. Warto przy takich pytaniach wyobrażać sobie, które fragmenty zostaną, a które zostaną usunięte, zamiast sugerować się tylko nazwą funkcji w menu programu.