Metlivi-bloggen

Så konstruerar du en fylld brygga som möter två cirklar vid deras kanter

För att konstruera en fylld brygga mellan två cirklar hittar du de fyra punkterna där deras två yttre gemensamma tangenter tangerar cirklarna och förbinder sedan punkterna till en sluten fyrhörning. Slå ihop fyrhörningen med cirklarna till en enda sammanhängande silhuett, eller subtrahera kopior av cirklarna så att en separat brygga med böjda ändar som passar deras kanter återstår.

Den här handledningen använder Inkscape för att skapa en exakt förbindelse till en platt karaktär eller en illustration av en virtuell leksak. Den valda konstruktionen har raka över- och undersidor som möter cirklarna jämnt. Ett genomarbetat exempel visar exakta koordinater, följt av en formel som du kan återanvända för cirklar med andra storlekar och placeringar.

29 oktober 20267 min läsningAv Metlivi Editorial Team
Avsnitt 1

Vad gör att bryggan möter båda cirklarna jämnt?

En brygga kan vidröra en cirkel utan att ansluta jämnt till dess kontur. Om du placerar hörnen var som helst på cirkelns omkrets får du kontakt, men bryggans sida kan ändå skapa ett synligt hörn. För en jämn övergång måste sidan följa cirkelns tangent vid kontaktpunkten.

För två cirklar som ligger åtskilda använder du paret yttre gemensamma tangenter: linjerna som löper längs utsidan av båda cirklarna. Varje kontaktpunkt ligger på sin cirkel, och radien genom punkten är vinkelrät mot tangenten. Det är dessa villkor som uttrycks i Wolfram MathWorlds tangentekvationer för två cirklar.

De fyra kontaktpunkterna definierar konstruktionens fyrhörning. Dess två långa sidor blir bryggans synliga kanter, medan de två avslutande sidorna går genom cirklarna. De avslutande sidorna försvinner när formerna slås ihop eller cirklarnas överlappande delar tas bort.

Den här konstruktionen ger en förbindelse med raka sidor. En förbindelse som böjer sig inåt och smalnar av kräver en annan kurvdesign; tangentpunkterna räcker inte för att bestämma den formen.

Avsnitt 2

Vad bör du förbereda innan du ritar?

Börja med två hela cirklar, en fylld yta och ingen kontur. Använd samma koordinatenhet genomgående. En synlig kontur kan skymma kanten som du försöker anpassa till, så lägg till eventuell slutlig kontur efter att den fyllda geometrin har konstruerats.

I Inkscape väljer du Ellipsverktyget med E och håller sedan ned Ctrl medan du drar för att skapa en cirkel. Om du vill ange exakta mått ställer du in samma värde för Rx och Ry i verktygsinställningarna. Om ett objekt är en båge eller sektor väljer du Gör ellipsen hel innan du fortsätter. Dessa inställningar beskrivs i Inkscapes guide till cirklar, ellipser och bågar.

Öppna Objekt → Fyllning och kontur. Välj en enfärgad fyllning och markera det kryssformade alternativet Ingen färg under Konturfärg. Behåll opaciteten på 100 % medan du granskar konstruktionen. Se Dialogrutan Fyllning och kontur för dessa inställningar.

Lägg en reservkopia av de två ursprungliga cirklarna utanför arbetsytan. Den slutliga booleska åtgärden ändrar konstruktionen, och originalen gör det lättare att justera den senare.

Avsnitt 3

Hur bygger du en exakt brygga utifrån exempelkoordinater?

Använd följande exempelvärden. De skapar medvetet en kraftigt avsmalnande förbindelse, så att kontaktgeometrin blir lätt att granska. Koordinaterna anges i pixlar, där x ökar åt höger och y nedåt.

Objekt Mittpunkt Radie Begränsningsruta
Cirkel A (100, 100) 70 x = 30–170; y = 30–170
Cirkel B (200, 100) 10 x = 190–210; y = 90–110

Avståndet mellan mittpunkterna är 100 enheter. När radierna subtraheras återstår ett mellanrum på 20 enheter mellan cirklarnas närmaste kanter. Bryggan måste spänna över detta mellanrum och samtidigt fortsätta jämnt in i cirklarnas konturer.

För dessa cirklar är de fyra tangenternas kontaktpunkter:

Punkt Placering Koordinater
A övre Övre kontakt på cirkel A (142, 44)
B övre Övre kontakt på cirkel B (206, 92)
B nedre Nedre kontakt på cirkel B (206, 108)
A nedre Nedre kontakt på cirkel A (142, 156)

Välj Bezier-/Pennverktyget och skapa en bana med fyra hörn i den ordning som visas i tabellen. Klicka på varje hörn utan att dra och klicka sedan på startpunkten för att sluta banan. Ge den samma enfärgade fyllning som cirklarna och ta bort konturen.

För exakt placering ritar du först fyrhörningen ungefärligt. Byt sedan till nodverktyget med N, markera en nod i taget och ange dess x- och y-koordinater i verktygsinställningarna. Ställ in koordinatenheten på pixlar. Inkscape beskriver dessa numeriska fält i Alternativ för nodverktyget.

Följ figurens omkrets när du förbinder punkterna: A övre → B övre → B nedre → A nedre → slut. Om du förbinder punkterna diagonalt över formen skapas en korsande bana i stället för den avsedda fyllda bryggan.

Exempelkoordinaterna har kontrollerats med en deterministisk beräkning: varje kontaktpunkt ligger på rätt avstånd från cirkelns mittpunkt, och varje lång bryggsida är vinkelrät mot motsvarande kontaktstrålar.

Avsnitt 4

Bör du slå ihop bryggan eller behålla den separat?

Välj slutlig struktur utifrån hur du vill redigera eller färglägga karaktären.

Önskat resultat Konstruktion
En sammanhängande silhuett i en färg Slå samman de båda cirklarna och fyrhörningen
Separat färglagd brygga som slutar vid cirklarna Subtrahera kopior av cirklarna från fyrhörningen
Redigerbar konstruktion för senare justeringar Behåll originalcirklarna och fyrhörningen före endera åtgärden

Om du vill ha en enda silhuett markerar du båda cirklarna och fyrhörningen och väljer sedan Bana → Union. Om du vill ha en separat brygga duplicerar du cirklarna, slår ihop kopiorna till en skärform och placerar den ovanför fyrhörningen. Markera skärformen och fyrhörningen och välj sedan Bana → Differens. Låt originalcirklarna vara omarkerade.

Differens tar bort de överlappande cirkeldelarna och lämnar böjda bryggändar som följer de motstående cirkelkanterna. Union bevarar den övergripande fyllda konturen. Dessa åtgärder och betydelsen av objektens staplingsordning förklaras i Inkscapes guide till booleska operationer.

Fyrhörningens raka avslutande sidor är konstruktionskanter. Om du låter den oklippta fyrhörningen vara synlig i en annan färg syns dessa kordor inuti cirklarna. Använd subtraktionsmetoden när bryggan ska ha en egen färg och sluta exakt vid cirklarnas omkrets.

Avsnitt 5

Hur beräknar du kontaktpunkter för andra cirklar?

Följande formel är ett härlett hjälpmedel för beslutsfattande baserat på villkoren för radielängd och vinkelräthet i MathWorlds tangentekvationer. Den fungerar för cirklar med godtyckliga placeringar, så de behöver inte ligga på samma vågräta linje.

Låt mittpunkterna vara A = (ax, ay) och B = (bx, by), med positiva radier rA och rB. Beräkna först avståndet mellan mittpunkterna och en enhetsvektor som pekar från A till B:

d = sqrt((bx − ax)² + (by − ay)²)

u = (ux, uy) = ((bx − ax) / d, (by − ay) / d)

Konstruera en vinkelrät enhetsvektor v = (−uy, ux). Beräkna sedan:

q = (rA − rB) / d

s = sqrt(1 − q²)

n₁ = q·u + s·v

n₂ = q·u − s·v

Vektormultiplikation betyder här att varje komponent multipliceras med skalären. Varje vektor n pekar från en mittpunkt mot en tangentens kontaktpunkt. De fyra punkterna är:

  • A₁ = A + rA·n₁
  • B₁ = B + rB·n₁
  • A₂ = A + rA·n₂
  • B₂ = B + rB·n₂

Rita omkretsen A₁ → B₁ → B₂ → A₂ → slut. Beroende på cirklarnas placering och koordinaternas riktning kan endera normalen motsvara den övre sidan.

För det genomarbetade exemplet är u = (1, 0), q = 0.6 och s = 0.8. De två normalerna är (0.6, 0.8) och (0.6, −0.8). Om du multiplicerar dem med varje radie och adderar motsvarande mittpunkt får du de fyra koordinaterna som angavs tidigare.

Konstruktionen följer direkt av dessa vektorer: varje normal har längden ett, vilket placerar kontaktpunkten på cirkeln. Skalärprodukten med sträckan mellan motsvarande kontaktpunkter är noll, vilket fastställer tangensen. För lika stora radier är q = 0, så bryggans sidor löper parallellt med linjen mellan mittpunkterna.

Avsnitt 6

När behöver den här konstruktionen justeras?

För uppgiften med åtskilda cirklar krävs d > rA + rB. Då finns det ett verkligt mellanrum att fylla med bryggan. Om cirklarna redan överlappar kan det fortfarande vara användbart att sammanfoga dem, men resultatet gäller då ett annat formproblem.

Formeln kräver d > |rA − rB| för att det ska finnas två åtskilda yttre tangentlinjer. Vid likhet faller tangentkonstruktionen samman. Under den gränsen ligger den ena cirkeln inuti den andra och kvadratroten saknar reellt värde. Om mittpunkterna sammanfaller är beräkningen av enhetsvektorn också odefinierad. Dessa begränsningar följer av formeln ovan.

Beräkna kontaktpunkterna på nytt när du flyttar eller ändrar storlek på någon av cirklarna. Om du flyttar ett brygghörn på ögonmått kan kontakten bevaras samtidigt som tangensen går förlorad. Om du sträcker ut en cirkel till en ellips förändras geometrin på samma sätt; den här formeln för cirklar gäller då inte längre.

Avsnitt 7

Hur kontrollerar du den färdiga förbindelsen?

Granska resultatet både med hög förstoring och i den avsedda visningsstorleken. Följ denna ordning för att hitta orsaken till en synlig defekt:

  1. Kontrollera fyllningen. Bekräfta att fyrhörningen är sluten och fylld samt saknar korsande segment.
  2. Kontrollera cirkelgeometrin. Verifiera mittpunkterna, radierna och koordinatenheterna mot beräkningen.
  3. Kontrollera de fyra kontaktpunkterna. Korrigera nodernas koordinater innan du ändrar kurvhandtag.
  4. Kontrollera den slutliga strukturen. Bekräfta att Union eller Differens gav den silhuett eller separata brygga du tänkt dig.
  5. Kontrollera konturen. Lägg till en kontur på den färdiga silhuetten om designen kräver det. Granska separat konturerade delar så att inga oönskade inre gränser syns.

Mät avståndet från varje kontaktpunkt till dess mittpunkt för en numerisk kontroll: det ska vara lika med cirkelns radie. Kontrollera sedan att varje synlig bryggsida är vinkelrät mot sina kontaktstrålar. Dessa tester skiljer en exakt förbindelse från en som bara ser rätt ut.

När kontaktpunkterna är rätt återstår att välja hur illustrationen ska organiseras: som en enda enhetlig silhuett eller som separata fyllda delar. Spara källcirklarna och de beräknade punkterna, så kan du återskapa samma brygga som passar kanterna närhelst karaktärens proportioner ändras.

Avsnitt 8

Källor

Relaterad läsning

Fortsätt utforska detta ämne