كيفية محاذاة عقد متجهية موجودة على طول خط مائل
لمحاذاة عقد متجهية موجودة على طول خط مائل، حدّد الخط باستخدام نقطتي مرجع ثابتتين، ثم حرّك العقد الأخرى إليه. للحصول على مواضع دقيقة، احسب إحداثياتها وأدخلها كلًّا على حدة. وللتحرير التفاعلي، اسحب كل عقدة إلى مسار مرجعي مستقيم مؤقت.
هذا البرنامج التعليمي موجّه إلى منقّح مخطط شخصية متجهية موجود أو أحد تفاصيله مع الإبقاء على عقده. يستخدم سير العمل الأساسي حقول الإحداثيات في Inkscape، ويشرح خيار آخر المحاذاة الهندسية بالالتقاط في Affinity Designer 2. لا تتطلب أي من الطريقتين إعادة إنشاء العمل الفني.
حدّد ما يجب أن يظل ثابتًا قبل محاذاة العقد
اختر عقدتي مرجع، A وB، تحددان الميل المطلوب. قد تمثلان طرفي مقطع مستقيم ضمن مخطط شخصية أكبر. سجّل إحداثياتهما واتركهما دون تغيير أثناء إعادة تموضع العقد الوسيطة.
بعد ذلك، قرّر كيف ينبغي أن تتحرك تلك العقد الوسيطة. تصف عبارة «المحاذاة على طول خط» الوجهة، لكنها لا تحدد اتجاه الحركة. إليك ثلاثة خيارات مفيدة:
| قاعدة التموضع | ما الذي تحافظ عليه | متى تختارها |
|---|---|---|
| الإبقاء على إحداثي X لكل عقدة | موضعها الأفقي الحالي | عندما تتطابق مواضع العقد مع المواقع المرجعية الأفقية بالفعل |
| الإبقاء على إحداثي Y لكل عقدة | موضعها الرأسي الحالي | عندما يكون الموضع الرأسي أهم من الأفقي |
| الإسقاط عموديًا على الخط | أقصر حركة لكل عقدة | عندما تريد إزالة الانحراف الجانبي عن الخط المطلوب |
قد تؤدي هذه القواعد إلى نتائج مختلفة، رغم وقوع كل عقدة ناتجة على الخط نفسه. أما التباعد المتساوي فهو عملية أخرى: فالمحاذاة وحدها لا تجعل المسافات بين العقد متساوية. يشرح توثيق Inkscape المحاذاة الأفقية أو الرأسية وتوزيع المسافات بالتساوي كلًّا على حدة. المحاذاة والتوزيع — دليل Inkscape للمبتدئين
حدّد العقد الموجودة دون تحريك الشكل كله
في Inkscape، فعّل أداة العقدة بالضغط على N أو F2، ثم انقر على المسار الموجود لإظهار عقده. انقر على العقدة التي تريد إعادة تموضعها تحديدًا. تحرّر أداة العقدة هندسة المسار، بما يشمل مواقع العقد والمقابض التي تتحكم في المقاطع المجاورة. تحرير المسارات باستخدام أداة العقدة — دليل Inkscape للمبتدئين
قبل التحرير، احفظ نسخة عمل وسجّل العقد التي تنتمي إلى المقطع المستهدف. يتضمن سجل مفيد إحداثيات A وB، والإحداثيات الأصلية لكل عقدة ستحركها، وقاعدة التموضع التي اخترتها. يتيح ذلك تكرار العملية ومقارنة النتيجة بوضوح.
استخدم تحديد عقدة واحدة في كل مرة ضمن سير العمل بالإحداثيات أدناه. توفر Inkscape حقلي X وY، بالإضافة إلى محدد لوحدة الإحداثيات، ضمن عناصر التحكم بأداة العقدة. يوضح تحديد عقدة واحدة في كل مرة التغيير المقصود في الإحداثيات. خيارات أداة العقدة — دليل Inkscape للمبتدئين
تجنّب تطبيق أمر محاذاة الكائنات عندما تتعلق المهمة بالعقد داخل مسار واحد. يتغير سير عمل المحاذاة الموثّق في Inkscape بحسب ما إذا كانت أداة العقدة أو أداة التحديد نشطة. المحاذاة والتوزيع — دليل Inkscape للمبتدئين
احسب المواضع الدقيقة مع الحفاظ على التموضع الأفقي
لكي تقع نقطة ذات إحداثي أفقي x على خط مائل يمر بالنقطتين A = (Ax, Ay) وB = (Bx, By)، يجب أن يتحقق ما يلي:
y = Ay + (x − Ax) × (By − Ay) / (Bx − Ax)
تعطي هذه المعادلة طريقة عملية للمحاذاة عندما يجب الإبقاء على إحداثي X لكل عقدة دون تغيير. إنها عملية حساب هندسية وليست أمرًا خاصًا في المحرر.
لنأخذ هذه الإحداثيات التوضيحية الصريحة، وجميعها بوحدة المستند نفسها: A = (20, 30) وB = (100, 70). الفرق الأفقي هو 80 والفرق الرأسي هو 40، لذا تصبح معادلة الخط كما يلي:
y = 30 + (x − 20) × 0.5
لنفترض أن إحداثيات ثلاث عقد وسيطة موجودة هي كما يلي. عند الإبقاء على قيم X، تكون المواضع المستهدفة كالتالي:
| العقدة | الموضع الأصلي | الموضع المستهدف |
|---|---|---|
| P1 | (40, 50) | (40, 40) |
| P2 | (60, 40) | (60, 50) |
| P3 | (80, 65) | (80, 60) |
طبّق المواضع المستهدفة في Inkscape:
- حدّد P1 وحدها باستخدام أداة العقدة.
- تأكد من تطابق وحدة الإحداثيات مع الوحدة المستخدمة في حساباتك.
- أبقِ X عند 40 وأدخل 40 في Y.
- حدّد P2 وحدها وأدخل Y = 50 مع الإبقاء على X = 60.
- حدّد P3 وحدها وأدخل Y = 60 مع الإبقاء على X = 80.
- أعد التحقق من A وB بمقارنة إحداثياتهما بالإحداثيات المسجّلة.
تقع العقد الثلاث الآن على الخط الذي تحدده نقطتا المرجع الثابتتان. تعود المسافات الأفقية المتساوية بينها في هذا المثال إلى الإحداثيات المختارة للعينة؛ ولا ينشئ حساب المحاذاة نفسه تباعدًا متساويًا.
لا تصلح هذه الصيغة للحفاظ على X على خط رأسي مستهدف، لأن Bx − Ax يساوي صفرًا. للخط الرأسي، اجعل X لكل عقدة مستهدفة يساوي Ax. أما الخط شبه الرأسي، فقد يكون الحفاظ على Y أنفع، لأن فرقًا أفقيًا بسيطًا قد يقابله تحرك رأسي كبير.
للحفاظ على Y بدلًا من ذلك، استخدم x = Ax + (y − Ay) × (Bx − Ax) / (By − Ay). تتطلب هذه الصيغة اختلاف By عن Ay. اقرأ الإحداثيات كلها من حقول المحرر نفسها وباستخدام نظام الوحدات نفسه، ولا تخلط بين إحداثيات المستند والقياسات المأخوذة من لقطة شاشة.
استخدم الإسقاط العمودي عندما تريد أقل حركة ممكنة
إذا لم يكن من الضروري الإبقاء على X أو Y، فإن الإسقاط العمودي يعطي أقرب نقطة على الخط المستهدف الممتد بلا نهاية. يفيد ذلك عندما تكون العقد الوسيطة منحرفة قليلًا عن مقطع مائل صحيح فيما عدا ذلك.
للعقدة الموجودة P = (Px, Py)، احسب أولًا اتجاه الخط:
dx = Bx − Ax
dy = By − Ay
ثم احسب موضعها على طول الخط والإحداثيات المسقطة:
t = ((Px − Ax) × dx + (Py − Ay) × dy) / (dx² + dy²)
Qx = Ax + t × dx
Qy = Ay + t × dy
باستخدام نقطتي المرجع التوضيحيتين نفسيهما والعقد الأصلية، نحصل على ما يلي:
| العقدة | الموضع الأصلي | الموضع المستهدف بالإسقاط العمودي |
|---|---|---|
| P1 | (40, 50) | (44, 42) |
| P2 | (60, 40) | (56, 48) |
| P3 | (80, 65) | (82, 61) |
أدخل إحداثيي الموضع المستهدف لكل عقدة على حدة. تم التحقق من هذه القيم باستخدام حساب صغير ثابت النتائج بلغة Python. وهي توضح الهندسة، وليست قياسات مأخوذة من ملف شخصية بعينه.
هناك شرطان مهمان. أولًا، يجب أن تكون A وB نقطتين مختلفتين؛ فتطابق نقطتي المرجع يجعل المقام صفرًا ولا يحدد خطًا. ثانيًا، تُسقط هذه العملية النقاط على خط ممتد بلا نهاية. إذا كانت قيمة t بين 0 و1، تقع النتيجة بين A وB؛ وإذا كانت خارج هذا النطاق، تقع بعد أحد الطرفين.
إذا وقعت عقدة مسقطة خارج المقطع المقصود، فراجعها قبل تحريكها. إن إجبارها تلقائيًا على أقرب نقطة طرفية سيكدّس العقد بعضها فوق بعض ويغير التموضع المقصود. كما أن المعادلة وحدها لا تعالج حالة مسار موجود تعود عقده بالاتجاه المعاكس بحسب ترتيب اتصالها.
اسحب العقد إلى مسار مرجعي مائل في Affinity Designer 2
قد يكون المسار المرجعي المؤقت أسهل من حساب الإحداثيات عندما يكون عدد العقد قليلًا. توثّق Affinity Designer 2 خيارًا في أداة العقدة اسمه الالتقاط إلى هندسة المنحنيات المحددة، يلتقط العقدة المتحركة إلى مسار منحنى محدد أو عقدته. وتعمل عناصر التحكم الخاصة بالتقاط العقد بصورة مستقلة عن الالتقاط العام. أداة العقدة — مساعدة Affinity Designer 2
ينطبق سير العمل التالي هذه الإمكانية الموثّقة على مهمة المحاذاة:
- أنشئ منحنى مرجعيًا مستقيمًا منفصلًا بالميل المطلوب، واجعله يمر عبر موضعي المرجع لديك.
- حدّد منحنى العمل والمنحنى المرجعي باستخدام أداة العقدة.
- فعّل الالتقاط إلى هندسة المنحنيات المحددة في شريط السياق.
- حدّد عقدة واحدة فقط من العمل لتحريكها، واسحبها نحو المنحنى المرجعي.
- تأكد من التقاطها إلى الجزء المقصود من الهندسة المرجعية.
- كرر ذلك لبقية العقد، مع إبقاء عقدتي المرجع ثابتتين.
- أزل المنحنى المؤقت بعد التحقق من النتيجة.
استخدم مقطعًا مرجعيًا طويلًا بما يكفي ليشمل كل المواضع المستهدفة. قرب طرفيه، تحقق مما إذا كانت العقدة قد استقرت على الطرف نفسه بدلًا من الموضع الداخلي المطلوب.
يحدد السحب إلى مسار وجهةً على ذلك المسار، لكنه لا يحدد بحد ذاته إسقاطًا عموديًا أو الحفاظ على X أو Y. استخدم الإحداثيات المحسوبة عندما تكون هذه الشروط مهمة. كما توثّق Affinity Designer 2 إمكانية إعادة تموضع العقد الفردية عبر لوحة التحويل. تحرير المنحنيات والأشكال — مساعدة Affinity Designer 2
تحقق من مقابض بيزييه إذا ظل المخطط يبدو منحنيًا
لا تؤدي محاذاة العقد بالضرورة إلى مخطط مرئي مستقيم. تتحكم مقابض بيزييه في شكل المقاطع الواصلة، لذا قد ينحني المقطع مبتعدًا عن الخط المستهدف حتى عندما تقع عقدتاه عليه. تحرير المسارات باستخدام أداة العقدة — دليل Inkscape للمبتدئين
افحص كل مقطع واصل على حدة. إذا كانت مهمتك تتطلب محاذاة مواضع نقاط الارتكاز فقط، فأبقِ الانحناء المقصود. أما إذا كان المقطع نفسه يجب أن يكون مستقيمًا، فيجب ضبط مقابضه أيضًا: استخدم مقاطع مستقيمة أو ضع نقاط التحكم المعنية على طول الخط المستهدف دون التسبب في تجاوز.
عند عقدتي المرجع، ضع المخطط المجاور في الحسبان قبل تغيير أنواع العقد. تتيح عقد الزاوية في Inkscape تحريك كل مقبض على حدة، بينما تحافظ العقد الملساء على محاذاة المقبضين عبر العقدة. وتحافظ العقد المتماثلة أيضًا على تساوي المسافة بين المقبضين. تؤثر هذه القيود في كيفية اتصال المقطع المستقيم بمنحنى مجاور. نبذة عن أنواع العقد — دليل Inkscape للمبتدئين
عند الزاوية التي يلتقي فيها المقطع المستقيم بمنحنى، قد تكون المقابض المستقلة مفيدة. أما للانتقال السلس، فأبقِ اتجاه المماس المطلوب. وقد يؤدي تغيير جميع العقد إلى النوع نفسه إلى تعديل تفاصيل أخرى من الشخصية دون حاجة.
تحقق من المحاذاة قبل إزالة مرجعك
تحقق من النتيجة وفق المهمة التي اخترتها في البداية:
- نقطتا المرجع: لا تزال إحداثيات A وB مطابقة للقيم المسجّلة.
- قاعدة التموضع: تحتفظ العقد بقيم X أو Y، أو تقع في مواضعها المستهدفة المحسوبة بالإسقاط العمودي.
- النطاق: تقع كل عقدة وسيطة ضمن المقطع المقصود.
- ترتيب المسار: تتقدم العقد المتصلة عبر المقطع كما هو مقصود.
- شكل المقطع: يطابق الانحناء والانتقالات المخطط المطلوب.
- الدقة: لم ينتج عن تقريب الإحداثيات انحراف مرئي.
في المثال التطبيقي، ينبغي أن يحقق كل زوج من الإحداثيات المحاذاة y = 0.5x + 20 ضمن دقة الإدخال المستخدمة. يوفر ذلك تحققًا عدديًا مستقلًا عن المظهر. وراجع الشخصية أيضًا بحجم العرض المقصود، لأن المقطع المعدّل يجب أن يظل ملائمًا للتصميم المحيط.
أبقِ نقطتي المرجع ثابتتين، واختر قاعدة الحركة عن قصد، وتحقق من المقاطع الواصلة بعد وضع العقد. يمنحك ذلك طريقة قابلة للتكرار لمحاذاة مقطع مائل موجود مع الاحتفاظ بالتحكم في بقية مخطط الشخصية.
