مشهد أمامي إسباني لشخصين - كيف يؤثر على الرغبة الجنسية لدى النساء والرجال
المحتويات مكمل غذائي يعتمد على مستخلص تم الحصول عليه من الخنفساء الإسبانية (أو الخنفساء الإسبانية...
يتم تناول موضوع المضلعات في المناهج الدراسية، ولكن لا يتم إيلاء الاهتمام الكافي له. وفي الوقت نفسه، فمن المثير للاهتمام، وهذا ينطبق بشكل خاص على مسدس منتظم أو مسدس - بعد كل شيء، العديد من الكائنات الطبيعية لها هذا الشكل. وتشمل هذه أقراص العسل وأكثر من ذلك بكثير. هذا النموذج يعمل بشكل جيد للغاية في الممارسة العملية.
الشكل السداسي المنتظم هو شكل مستوٍ له ستة أضلاع متساوية الطول ونفس عدد الزوايا المتساوية.
إذا تذكرنا صيغة مجموع زوايا المضلع
اتضح أنه في هذا الشكل يساوي 720 درجة. حسنًا، بما أن جميع زوايا الشكل متساوية، فليس من الصعب حساب أن كل زاوية منها تساوي 120 درجة.
رسم شكل سداسي بسيط جدًا، كل ما تحتاجه هو بوصلة ومسطرة.
ستبدو التعليمات خطوة بخطوة كما يلي:
إذا كنت ترغب في ذلك، يمكنك الاستغناء عن الخط عن طريق رسم خمس دوائر ذات نصف قطر متساوٍ.
الشكل الذي تم الحصول عليه سيكون مسدسًا منتظمًا، ويمكن إثبات ذلك أدناه.
لفهم خصائص الشكل السداسي المنتظم، فمن المنطقي تقسيمه إلى ستة مثلثات:
وهذا سيساعد في المستقبل على عرض خصائصه بشكل أكثر وضوحًا، وأهمها:
يمكن وصف الدائرة حول مسدس، وواحد فقط. نظرًا لأن هذا الشكل منتظم، يمكنك القيام بذلك بكل بساطة: ارسم منصفًا من زاويتين متجاورتين بالداخل. يتقاطعان عند النقطة O، ويشكلان مع الجانب بينهما مثلثًا.
ستكون الزوايا بين الجانب السداسي والمنصفات 60 درجة، لذا يمكننا بالتأكيد القول أن المثلث، على سبيل المثال، AOB، متساوي الساقين. وبما أن قياس الزاوية الثالثة أيضًا يساوي 60°، فهي متساوية الأضلاع أيضًا. ويترتب على ذلك أن المقطعين OA وOB متساويان، مما يعني أنهما يمكن أن يكونا بمثابة نصف قطر الدائرة.
بعد ذلك، يمكنك الانتقال إلى الجانب التالي، وكذلك رسم منصف من الزاوية عند النقطة C. ستكون النتيجة مثلثًا متساوي الأضلاع آخر، وسيكون الجانب AB مشتركًا لكليهما، وسيكون OS هو نصف القطر التالي الذي تمر عبره نفس الدائرة. سيكون هناك ستة مثلثات من هذا القبيل في المجموع، وسيكون لديهم قمة مشتركة عند النقطة O. اتضح أنه سيكون من الممكن وصف دائرة، ولا يوجد سوى واحد منها، ونصف قطرها يساوي جانب السداسي:
ولهذا السبب من الممكن بناء هذا الشكل باستخدام البوصلة والمسطرة.
حسنًا، ستكون مساحة هذه الدائرة قياسية:
سيتزامن مركز الدائرة المحيطة مع مركز الدائرة المنقوشة. للتحقق من ذلك، يمكنك رسم خطوط عمودية من النقطة O إلى جوانب الشكل السداسي. ستكون ارتفاعات المثلثات التي يتكون منها الشكل السداسي. وفي المثلث المتساوي الساقين، الارتفاع هو الوسيط بالنسبة للضلع الذي يقع عليه. وبالتالي فإن هذا الارتفاع ليس أكثر من المنصف العمودي، وهو نصف قطر الدائرة المنقوشة.
يتم حساب ارتفاع المثلث متساوي الأضلاع ببساطة:
ح²=أ²-(أ/2)²= а²3/4، ح=أ(√3)/2
وبما أن R=a وr=h، فقد اتضح ذلك
ص=ص(√3)/2.
وهكذا تمر الدائرة عبر مراكز جوانب الشكل السداسي المنتظم.
مساحتها ستكون:
ق=3ط²/4,
أي ثلاثة أرباع ما وصف.
كل شيء واضح فيما يتعلق بالمحيط، فهو مجموع أطوال الجوانب:
ع = 6 أ، أو ف = 6 ص
لكن المساحة ستكون مساوية لمجموع المثلثات الستة التي يمكن تقسيم الشكل السداسي إليها. بما أن مساحة المثلث تحسب على أنها نصف حاصل ضرب القاعدة والارتفاع، إذن:
S=6(أ/2)(أ(√3)/2)= 6а²(√3)/4=3а²(√3)/2أو
ص=3R²(√3)/2
أولئك الذين يرغبون في حساب هذه المنطقة من خلال نصف قطر الدائرة المنقوشة يمكنهم القيام بذلك:
S=3(2ص/√3)²(√3)/2=ص²(2√3)
يمكنك وضع مثلث في شكل سداسي، حيث ستربط جوانبه القمم من خلال واحدة:
سيكون هناك اثنان منهم، وسيعطي تداخلهم نجمة داود. كل واحد من هذه المثلثات متساوي الأضلاع. وهذا ليس من الصعب التحقق منه. إذا نظرت إلى الجانب AC، فهو ينتمي إلى مثلثين في وقت واحد - BAC وAEC. فإذا كان في أولهما AB = BC، والزاوية بينهما 120 درجة، فكل واحدة منهما تكون 30 درجة. ومن هذا يمكننا استخلاص استنتاجات منطقية:
وبتقاطع المثلثات مع بعضها البعض، يشكل المثلثان شكلًا سداسيًا جديدًا، وهو منتظم أيضًا. تم إثبات ذلك ببساطة:
وبالتالي، فإن الشكل يتوافق مع خصائص الشكل السداسي المنتظم - فهو يحتوي على ستة جوانب وزوايا متساوية. من السهل استنتاج طول ضلع الشكل السداسي الجديد من تساوي المثلثات عند القمم:
د=أ(√3)/3
وسيكون أيضًا نصف قطر الدائرة الموصوفة حوله. سيكون نصف القطر المنقوش نصف حجم جانب مسدس كبير، وهو ما تم إثباته عند النظر في المثلث ABC. ارتفاعه هو بالضبط نصف الجانب، وبالتالي فإن النصف الثاني هو نصف قطر الدائرة المدرج في السداسي الصغير:
ص₂=أ/2
S=(3(√3)/2)(أ(√3)/3)²=أ(√3)/2
وتبين أن مساحة الشكل السداسي داخل نجمة داود أصغر بثلاث مرات من مساحة الشكل الكبير الذي نقشت فيه النجمة.
يتم استخدام خصائص السداسي بنشاط كبير سواء في الطبيعة أو في مختلف مجالات النشاط البشري. بادئ ذي بدء، ينطبق هذا على البراغي والصواميل - فالرؤوس الأولى والثانية ليست أكثر من مسدس منتظم، إذا كنت لا تأخذ في الاعتبار الشطب. يتوافق حجم الشدات مع قطر الدائرة المنقوشة - أي المسافة بين الحواف المتقابلة.
كما وجد البلاط السداسي استخدامه. إنه أقل شيوعًا بكثير من الشكل الرباعي الزوايا، ولكنه أكثر ملاءمة لوضعه: ثلاثة بلاطات تجتمع عند نقطة واحدة، بدلاً من أربعة. يمكن أن تكون التراكيب مثيرة جدًا للاهتمام:
يتم أيضًا إنتاج البلاط الخرساني للرصف.
تم شرح انتشار الأشكال السداسية في الطبيعة ببساطة. وبالتالي، فمن الأسهل تركيب الدوائر والكرات بإحكام على المستوى إذا كان لها نفس القطر. وبسبب هذا، أقراص العسل لها هذا الشكل.
بناء مسدس منتظم منقوش في دائرة. بناء خماسي منتظم على طول ضلع معين. حرك إبرة البوصلة إلى نقطة تقاطع القوس المرسوم للتو مع الدائرة. يمكن القيام بهذا البناء باستخدام مربع وبوصلة. يمكن بناء شكل سداسي منتظم باستخدام حافة مستقيمة ومربع 30X60°. أنشئ نقاط قمة زوايا الشكل السداسي المنتظم.
بناء مثلث متساوي الأضلاع منقوش داخل دائرة. يمكن إنشاء رؤوس مثل هذا المثلث باستخدام بوصلة ومربع بزوايا 30 و60 درجة أو بوصلة واحدة فقط. لإنشاء الضلع 2-3، ضع العارضة في الموضع الموضح بالخطوط المتقطعة، وارسم خطًا مستقيمًا عبر النقطة 2، والذي سيحدد الرأس الثالث للمثلث.
نحدد النقطة 1 على الدائرة ونعتبرها أحد رؤوس الشكل الخماسي. دعونا نعطي دائرة قطرها D؛ تحتاج إلى تركيب شكل سباعي عادي فيه (الشكل 65). قسم القطر الرأسي للدائرة إلى سبعة أجزاء متساوية. من النقطة 7 نصف قطرها يساوي قطر الدائرة D، نصف قوسًا حتى يتقاطع مع استمرار القطر الأفقي عند النقطة F. ونسمي النقطة F قطب المضلع.
يوضح العمود الأول من هذا الجدول عدد أضلاع المضلع المنتظم، ويوضح العمود الثاني المعاملات. يتم الحصول على طول ضلع مضلع معين عن طريق ضرب نصف قطر دائرة معينة بمعامل يتوافق مع عدد جوانب هذا المضلع.
موضوع درس الفيديو هذا هو "إنشاء المضلعات المنتظمة". سنقوم أيضًا مرة أخرى بتعريف المضلع المنتظم، وتصويره بيانيًا، ثم التأكد مرة أخرى من تطابق مراكز الدوائر المنقوشة والمحددة حول هذا الشكل. يمكن دائمًا إدراج دائرة في هذا المضلع، ويمكن دائمًا وصف دائرة حولها. وتبين لنا في الدروس السابقة أن منصفات زواياه ومنصفات المتعامدين على أضلاعه تلعب دورا أساسيا في وصف خصائص المضلعات.
4. لقد حصلنا على المثلث المنتظم ABC. حلت المشكلة. 3. بعد وضع إحدى ساقي البوصلة عند النقطة A1 بشكل عشوائي على الدائرة، باستخدام الساق الثانية، نحدد النقطة A2 على نفس الدائرة ونوصلها بالنقطة A1. نحصل على الجانب الأول من السداسي. 3. باستخدام المنصفات المتعامدة على أضلاع المضلع الساقط من النقطة O نقسم جميع أضلاعه وجميع أقواس الدائرة المحصورة بين رءوسها المجاورة إلى نصفين.
تعتبر الإنشاءات الهندسية أحد الأجزاء المهمة للتعلم. يجب أن تخترق الإبرة الخط المرسوم. كلما تم تثبيت البوصلة بشكل أكثر دقة، كلما كان البناء أكثر دقة. ارسم قوسًا آخر يتقاطع مع الدائرة. قم بتوصيل جميع نقاط التقاطع الستة للأقواس بشكل متسق مع الدائرة المرسومة في الأصل. في هذه الحالة، قد يكون الشكل السداسي غير صحيح.
نقوم بتوصيل القمم التي تم العثور عليها بالتتابع مع بعضها البعض. يمكن بناء الشكل السباعي عن طريق سحب الأشعة من القطب F ومن خلال تقسيمات فردية للقطر العمودي. يتطابق مركزا الدائرتين (النقطة O في الشكل 1). يوضح الشكل أيضًا نصف قطر الدوائر المقيدة (R) والمدرجة (r).
يعتمد بناء الشكل السداسي على حقيقة أن جانبه يساوي نصف قطر الدائرة المحدودة. سنتناول في هذا الدرس طرقًا لإنشاء مضلعات منتظمة باستخدام البوصلة والمسطرة. الطريقة الثانية تعتمد على أنك إذا قمت ببناء شكل سداسي منتظم منقوش في دائرة ثم قمت بتوصيل رؤوسه من خلال أحدها، فسوف تحصل على مثلث متساوي الأضلاع. الطريقة المذكورة أعلاه مناسبة لبناء مضلعات منتظمة بأي عدد من الجوانب.
بناء مسدس منتظم منقوش في دائرة.يعتمد بناء الشكل السداسي على حقيقة أن جانبه يساوي نصف قطر الدائرة المحدودة. لذلك، لبناءها، يكفي تقسيم الدائرة إلى ستة أجزاء متساوية وربط النقاط الموجودة ببعضها البعض (الشكل 60، أ).
يمكن بناء شكل سداسي منتظم باستخدام حافة مستقيمة ومربع 30X60°. لتنفيذ هذا البناء، نأخذ القطر الأفقي للدائرة كمنصف للزوايا 1 و 4 (الشكل 60، ب)، ونبني الجوانب 1 -6، 4-3، 4-5 و7-2، وبعد ذلك نرسم الجوانب 5-6 و3-2.
بناء مثلث متساوي الأضلاع محصور في دائرة. يمكن إنشاء رؤوس مثل هذا المثلث باستخدام بوصلة ومربع بزوايا 30 و60 درجة أو بوصلة واحدة فقط.
دعونا نفكر في طريقتين لبناء مثلث متساوي الأضلاع داخل دائرة.
الطريقة الأولى(الشكل 61، أ) يعتمد على حقيقة أن الزوايا الثلاث للمثلث 7، 2، 3 تحتوي على 60 درجة، والخط العمودي المرسوم عبر النقطة 7 هو الارتفاع ومنصف الزاوية 1. وبما أن الزاوية هو 0-1- 2 يساوي 30 درجة، ثم للعثور على الجانب
1-2 يكفي إنشاء زاوية 30 درجة من النقطة 1 والجانب 0-1. للقيام بذلك، قم بتثبيت العارضة والمربع كما هو موضح في الشكل، ارسم الخط 1-2، والذي سيكون أحد جوانب المثلث المطلوب. لإنشاء الضلع 2-3، ضع العارضة في الموضع الموضح بالخطوط المتقطعة، وارسم خطًا مستقيمًا عبر النقطة 2، والذي سيحدد الرأس الثالث للمثلث.
الطريقة الثانيةيعتمد هذا على حقيقة أنك إذا قمت ببناء شكل سداسي منتظم منقوش في دائرة ثم قمت بتوصيل رؤوسه من خلال أحدها، فسوف تحصل على مثلث متساوي الأضلاع.
لبناء مثلث (الشكل 61، ب)، ضع علامة على نقطة القمة 1 على القطر وارسم خطًا قطريًا 1-4. بعد ذلك، من النقطة 4 بنصف قطر يساوي D/2، نصف قوسًا حتى يتقاطع مع الدائرة عند النقطتين 3 و2. وستكون النقطتان الناتجتان هما الرأسان الآخران للمثلث المطلوب.
بناء مربع داخل دائرة. يمكن القيام بهذا البناء باستخدام مربع وبوصلة.
تعتمد الطريقة الأولى على أن أقطار المربع تتقاطع في مركز الدائرة المحددة وتميل على محاورها بزاوية مقدارها 45 درجة. وبناء على ذلك نقوم بتثبيت العارضة والمربع بزوايا 45° كما هو موضح في الشكل. 62، أ، وحدد النقطتين 1 و3. بعد ذلك، من خلال هذه النقاط نرسم الجوانب الأفقية للمربع 4-1 و3-2 باستخدام العارضة. ثم، باستخدام حافة مستقيمة، نرسم الجوانب الرأسية للمربع 1-2 و4-3 على طول ساق المربع.
تعتمد الطريقة الثانية على حقيقة أن رؤوس المربع تنصف أقواس الدائرة المحصورة بين طرفي القطر (الشكل 62، ب). نحدد النقاط A و B و C في نهايات قطرين متعامدين ومنهما نصف قطر y نصف الأقواس حتى يتقاطعوا مع بعضهم البعض.
بعد ذلك، من خلال نقاط تقاطع الأقواس، نرسم خطوطًا مستقيمة مساعدة، محددة في الشكل بخطوط صلبة. نقاط تقاطعها مع الدائرة ستحدد القمم 1 و 3؛ 4 و 2. نقوم بتوصيل رؤوس المربع المطلوب الذي تم الحصول عليه بهذه الطريقة بالتسلسل مع بعضها البعض.
بناء خماسي منتظم منقوش في دائرة.
لتناسب البنتاغون العادي في دائرة (الشكل 63)، نقوم بعمل الإنشاءات التالية.
نحدد النقطة 1 على الدائرة ونعتبرها أحد رؤوس الشكل الخماسي. نحن نقسم القطعة AO إلى النصف. للقيام بذلك، نرسم قوسًا من النقطة A نصف القطر AO حتى يتقاطع مع الدائرة عند النقطتين M وB. ومن خلال ربط هذه النقاط بخط مستقيم، نحصل على النقطة K، التي نربطها بعد ذلك بالنقطة 1. نصف قطر يساوي القطعة A7، نصف قوسًا من النقطة K حتى يتقاطع مع الخط القطري AO عند النقطة H. ومن خلال ربط النقطة 1 بالنقطة H، نحصل على جانب الخماسي. بعد ذلك، باستخدام حل بوصلة يساوي القطعة 1H، واصفًا قوسًا من الرأس 1 إلى التقاطع مع الدائرة، نجد الرؤوس 2 و5. وبعد عمل الشقوق من الرؤوس 2 و5 بنفس حل البوصلة، نحصل على الباقي القمم 3 و 4. نقوم بتوصيل النقاط الموجودة بالتتابع مع بعضها البعض.
بناء خماسي منتظم على طول ضلع معين.
لبناء شكل خماسي منتظم على طول جانب معين (الشكل 64)، نقوم بتقسيم القطعة AB إلى ستة أجزاء متساوية. من النقطتين A و B بنصف القطر AB، نصف الأقواس التي سيعطي تقاطعها النقطة K. ومن خلال هذه النقطة والتقسيم 3 على الخط AB نرسم خطًا رأسيًا.
نحصل على النقطة 1 - قمة البنتاغون. بعد ذلك، بنصف قطر يساوي AB، من النقطة 1 نصف قوسًا حتى يتقاطع مع الأقواس المرسومة مسبقًا من النقطتين A وB. تحدد نقاط تقاطع الأقواس الرؤوس الخماسية 2 و5. نقوم بتوصيل القمم التي تم العثور عليها في السلسلة مع بعضها البعض.
بناء شكل سباعي منتظم منقوش داخل دائرة.
دعونا نعطي دائرة قطرها D؛ تحتاج إلى تركيب شكل سباعي عادي فيه (الشكل 65). قسم القطر الرأسي للدائرة إلى سبعة أجزاء متساوية. من النقطة 7 نصف قطرها يساوي قطر الدائرة D، نصف قوسًا حتى يتقاطع مع استمرار القطر الأفقي عند النقطة F. ونسمي النقطة F قطب المضلع. إذا أخذنا النقطة VII كأحد رؤوس المضلع السباعي، فإننا نرسم الأشعة من القطب F عبر تقسيمات متساوية للقطر الرأسي، والتي سيحدد تقاطعها مع الدائرة الرؤوس VI وV وIV للمضلع السباعي. للحصول على الرءوس / - // - /// من النقاط IV وV وVI، ارسم خطوطًا أفقية حتى تتقاطع مع الدائرة. نقوم بتوصيل القمم التي تم العثور عليها بالتتابع مع بعضها البعض. يمكن بناء الشكل السباعي عن طريق سحب الأشعة من القطب F ومن خلال تقسيمات فردية للقطر العمودي.
الطريقة المذكورة أعلاه مناسبة لبناء مضلعات منتظمة بأي عدد من الجوانب.
يمكن أيضًا إجراء تقسيم الدائرة إلى أي عدد من الأجزاء المتساوية باستخدام البيانات الموجودة في الجدول. 2، والذي يوفر معاملات تتيح تحديد أبعاد أضلاع المضلعات المنقوشة المنتظمة.
تعتبر الإنشاءات الهندسية أحد الأجزاء الرئيسية للتدريب. إنها تشكل التفكير المكاني والمنطقي، وتسمح لنا أيضًا بفهم الصلاحية الهندسية البدائية والطبيعية. يتم إجراء الإنشاءات على المستوى باستخدام البوصلة والمسطرة. يمكن استخدام هذه الأدوات لبناء عدد كبير من الأشكال الهندسية. وفي الوقت نفسه، يتم إنشاء العديد من الأشكال التي تبدو صعبة للغاية باستخدام أبسط القواعد. على سبيل المثال، كيفية بناء شكل سداسي منتظم يمكن وصفه في بضع كلمات.
سوف تحتاج
1. أرسم دائرة. اضبط بعض المسافة بين أرجل البوصلة. هذه المسافة ستكون نصف قطر الدائرة. اختر نصف القطر بطريقة تجعل رسم الدائرة مريحًا تمامًا. يجب أن تتناسب الدائرة بالكامل مع الورقة. يمكن أن تؤدي المسافة الكبيرة جدًا أو الصغيرة جدًا بين أرجل البوصلة إلى تغييرها أثناء الرسم. ستكون المسافة المثالية التي تكون فيها الزاوية بين أرجل البوصلة 15-30 درجة.
2. أنشئ نقاط قمة زوايا الشكل السداسي المنتظم. ضع ساق البوصلة التي تم تثبيت الإبرة فيها، في أي نقطة من الدائرة. يجب أن تخترق الإبرة الخط المرسوم. كلما تم تثبيت البوصلة بشكل أكثر دقة، كلما كان البناء أكثر دقة. ارسم قوسًا دائريًا بحيث يتقاطع مع الدائرة المرسومة مسبقًا. حرك إبرة البوصلة إلى نقطة تقاطع القوس المرسوم للتو مع الدائرة. ارسم قوسًا آخر يتقاطع مع الدائرة. حرك إبرة البوصلة مرة أخرى إلى نقطة تقاطع القوس والدائرة وارسم القوس مرة أخرى. كرر هذا الإجراء ثلاث مرات أخرى، متحركًا في اتجاه واحد حول الدائرة. يجب أن يكون لكل منها ستة أقواس وست نقاط تقاطع.
3. بناء مسدس إيجابي. قم بدمج جميع نقاط التقاطع الستة للأقواس مع الدائرة المرسومة في الأصل. قم بتوصيل النقاط بخطوط مستقيمة مرسومة باستخدام المسطرة والقلم الرصاص. بعد هذه الإجراءات، سيتم الحصول على مسدس صحيح مدرج في دائرة.
سداسي الزوايايعتبر أن للمضلع ست زوايا وستة جوانب. يمكن أن تكون المضلعات إما محدبة أو مقعرة. الشكل السداسي المحدب تكون جميع زواياه الداخلية منفرجة، بينما الشكل السداسي المقعر له زاوية حادة واحدة أو أكثر. السداسي سهل البناء. يتم ذلك في بضع خطوات.
سوف تحتاج
1. خذ قطعة من الورق وحدد عليها 6 نقاط تقريبًا كما هو موضح في الشكل. 1.
2. بعد تحديد النقاط، خذ مسطرة وقلم رصاص، وبمساعدتهما، قم بتوصيل النقاط خطوة بخطوة، واحدة تلو الأخرى، كما يبدو في الشكل. 2.
فيديو حول الموضوع
ملحوظة!
مجموع الزوايا الداخلية للشكل السداسي هو 720 درجة.
سداسي الزواياهو مضلع، له ست زوايا. من أجل رسم مسدس عشوائي، عليك القيام بخطوتين لكل منهما.
سوف تحتاج
1. عليك أن تأخذ قلم رصاص في يدك وتضع علامة على 6 نقاط عشوائية على الورقة. في المستقبل، ستلعب هذه النقاط دور الزوايا في الشكل السداسي. (رسم بياني 1)
2. خذ مسطرة وارسم 6 أجزاء بناءً على هذه النقاط التي ستتصل ببعضها البعض على طول النقاط المرسومة مسبقًا (الشكل 2)
فيديو حول الموضوع
ملحوظة!
هناك نوع خاص من السداسي هو السداسي الموجب. وسمي كذلك لأن جميع أضلاعه وزواياه متساوية. يمكنك وصف أو كتابة دائرة حول هذا الشكل السداسي. ومن الجدير بالذكر أنه عند النقاط التي تم الحصول عليها عن طريق لمس الدائرة المنقوشة وجوانب السداسي يتم تقسيم جوانب السداسي الموجب إلى نصفين.
نصائح مفيدة
في الطبيعة، السداسيات الإيجابية تحظى بشعبية كبيرة. على سبيل المثال، قرص العسل بأكمله له شكل سداسي موجب. أو أن الشبكة البلورية للجرافين (تعديل الكربون) لها أيضًا شكل مسدس إيجابي.
كيفية بناء واحد أو آخر ركن- سؤال كبير. ولكن بالنسبة لبعض الزوايا يتم تبسيط المهمة بشكل غير مرئي. إحدى هذه الزوايا هي ركنعند 30 درجة. وهو يساوي؟/6، أي أن الرقم 30 هو مقسوم على 180. بالإضافة إلى أن جيبها معروف. وهذا يساعد في بنائه.
سوف تحتاج
1. أولاً، دعونا نلقي نظرة على موقف بدائي بشكل خاص عندما يكون لديك منقلة في يديك. ثم يمكن بسهولة وضع خط مستقيم بزاوية 30 درجة مع دعمه.
2. بالإضافة إلى المنقلة، هناك أيضا ركنأقواس تساوي إحدى زواياها 30 درجة. ثم آخر ركن ركنستكون الزاوية 60 درجة، أي أنك بحاجة إلى أصغر بصريا ركنلبناء الخط المستقيم المطلوب .
3. لننتقل الآن إلى طرق غير تافهة لبناء زاوية قياسها 30 درجة. كما تعلم، جيب الزاوية 30 درجة يساوي 1/2. لبنائه، نحتاج إلى البناء مباشرة ركن tionary ركننيك. من الممكن أن نتمكن من إنشاء خطين متعامدين. لكن ظل 30 درجة هو عدد غير نسبي، وبالتالي يمكننا فقط حساب النسبة بين الأضلاع (فقط في حالة عدم وجود آلة حاسبة)، وبالتالي، بناء ركنحوالي 30 درجة.
4. في هذه الحالة، من الممكن إجراء بناء دقيق. دعونا نبني مرة أخرى خطين مستقيمين متعامدين، حيث ستكون الأرجل مستقيمة ركنلا اذهب ركننيك. دعونا نضع ساقًا واحدة مستقيمة قبل الميلاد بطول معين بدعم من البوصلة (ب - مستقيم ركن). بعد ذلك، سنقوم بزيادة الطول بين أرجل البوصلة مرتين، وهو أمر أساسي. برسم دائرة مركزها عند النقطة C ونصف قطرها بهذا الطول نجد نقطة تقاطع الدائرة مع خط مستقيم آخر. هذه النقطة ستكون النقطة أ مباشرة ركنلا اذهب ركناي بي سي، و ركنوستكون تساوي 30 درجة.
5. منتصب ركنعند 30 درجة مسموح وبدعم من الدائرة تطبيق ما يساويه؟/6. دعونا نبني دائرة نصف قطرها OB. دعونا ننظر إلى النظرية ركننيك، حيث OA = OB = R – نصف قطر الدائرة، حيث ركن OAB = 30 درجة. دع OE هو ارتفاع هذا المثلث المتساوي الساقين ركننيك، وبالتالي، منصفها ووسيطها. ثم ركن AOE = 15 درجة، ووفقًا لصيغة نصف الزاوية، sin(15o) = (sqrt(3)-1)/(2*sqrt(2)). وبالتالي، AE = R*sin(15o). وبالتالي، AB = 2AE = 2R*sin(15o). وبإنشاء دائرة نصف قطرها BA ومركزها عند النقطة B نجد نقطة تقاطع هذه الدائرة مع النقطة الأولى. زاوية AOB ستكون 30 درجة.
6. إذا تمكنا من تحديد طول الأقواس بطريقة ما، فعند وضع قوس من الطول جانبًا؟ *R/6، نحصل أيضًا على ركنعند 30 درجة.
ملحوظة!
يجب أن نتذكر أنه في الفقرة 5 يمكننا فقط بناء الزاوية تقريبًا، لأن الأرقام غير المنطقية ستظهر في الحسابات.
سداسي الزواياتسمى حالة خاصة للمضلع - وهو شكل يتكون من غالبية نقاط المستوى، ويحده خط متعدد مغلق. السداسي الموجب (السداسي) بدوره هو أيضًا حالة خاصة - فهو مضلع له ستة جوانب متساوية وزوايا متساوية. وهذا الشكل مهم لأن طول جميع جوانبه يساوي نصف قطر الدائرة الموصوفة حول الشكل.
سوف تحتاج
1. حدد طول ضلع الشكل السداسي. خذ بوصلة وحدد المسافة بين نهاية الإبرة الموجودة على إحدى ساقيها ونهاية الرصاص الموجودة على الساق الأخرى، مساوية لطول جانب الشكل الذي يتم رسمه. للقيام بذلك، يمكنك استخدام المسطرة أو اختيار مسافة عشوائية إذا لم تكن هذه اللحظة مهمة. ثبت أرجل البوصلة بمسمار، إن أمكن.
2. ارسم دائرة باستخدام البوصلة. المسافة المحددة بين الساقين ستكون نصف قطر الدائرة.
3. قسم الدائرة إلى ستة أجزاء متساوية بالنقاط. ستكون هذه النقاط هي رؤوس زوايا الشكل السداسي، وبالتالي نهايات الأجزاء التي تمثل جوانبه.
4. ضع ساق البوصلة بالإبرة عند نقطة عشوائية تقع على خط الدائرة الموضحة. يجب أن تخترق الإبرة الخط بشكل صحيح. تعتمد دقة البناء بشكل مباشر على دقة تركيب البوصلة. ارسم قوسًا بالبوصلة بحيث يتقاطع مع الدائرة المرسومة أولاً عند نقطتين.
5. حرك ساق البوصلة بالإبرة إلى إحدى نقاط تقاطع القوس المرسوم مع الدائرة الأصلية. ارسم قوسًا آخر يتقاطع أيضًا مع الدائرة عند نقطتين (أحدهما سيتزامن مع نقطة الموقع السابق لإبرة البوصلة).
6. بنفس الطريقة، أعد ترتيب إبرة البوصلة وارسم الأقواس أربع مرات أخرى. حرك ساق البوصلة بالإبرة في اتجاه واحد حول الدائرة (دائما في اتجاه عقارب الساعة أو عكس اتجاه عقارب الساعة). ونتيجة لذلك، يجب تحديد ست نقاط تقاطع الأقواس مع الدائرة المنشأة في البداية.
7. ارسم مسدسًا موجبًا. تدريجيًا، في أزواج، قم بتوحيد النقاط الست التي تم الحصول عليها في الخطوة السابقة مع المقاطع. ارسم الأجزاء باستخدام قلم رصاص ومسطرة. ستكون النتيجة مسدسًا صحيحًا. بعد الانتهاء من البناء، يمكنك مسح العناصر المساعدة (الأقواس والدوائر).
ملحوظة!
من المنطقي اختيار المسافة بين أرجل البوصلة بحيث تكون الزاوية بينهما 15-30 درجة، على العكس من ذلك، عند إنشاء الإنشاءات، يمكن أن تضيع هذه المسافة بسهولة.
عند بناء أو تطوير خطط تصميم المنزل، غالبا ما يكون من الضروري البناء ركن، يساوي الموجود. تأتي العينات ومهارات الهندسة المدرسية لدعمها.
1. تتكون الزاوية من خطين مستقيمين ينطلقان من نقطة واحدة. ستسمى هذه النقطة رأس الزاوية، وستكون الخطوط أضلاع الزاوية.
2. استخدم ثلاثة أحرف لتمثيل الزوايا: واحد في الأعلى، واثنان في الجوانب. مُسَمًّى ركن، بدءًا بالحرف الذي يقف على جانب واحد، ثم يسمى الحرف الذي يقف في الأعلى، وبعد ذلك الحرف الذي على الجانب الآخر. استخدم طرقًا أخرى لتحديد الزوايا إذا كنت تشعر براحة أكبر في الاتجاه المعاكس. في بعض الأحيان، يتم تسمية حرف واحد فقط، وهو موجود في الأعلى. ويجوز الإشارة إلى الزوايا بالأحرف اليونانية، مثلاً α، β، γ.
3. هناك حالات عندما تحتاج إلى الرسم ركن، بحيث تساوي الزاوية المعطاة. إذا لم تكن هناك فرصة لاستخدام المنقلة عند إنشاء الرسم، فلا يمكنك القيام بذلك إلا باستخدام المسطرة والبوصلة. من الممكن، على الخط المستقيم المشار إليه في الرسم بالحرفين MN، أن يكون من الضروري البناء ركنعند النقطة K، بحيث تكون مساوية للزاوية B. أي أنه من النقطة K تحتاج إلى رسم خط مستقيم يشكل الخط MN ركن، والتي ستكون مساوية للزاوية B.
4. أولاً، حدد نقطة على الجانب الكامل لزاوية معينة، على سبيل المثال، النقطتان A وC، ثم قم بتوصيل النقطتين C وA بخط مستقيم. احصل على ثلاثة ركننيك ABC.
5. الآن قم ببناء نفس الشجرة على الخط المستقيم MN ركنبحيث يكون رأسه B على الخط عند النقطة K. استخدم القاعدة لإنشاء مثلث ركنعلى ثلاث جهات. قم بقص القطعة KL من النقطة K. يجب أن يكون مساويا للقطعة BC. احصل على النقطة L.
6. من النقطة K، ارسم دائرة نصف قطرها يساوي القطعة BA. من L، ارسم دائرة نصف قطرها CA. اجمع النقطة الناتجة (P) لتقاطع دائرتين مع K. احصل على ثلاث ركن nik KPL، الذي سيكون مساوياً لثلاثة ركنكتاب اي بي سي. هذه هي الطريقة التي تحصل عليها ركن K. ستكون مساوية للزاوية B. من أجل جعل هذا البناء أكثر راحة وأسرع، انطلق بأجزاء متساوية من الرأس B، باستخدام حل بوصلة واحد، دون تحريك الأرجل، وصف دائرة بنفس نصف القطر من النقطة K.
فيديو حول الموضوع
ملحوظة!
تجنب تغيير المسافة بين أرجل البوصلة عن طريق الخطأ. في هذه الحالة، قد يكون الشكل السداسي غير صحيح.
نصائح مفيدة
لديه موهبة في صنع الإنشاءات باستخدام بوصلة ذات رصاص حاد تمامًا. بهذه الطريقة ستكون الإنشاءات دقيقة بشكل خاص.
تُستخدم الشبكات السداسية (الشبكات السداسية) في بعض الألعاب، لكنها ليست بسيطة أو شائعة مثل الشبكات المستطيلة. لقد قمت بجمع الموارد حول الشبكات السداسية منذ ما يقرب من 20 عامًا، وكتبت هذا الدليل لأكثر الأساليب أناقة، والتي يتم تنفيذها بأبسط التعليمات البرمجية. تستخدم هذه المقالة على نطاق واسع أدلة تشارلز فو وكلارك فيربروج. سأصف الطرق المختلفة لإنشاء شبكات سداسية وعلاقاتها والخوارزميات الأكثر شيوعًا. العديد من أجزاء هذه المقالة تفاعلية: يؤدي تحديد نوع الشبكة إلى تغيير المخططات والتعليمات البرمجية والنصوص المقابلة. (ملاحظة لكل: هذا ينطبق فقط على الأصل، أنصحك بدراسته. في الترجمة، يتم الاحتفاظ بجميع المعلومات الخاصة بالأصل، ولكن دون تفاعل.).
تمت كتابة أمثلة التعليمات البرمجية الموجودة في المقالة برمز زائف، لذا فهي أسهل في القراءة والفهم من أجل كتابة التنفيذ الخاص بك.
أشكال سداسية ذات قمم مسطحة (يسار) وحادة (يمين).
السداسيات لها 6 وجوه. كل وجه مشترك بين شكلين سداسيين. السداسيات لديها 6 نقاط ركنية. كل نقطة زاوية مشتركة بين ثلاثة أشكال سداسية. يمكنك قراءة المزيد عن المراكز والحواف ونقاط الزوايا في مقالتي عن أجزاء الشبكة (المربعات والأشكال السداسية والمثلثات).
الوظيفة hex_corner(center, size, i): var angle_deg = 60 * i + 30 var angle_rad = PI / 180 * angle_deg نقطة الإرجاع (center.x + size * cos(angle_rad)، center.y + size * sin(angle_rad) )
لملء شكل سداسي، تحتاج إلى الحصول على رؤوس المضلع من hex_corner(..., 0) إلى hex_corner(..., 5) . لرسم الخطوط العريضة للشكل السداسي، تحتاج إلى استخدام هذه القمم ثم رسم الخط مرة أخرى في hex_corner(..., 0) .
الفرق بين الاتجاهين هو أن x و y يتم تبديلهما، مما يؤدي إلى تغيير في الزوايا: الأشكال السداسية المسطحة لها زوايا 0°، 60°، 120°، 180°، 240°، 300°، وقمة مدببة الأشكال السداسية لها زوايا 30 درجة، 90 درجة، 150 درجة، 210 درجة، 270 درجة، 330 درجة.
زوايا سداسية ذات قمم مسطحة وحادة
عرض السداسي width = sqrt(3)/2 * height . المسافة الأفقية بين الأشكال السداسية المتجاورة هي الأفق = العرض .
تستخدم بعض الألعاب فن البكسل للأشكال السداسية، وهو ما لا يتطابق تمامًا مع الأشكال السداسية العادية. لن تتطابق صيغ الزاوية والموضع الموضحة في هذا القسم مع أبعاد هذه الأشكال السداسية. تنطبق بقية المقالة التي تصف خوارزميات الشبكة السداسية حتى لو كانت الأشكال السداسية ممتدة أو مضغوطة قليلاً.
الترتيب الأفقي "الغريب ص"
الترتيب الأفقي "حتى ص"
الترتيب العمودي "الفردي ف".
الترتيب العمودي "حتى-ف"
لنأخذ شبكة من المكعبات و دعونا نقطعهاالمستوى القطري عند x + y + z = 0. هذه فكرة غريبة، لكنها ستساعدنا في تبسيط خوارزميات الشبكة السداسية. على وجه الخصوص، سنكون قادرين على استخدام العمليات القياسية من الإحداثيات الديكارتية: جمع وطرح الإحداثيات، والضرب والقسمة على كمية قياسية، وكذلك المسافات.
لاحظ المحاور الثلاثة الرئيسية على شبكة المكعبات وعلاقتها بالستة قطرياتجاهات الشبكة السداسية. تتوافق المحاور القطرية للشبكة مع الاتجاه الرئيسي للشبكة السداسية.
نظرًا لأن لدينا بالفعل خوارزميات للشبكات المربعة والمكعبة، فإن استخدام الإحداثيات المكعبة يسمح لنا بتكييف هذه الخوارزميات مع الشبكات السداسية. سأستخدم هذا النظام في معظم خوارزميات المقالة. لاستخدام الخوارزميات مع نظام إحداثي مختلف، أقوم بتحويل الإحداثيات المكعبة، وتشغيل الخوارزمية، ثم تحويلها مرة أخرى.
تعرف على كيفية عمل الإحداثيات المكعبة للشبكة السداسية. عند تحديد الأشكال السداسية، يتم تمييز الإحداثيات المكعبة المقابلة للمحاور الثلاثة.
هناك العديد من أنظمة الإحداثيات المختلفة للمكعبات والأشكال السداسية. وفي بعضها تختلف الحالة عن x + y + z = 0. لقد عرضت نظامًا واحدًا فقط من بين العديد من الأنظمة. يمكنك أيضًا إنشاء إحداثيات مكعبة باستخدام xy-y و y-z و z-x والتي لها مجموعة خاصة بها من الخصائص المثيرة للاهتمام، لكنني لن أخوض فيها هنا.
لكن يمكنك القول بأنك لا تريد تخزين 3 أرقام للإحداثيات لأنك لا تعرف كيفية تخزين الخريطة بهذه الطريقة.
هناك العديد من أنظمة الإحداثيات المكعبة والعديد من الأنظمة المحورية. لن أغطي كل مجموعة في هذا الدليل. سأختار متغيرين، q (عمود) وr (صف). في الرسوم البيانية الواردة في هذه المقالة، q يتوافق مع x وr يتوافق مع z، ولكن هذه المراسلات عشوائية لأنه يمكنك تدوير المخططات وتدويرها للحصول على مراسلات مختلفة.
ميزة هذا النظام على شبكات الإزاحة هي أن الخوارزميات أكثر قابلية للفهم. الجانب السلبي للنظام هو أن تخزين بطاقة مستطيلة أمر غريب بعض الشيء؛ راجع القسم الخاص بحفظ الخرائط. تكون بعض الخوارزميات أكثر وضوحًا في الإحداثيات المكعبة، ولكن بما أن لدينا الشرط x + y + z = 0، فيمكننا حساب الإحداثيات الضمنية الثالثة واستخدامها في هذه الخوارزميات. في مشاريعي أسمي المحاور q، r، s، بحيث تبدو الحالة مثل q + r + s = 0، ويمكنني حساب s = -q - r عند الحاجة.
محورهو الاتجاه الذي يتزايد فيه الإحداثي المقابل. العمودي على المحور هو الخط الذي يظل الإحداثي ثابتًا عليه. تُظهر المخططات الشبكية أعلاه خطوطًا متعامدة.
ترتبط الإحداثيات المحورية ارتباطًا وثيقًا بالإحداثيات المكعبة، لذا فإن التحويل بسيط:
# تحويل مكعب إلى إحداثيات محورية q = x r = z # تحويل إحداثيات محورية إلى مكعبة x = q z = r y = -x-z
في الكود، يمكن كتابة هاتين الوظيفتين على النحو التالي:
دالة cube_to_hex(h): # محوري var q = h.x var r = h.z return Hex(q, r) function hex_to_cube(h): # مكعب var x = h.q var z = h.r var y = -x-z return Cube(x, y) ، ض)
إحداثيات الإزاحة أكثر تعقيدًا بعض الشيء:
الاتجاهات المتغيرة = [ Cube(+1, -1, 0), Cube(+1, 0, -1), Cube(0, +1, -1), Cube(-1, +1, 0), Cube( -1, 0, +1), Cube(0, -1, +1) ] وظيفة cube_direction(direction): إرجاع الاتجاهات وظيفة cube_neighbor(hex, Direction): إرجاع cube_add(hex, cube_direction(direction))
اتجاهات متغيرة = [ Hex(+1, 0)، Hex(+1, -1)، Hex(0, -1)، Hex(-1, 0)، Hex(-1, +1)، Hex(0, +1)] وظيفة hex_direction(direction): إرجاع الاتجاهات وظيفة hex_neighbor(hex, Direction): var dir = hex_direction(direction) return Hex(hex.q + dir.q, hex.r + dir.r)
كما في السابق، قمنا بإنشاء جدول بالأرقام التي يجب إضافتها إلى العمود والصف. ومع ذلك، هذه المرة سيكون لدينا مصفوفتان، واحدة للأعمدة/الصفوف الفردية والأخرى للأعمدة/الصفوف الزوجية. انظر إلى (1،1) في صورة خريطة الشبكة أعلاه ولاحظ كيف يتغير العمود والصف أثناء تحركك في كل اتجاه من الاتجاهات الستة. الآن دعونا نكرر العملية لـ (2,2) . ستكون الجداول والأكواد مختلفة لكل نوع من الأنواع الأربعة لشبكات الإزاحة، وإليك الكود المقابل لكل نوع من أنواع الشبكة.
غريب ص
اتجاهات فار = [ [ Hex(+1, 0), Hex(0, -1), Hex(-1, -1), Hex(-1, 0), Hex(-1, +1), Hex(0) ، +1) ]، [ سداسي عشري(+1، 0)، سداسي عشري(+1، -1)، سداسي عشري(0، -1)، سداسي عشري(-1، 0)، سداسي عشري(0، +1)، سداسي عشري( +1, +1) ] ] الدالة offset_neighbor(hex, Direction): var parity = hex.row & 1 var dir = الاتجاهات return Hex(hex.col + dir.col, hex.row + dir.row)
حتى ص
اتجاهات فار = [ [ سداسي عشري (+1، 0)، سداسي عشري (+1، -1)، سداسي عشري (0، -1)، سداسي عشري (-1، 0)، سداسي عشري (0، +1)، سداسي عشري (+1) ، +1) ]، [ سداسي عشري(+1، 0)، سداسي عشري(0، -1)، سداسي عشري(-1، -1)، سداسي عشري(-1، 0)، سداسي عشري(-1، +1)، سداسي عشري (0, +1) ] ] الدالة offset_neighbor(hex, Direction): var parity = hex.row & 1 var dir = الاتجاهات return Hex(hex.col + dir.col, hex.row + dir.row)
شبكة للصفوف الزوجية (EVEN) والفردية (ODD).
غريب س
اتجاهات فار = [ [ سداسي عشري (+1، 0)، سداسي عشري (+1، -1)، سداسي عشري (0، -1)، سداسي عشري (-1، -1)، سداسي عشري (-1، 0)، سداسي عشري (0) ، +1) ]، [ سداسي عشري(+1، +1)، سداسي عشري(+1، 0)، سداسي عشري(0، -1)، سداسي عشري(-1، 0)، سداسي عشري(-1، +1)، سداسي عشري (0, +1) ] ] الدالة offset_neighbor(hex, Direction): var parity = hex.col & 1 var dir = الاتجاهات return Hex(hex.col + dir.col, hex.row + dir.row)
حتى س
اتجاهات فار = [ [ سداسي عشري(+1، +1)، سداسي عشري(+1، 0)، سداسي عشري(0، -1)، سداسي عشري(-1، 0)، سداسي عشري(-1، +1)، سداسي عشري(0) ، +1) ]، [ سداسي عشري(+1، 0)، سداسي عشري(+1، -1)، سداسي عشري(0، -1)، سداسي عشري(-1، -1)، سداسي عشري(-1، 0)، سداسي عشري (0, +1) ] ] الدالة offset_neighbor(hex, Direction): var parity = hex.col & 1 var dir = الاتجاهات return Hex(hex.col + dir.col, hex.row + dir.row)
شبكة للأعمدة الزوجية (EVEN) والفردية (ODD).
الأقطار المتغيرة = [ مكعب(+2، -1، -1)، مكعب(+1، +1، -2)، مكعب(-1، +2، -1)، مكعب(-2، +1، +1) ), Cube(-1, -1, +2), Cube(+1, -2, +1) ] وظيفة cube_diagonal_neighbor(hex, Direction): إرجاع cube_add(hex, Diagonals)
وكما في السابق، يمكننا تحويل هذه الإحداثيات إلى إحداثيات محورية بإسقاط أحد الإحداثيات الثلاثة، أو تحويلها إلى إحداثيات إزاحة عن طريق حساب النتائج أولاً.
وظيفة cube_distance(a, b): العودة (abs(a.x - b.x) + abs(a.y - b.y) + abs(a.z - b.z)) / 2
إن ما يعادل هذا الترميز هو القول بأن أحد الإحداثيات الثلاثة يجب أن يكون مجموع الإحداثيين الآخرين، ثم اعتبار ذلك بمثابة المسافة. يمكنك اختيار نموذج النصف أو نموذج القيمة القصوى أدناه، لكنهما يعطيان نفس النتيجة:
وظيفة cube_distance(a, b): إرجاع الحد الأقصى(abs(a.x - b.x)، abs(a.y - b.y)، abs(a.z - b.z))
في الشكل، يتم تمييز القيم القصوى بالألوان. لاحظ أيضًا أن كل لون يمثل أحد الاتجاهات الستة "القطرية".
GIF
الدالة hex_distance(a, b): var ac = hex_to_cube(a) var bc = hex_to_cube(b) return cube_distance(ac, bc)
إذا كان المترجم مضمّنًا (مضمّنًا) hex_to_cube وcube_distance في حالتك، فسيقوم بإنشاء رمز مثل هذا:
الوظيفة hex_distance(a, b): العودة (abs(a.q - b.q) + abs(a.q + a.r - b.q - b.r) + abs(a.r - b.r)) / 2
هناك العديد من الطرق المختلفة لكتابة المسافات بين الأشكال السداسية في الإحداثيات المحورية، ولكن بغض النظر عن طريقة الكتابة يتم استخراج المسافة بين الأشكال السداسية في النظام المحوري من مسافة مانهاتن في النظام المكعب. على سبيل المثال، يتم الحصول على "فرق الاختلافات" الموصوف عن طريق كتابة a.q + a.r - b.q - b.r بالشكل a.q - b.q + a.r - b.r واستخدام صيغة القيمة القصوى بدلاً من صيغة التنصيف cube_distance . كلها متشابهة إذا رأيت الارتباط بالإحداثيات المكعبة.
دالة offset_distance(a, b): var ac = offset_to_cube(a) var bc = offset_to_cube(b) return cube_distance(ac, bc)
سنستخدم نفس النمط للعديد من الخوارزميات: التحويل من الأشكال السداسية إلى المكعبات، وتشغيل النسخة المكعبة من الخوارزمية، وتحويل النتائج المكعبة إلى إحداثيات سداسية (الإحداثيات المحورية أو الإزاحة).
GIF
الدالة lerp(a, b, t): // للأشكال السداسية return Cube(lerp(a.x, b.x, t), lerp(a.y, b.y, t), lerp(a.z, b.z, t)) وظيفة cube_linedraw(a, b): var N = cube_distance(a, b) var results = لكل 0 ≥ i ≥ N: results.append( cube_round(cube_lerp(a, b, 1.0/N * i))) يُرجع النتائج
ملحوظات:
يمكننا عمل معكوس من صيغة المسافة بين الأشكال السداسية distance = max(abs(dx), abs(dy), abs(dz)) . للعثور على جميع الأشكال السداسية داخل N نحتاج إلى max(abs(dx), abs(dy), abs(dz)) ≥ N . هذا يعني أن القيم الثلاث مطلوبة: abs(dx) ≥ N و abs(dy) ≥ N و abs(dz) ≥ N . بإزالة القيمة المطلقة، نحصل على -N ≥ dx ≥ N و -N ≥ dy ≥ N و -N ≥ dz ≥ N . في الكود ستكون هذه حلقة متداخلة:
نتائج var = لكل -N ≥ dx ≥ N: لكل -N ≥ dy ≥ N: لكل -N ≥ dz ≥ N: إذا dx + dy + dz = 0: results.append(cube_add(center, Cube(dx ، دي، دي زد)))
ستعمل هذه الدورة، لكنها ستكون غير فعالة تماما. من بين جميع قيم dz التي نمر بها، هناك واحدة فقط تلبي شرط المكعب dx + dy + dz = 0. بدلًا من ذلك، سنحسب مباشرة قيمة dz التي تحقق الشرط:
نتائج فار = لكل -N ≥ dx ≥ N: لكل max(-N, -dx-N) ≥ dy ≥ min(N, -dx+N): var dz = -dx-dy results.append(cube_add( المركز، المكعب (dx، dy، dz)))
تمر هذه الدورة فقط على طول الإحداثيات المطلوبة. في الشكل، كل نطاق عبارة عن زوج من الخطوط. كل سطر هو عدم المساواة. نحن نأخذ جميع الأشكال السداسية التي تحقق المتباينات الستة.
GIF
يمكنك التعامل مع هذه المشكلة من وجهة نظر الجبر أو الهندسة. جبريًا، يتم التعبير عن كل مجال كشروط عدم المساواة بالصيغة -N ≥ dx ≥ N ، ونحتاج إلى إيجاد تقاطع هذه الشروط. هندسياً، كل منطقة عبارة عن مكعب في الفضاء ثلاثي الأبعاد، وسوف نقوم بتقاطع مكعبين في الفضاء ثلاثي الأبعاد للحصول على مكعب في الفضاء ثلاثي الأبعاد. ثم نسقطه مرة أخرى على المستوى x + y + z = 0 للحصول على الأشكال السداسية. سأحل هذه المشكلة جبريا.
أولاً، نعيد كتابة الشرط -N ≥ dx ≥ N في الصيغة الأكثر عمومية x min ≥ x ≥ x max ، ونأخذ x min = center.x - N و x max = center.x + N . لنفعل الشيء نفسه بالنسبة لـ y وz، مما يؤدي إلى الشكل العام للكود من القسم السابق:
نتائج فار = لكل xmin ≥ x ≥ xmax: لكل max(ymin, -x-zmax) ≥ y ≥ min(ymax, -x-zmin): var z = -x-y results.append(Cube(x, y, ض))
تقاطع النطاقين a ≥ x ≥ b و c ≥ x ≥ d هو max(a, c) ≥ x ≥ min(b, d) . نظرًا لأنه يتم التعبير عن مساحة الأشكال السداسية بنطاقات عبر x و y و z، فيمكننا تقاطع كل نطاق من النطاقات x و y و z بشكل منفصل ثم استخدام حلقة متداخلة لإنشاء قائمة من الأشكال السداسية في التقاطع. لمنطقة واحدة من الأشكال السداسية نأخذ x min = H.x - N و x max = H.x + N ، وبالمثل بالنسبة لـ y و z . بالنسبة لتقاطع منطقتين سداسيتين، نأخذ x min = max(H1.x - N, H2.x - N) وx max = min(H1.x + N, H2.x + N)، وبالمثل بالنسبة لـ y و ض . يعمل نفس النمط على تقاطع ثلاث مناطق أو أكثر.
GIF
الدالة cube_reachable (البدء، الحركة): var تمت زيارتها = set() أضف البداية إلى var franches التي تمت زيارتها = fris.append() لكل 1< k ≤ movement: fringes.append() for each cube in fringes: for each 0 ≤ dir < 6: var neighbor = cube_neighbor(cube, dir) if neighbor not in visited, not blocked: add neighbor to visited fringes[k].append(neighbor) return visited
يؤدي الدوران بمقدار 60 درجة إلى اليمين إلى تحريك كل إحداثي إلى موضع واحد إلى اليمين:
[x، y، z] إلى [-z، -x، -y]
يؤدي الدوران بمقدار 60 درجة إلى اليسار إلى تحريك كل إحداثيات في موضع واحد إلى اليسار:
[x، y، z] إلى [-y، -z، -x]
هذا هو التسلسل الكامل لدوران الموضع P حول الموضع المركزي C، مما يؤدي إلى موضع جديد R:
وظيفة cube_ring(center, radius): var results = # هذا الكود لا يعمل مع radius == 0; هل تفهم لماذا؟ var cube = cube_add(center, cube_scale(cube_direction(4), radius)) لكل 0 ≥ i< 6:
for each 0 ≤ j < radius:
results.append(cube)
cube = cube_neighbor(cube, i)
return results
في هذا الكود، يبدأ المكعب على حلقة، تظهر بسهم كبير من المركز إلى زاوية الرسم التخطيطي. لقد اخترت الزاوية 4 للبدء بها لأنها تتوافق مع المسار الذي تتحرك به أرقام الاتجاه الخاصة بي. قد تحتاج إلى زاوية بداية مختلفة. في كل مرحلة من الحلقة الداخلية، يقوم المكعب بتحريك شكل سداسي واحد حول الحلقة. بعد 6 * خطوات نصف قطرها ينتهي حيث بدأ.
وظيفة cube_spiral (المركز، نصف القطر): نتائج var = لكل 1 ≥ k ≥ نصف القطر: النتائج = النتائج + cube_ring (المركز، k) تُرجع النتائج
يمكن أيضًا استخدام عبور الأشكال السداسية بهذه الطريقة لحساب نطاق الحركة (انظر أعلاه).
يمكن أن تكون هذه الخوارزمية بطيئة في مساحات كبيرة، ولكن من السهل تنفيذها، لذا أوصي بالبدء بها.
GIF
أريد توسيع هذا الدليل في المستقبل. أملك