Metlivi 部落格

如何構造一個在兩個圓的邊緣相接的實心橋接形狀

若要在兩個圓之間構造實心橋接形狀,先找出兩條外公切線與圓相切的四個點,再將這些點連成封閉四邊形。將四邊形與圓合併,形成一個連續的剪影;或者扣除圓的副本,留下兩端彎曲、貼合圓周邊緣的獨立橋接形狀。

本教學使用 Inkscape,為扁平風格角色或虛擬寵物插圖製作精確的連接部分。這種構造的上下兩邊為直線,並能平順地銜接圓形。範例提供精確座標,後續也會說明可套用於不同圓形尺寸與位置的公式。

2026年10月29日閱讀時間 7 分鐘作者:Metlivi Editorial Team
第 1 節

怎樣才能讓橋接形狀與兩個圓平順銜接?

橋接形狀可以接觸圓形,卻未必能與圓形輪廓平順連接。只要將角放在圓周上,就能形成接觸,但橋接形狀的邊仍可能產生明顯的轉角。要平順銜接,該邊必須沿著接觸點處的圓形切線延伸。

對於兩個分離的圓,請使用一對外公切線:也就是沿著兩個圓外側延伸的直線。每個切點都位於圓上,而通過該點的半徑與切線垂直。這些條件以 Wolfram MathWorld 的圓與圓切線方程式 表示。

四個切點決定構造四邊形。兩條長邊會成為橋接形狀外露的邊;另外兩條封口邊則穿過圓形。合併形狀或移除圓形重疊部分後,這兩條封口邊便會消失。

這種構造會產生具有直邊的連接部分。若要製作向內彎曲、收窄的連接部分,則需採用不同的曲線設計;光靠切點無法決定這種形狀。

第 2 節

繪製前需要準備什麼?

先準備兩個完整的圓、純色填滿,並停用描邊。全程使用同一種座標單位。可見的描邊可能會遮住需要對齊的邊界,因此請在完成填色幾何形狀後再加上最終外框。

在 Inkscape 中,按 E 選取橢圓工具,拖曳時按住 Ctrl 即可建立圓形。如需精確尺寸,請在工具控制列中設定相同的 Rx 與 Ry 值。如果物件是弧形或扇形,請先使用 Make ellipse whole,再繼續操作。這些控制項詳見 Inkscape 的圓形、橢圓與弧線指南。

開啟 物件 → 填充與描邊。設定純色填充,並在「描邊顏料」下方選取十字形的 無顏料 控制項。檢查構造時,請將不透明度保持在 100%。相關設定請參閱填充與描邊對話方塊。

在工作區外保留兩個原始圓形的備份。最後的布林運算會改變構造,保留原始圓形可讓後續調整更容易。

第 3 節

如何利用範例座標精確建立橋接形狀?

請使用以下示範尺寸。這些尺寸刻意設定成兩端明顯收窄的連接部分,方便檢視接觸幾何形狀。座標單位為像素,x 軸向右增加,y 軸向下增加。

物件 中心 半徑 外接框
圓形 A (100, 100) 70 x = 30–170;y = 30–170
圓形 B (200, 100) 10 x = 190–210;y = 90–110

兩個圓心相距 100 個單位。相減兩個半徑後,最近的圓邊之間還有 20 個單位的間距。橋接形狀必須跨越這段間距,同時平順地延續圓形輪廓。

這兩個圓的四個切點如下:

點 位置 座標
A 上 圓形 A 上方的切點 (142, 44)
B 上 圓形 B 上方的切點 (206, 92)
B 下 圓形 B 下方的切點 (206, 108)
A 下 圓形 A 下方的切點 (142, 156)

選取貝茲/鋼筆工具,依照表格順序建立一條有四個角的路徑。依序點選每個角,不要拖曳,然後點選起點以封閉路徑。將填充設為與圓形相同的純色,並移除描邊。

若要精確定位,先大致畫出四邊形。按 N 切換到節點工具,逐一選取節點,並在工具控制列中輸入其 x、y 座標。將座標單位設為像素。Inkscape 在節點工具選項中說明了這些數值欄位。

依照周邊順序連接各點:A 上 → B 上 → B 下 → A 下 → 封閉路徑。若沿對角線連接,路徑就會交叉,而非形成預期的實心橋接形狀。

這些範例座標經過確定性計算驗證:每個切點到其圓心的距離都正確,而橋接形狀的每條長邊都垂直於對應的切點半徑。

第 4 節

應該合併橋接形狀,還是讓它保持獨立?

根據你想如何編輯角色或為角色上色,選擇最終結構。

預期結果 構造方式
單一色彩、連續的剪影 將兩個圓與四邊形合併
顏色獨立、止於圓形邊緣的橋接形狀 從四邊形扣除圓形副本
方便日後調整的可編輯構造 在執行任一操作前保留原始圓形與四邊形

若要製作單一剪影,請選取兩個圓與四邊形,然後選擇 路徑 → 聯集。若要保留獨立的橋接形狀,請複製圓形,將副本合併成一個切割物件,並將該物件置於四邊形上方。選取切割物件與四邊形,然後選擇 路徑 → 差集。請勿將原始圓形一併選入。

差集會移除圓形重疊的區域,留下沿著相對圓形邊界延伸的彎曲橋接端。聯集則會保留整體填滿的輪廓。這些操作以及物件堆疊順序的重要性,詳見 Inkscape 的布林運算指南。

四邊形的直線封口邊是構造用的邊。若讓未裁切的四邊形以不同顏色顯示,這些弦線就會出現在圓形內部。若橋接形狀需要使用獨立顏色,並且必須精確地止於圓周,請使用差集流程。

第 5 節

如何計算其他圓形的切點?

以下公式是根據 MathWorld 的切線方程式 中的半徑長度與垂直條件推導出的判斷輔助方法。它適用於任意位置的圓形,因此不必水平對齊。

設圓心為 A = (ax, ay) 和 B = (bx, by),半徑分別為正值 rA 和 rB。先計算圓心距離,以及從 A 指向 B 的單位向量:

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

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

構造一個垂直單位向量 v = (−uy, ux)。接著計算:

q = (rA − rB) / d

s = sqrt(1 − q²)

n₁ = q·u + s·v

n₂ = q·u − s·v

此處的向量乘法是指將每個分量乘以純量。每個向量 n 都從圓心指向切點。四個切點如下:

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

沿著周邊繪製 A₁ → B₁ → B₂ → A₂ → 封閉路徑。視圓形的排列方式與座標方向而定,任一法向量都可能代表上側。

在示範範例中,u = (1, 0)、q = 0.6,而 s = 0.8。兩個法向量為 (0.6, 0.8) 和 (0.6, −0.8)。將它們分別乘以各自半徑,再加上對應的圓心,即可得到前面列出的四個座標。

這種構造直接遵循上述向量的性質:每個法向量的長度都是 1,因此切點會落在圓上。它與相應切點之間線段的點積為零,因此符合相切條件。若兩個圓半徑相等,則 q = 0,橋接形狀的兩側便會平行於圓心連線。

第 6 節

哪些情況需要調整這種構造?

對於兩個分離圓形之間的橋接任務,必須滿足 d > rA + rB。如此兩圓之間才有真正的間距可供橋接。若兩個圓已經重疊,將它們合併或許仍有用,但那就屬於不同的形狀問題。

若要形成兩條不同的外切線,公式本身要求 d > |rA − rB|。兩者相等時,切線構造會退化。若距離小於該值,則一個圓位於另一個圓內,平方根內的值不是實數。若兩個圓心重合,單位向量的計算也無法定義。這些限制都可由上述公式推得。

只要移動或調整任一圓的大小,就要重新計算切點。用目測移動橋接角點,或許能維持接觸,但可能失去相切條件。同樣地,將圓拉伸成橢圓會改變幾何形狀;這個僅適用於圓形的公式便不再適用。

第 7 節

如何檢查完成後的連接部分?

在近距離放大檢視,以及預定的顯示尺寸下都檢查結果。依照以下順序找出可見瑕疵的原因:

  1. 檢查填充。 確認四邊形已封閉、已填滿,而且沒有交叉線段。
  2. 檢查圓形幾何。 對照計算結果,確認圓心、半徑與座標單位正確。
  3. 檢查四個切點。 先修正節點座標,再調整曲線控制柄。
  4. 檢查最終結構。 確認聯集或差集產生了預期的剪影或獨立橋接形狀。
  5. 檢查外框。 若設計需要,請在完成的剪影上加上描邊;若分開描邊各部件,請檢查是否出現多餘的內部邊界。

如需進行數值檢查,請測量每個切點到圓心的距離:它應等於該圓的半徑。接著確認橋接形狀每條外露邊都與其切點半徑垂直。這些檢查有助於區分精確的連接與僅僅看似對齊的連接。

切點確認無誤後,剩下的選擇就是如何組織圖稿:製作一個合併的剪影,或保留各自填色的獨立形狀。保留原始圓形與計算所得的切點,每當角色比例改變時,就能重新建立同樣貼合邊緣的橋接形狀。

第 8 節

資料來源

相關閱讀

繼續探索這個主題