كيفية وضع خوارزمية توليد عشوائي ولكن صالحة مسار القطار تخطيط ؟
سؤال
وأنا أتساءل عما إذا كان لدي كمية ج من مسارات منحنية و الكمية S من المسارات المستقيمة, كيف يمكنني وضع خوارزمية ، (بمساعدة الحاسوب أو لا) ، تصميم "عشوائية" تخطيط استخدام كل من هذه المسارات ، مثل أن القواعد التالية راض:
1) المسارات عند كل اتصال, شكل المغلق (مستمر) حلقة القطار للذهاب حولها.
2) سلالم الانحناء من المسارات ، الاهتزاز من المسارات ، عبور المسارات كلها مسموح بها.
3) C و S على حد سواء سوف تكون حتى الأرقام.على سبيل المثال سيكون C=20 S=10.علما أن يستغرق 12 المنحنيات في نفس التوجه لجعل دائرة كاملة 360 درجة بحيث لا يقل عن 12 من تلك المنحنيات تحتاج إلى أن تكون موجهة نحو بنفس الطريقة كاملة 360 درجة.يمكن للآخرين أن "متعرجة" طالما النتيجة الصافية هي 360 درجة بحيث القطار كاملة حلقة.
المسارات المستقيمة هي حوالي 10 بوصة (25.4 سم) لفترة طويلة و في مسارات منحنية نحو 12.4 بوصة (31.6 سم) طويلة (أسفل الوسط ، بعد منحنى) و منحنى 30 درجة.إن "العلاقات" على المسارين يكون أقصى عرض 3 5/8 بوصة (9.2 سم).أنا وضعت مستقيمة منحنية المسار على أعلى من بعضها البعض من خلالها أن 12.4" (31.6 سم) منحنى 12" (30.5 سم) من خطي طول (في نفس اتجاه مستقيم) ، 3" (7.6 سم) من منحنى (في اتجاه عمودي على مستقيم).12C في دائرة قطرها 47.5" (120.6 سم) من مركز إلى مركز المسارات على طرفي نقيض.
جميع القياسات تقريبية.
التحديث
أنا إعادة قياس المسارات باستخدام الكثير منهم للمساعدة في القضاء على الأخطاء إلى حد ما لدهشتي, طول المستقيمة لا 10 بوصة ، أنها على ما يبدو عن 9.78 بوصة.هذا له تأثير كبير على مطابقة متعرج منحنيات المستقيمة.أصلا فكرت 4 منحنيات متعرجة = 5 المستقيمة ولكن هذا ليس صحيحا تماما.4 منحنيات حوالي 47" من المسافة الخطية حتى 5 المستقيمة في 9.78" كل سيكون 48.9" ، ما يقرب من 2 بوصة أطول.لذلك خدعة للوصول إلى LCM (المضاعف المشترك) من 47 9.78.اتضح أن تكون 235.235 = 47*5 و 235/9.78 = 24.028...(قريبة بما فيه الكفاية).وهذا يعني أن 20 منحنيات متعرجة هو تقريبا نفس 24 المستقيمة في خطي طول.لحسن الحظ لدي 26 المستقيمة لذلك أنا فقط بالكاد.2 بقايا يمكن بسهولة وضعه في مكان آخر في التخطيط.
اكتشفت أمرا آخر أنه إذا كنت متعرج المنحنيات 2 نفس التوجه في وقت (OOCCCCOO) ، ثم 8 من هؤلاء لديه المسافة الخطية فقط 83 بوصة ، لا 94 بوصة مثل إذا كان البديل منحنيات (OCCOOCCO).LCM من 83 و 9.78 حوالي 166.حتى 16 من تلك المنحنيات نفس خطي طول 17 المستقيمة.هذا هو المفيد أن نعرف لأن لدي 44 المنحنيات فقط 26 المستقيمة ولكن إذا كنت تفعل هذا الاستبدال, أنا يمكن أن تساعد في ذلك.
إذا كنت متعرج المنحنيات 3 في وقت واحد (OOOCCCCCCOOO) و ينحني قليلا, يمكنني الحصول على نفس خطي طول 10 المستقيمة (حوالي 97.8 بوصة).
نهاية التحديث
حتى أن برنامج الكمبيوتر لديك لإنشاء نموذج هندسي و أتذكر بالضبط مواقف كل مسار أو هل هناك طريقة أبسط إلى رمز هذا ؟ كنت تريد أن تكون قادرة على "الضغط على زر" الكمبيوتر "يبصق" صالح "الجديد" تخطيط بالنسبة لي.
أريد أن أعطي هذا العمل خوارزمية الاطفال التي تستخدم القطارات حتى لا أحبط محاولة التخطيط الذي لا يعمل ثم أنها محاولة ثني المسارات تجعل من العمل أو ترك بضع قطع المسار كوز أنها لا تناسب.جهاز كمبيوتر يمكن أن تخلق صالح تخطيط استخدام جميع المسارات و إذا خوارزمية جيدة ، ربما في بضع ثوان.هذا هو للمساعدة في منع الإحباط بالنسبة لهم.
لدي بعض مهارات الترميز ولكن أريد أن أعرف خوارزمية أولا قبل أن الرمز شيء مفيد (بخلاف مجرد اختبار أجزاء قليلة من مرشح الخوارزمية)
ما أفكر فيه هو أنني يمكن أن يكون نموذج الكمبيوتر المسارات باستخدام أصغر (تقليص) تمثيل.أعتقد أنه يمكن بعد ذلك مجرد "مكان" المسارات في المرشح تخطيط و التحقق من التصادم مع المسارات الأخرى بالفعل هناك.
أنا أفكر ربما يكون هناك طرق أفضل للقيام بذلك على الرغم من ذلك وهذا هو السبب أنا أسأل هنا عن بعض المساعدة/الأفكار.أريد حقا للحصول على هذا العمل و لدي المسارات هنا لذا يمكن استخدامها للمساعدة في التحقق من إذا كانت خوارزمية العمل.
يمكننا استخدام C=20 S=10 كما المعلمات إلى محاولة حل هذا لأنه هو معقول عدد قليل من المسارات (30 المجموع).وأنا على افتراض إن خوارزمية قوية بما فيه الكفاية ، C و S قيم يمكن أن تتغير في سوف و سوف لا تزال تعمل.على سبيل المثال ، في نهاية المطاف كنت أريد أن أحاول C=44 و S=26.
كلمة أخيرة
شكرا لكم جميعا على تعليقاتكم واقتراحاتكم حول هذه المسألة.لقد تعلمت الكثير جدا.كنت طفلا لم افكر كثيرا في القطار و كيف أنها تناسب معا ولكن الكبار ، أستطيع أن أرى أنها رائعة هندسية مشكلة صعبة الرياضية عد مشكلة توليد / معرفة كم عدد مختلف (فريدة من نوعها) المسار تخطيطات هناك.أرجو أن تتمتع هذه العملية بقدر ما فعلت.الأطفال أقدر ذلك جدا.
نهاية الكلمة الأخيرة
المحلول
فكرت في أن توفر القوة الغاشمة الحل.
الفكرة هي محاولة كل واحد تخطيط المسار بدوره.عند بناء تخطيط, هناك ثلاثة فقط القطع التي تحتاج إلى أن تؤخذ بعين الاعتبار:يسار سلم منحنى الحق وسلم منحنى مستقيم.
يمكنك ترميز تخطيط المسار كقاعدة عدد 3 مع عرض المقابلة عدد من القطع في التخطيط.تعداد كافة المسار تخطيطات الاعتماد فقط في قاعدة 3 ، حيث ترميز يذهب 0=على التوالي ، 1=اليسار و 2=الحق.
المرحلة التالية هي التحقق من أن تخطيط ينضم في كلا طرفي.الشيك الأول هو التأكد من أن هناك ما يكفي من المنحنيات إلى إكمال الدائرة.إذا اخترنا مضاد في اتجاه عقارب الساعة الشعور دائرة واحدة ، ثم 12 اليسار المنحنيات المطلوبة.كل الحق اضافية منحنى ، نحن بحاجة إلى إضافة يوم إضافي يسار المنحنى.وذلك للتحقق من تخطيط معين قد تعمل فقط إضافة رقم من اليسار منحنيات وطرح عدد من منحنيات الحق - هذا يجب أن يساوي 12.
وأخيرا نحن بحاجة إلى التحقق من طرفي الوفاء بها فعلا.نحن ببساطة رسم المسار على الشبكة الديكارتية.نبدأ الأصل في [0,0] وإذا كان ينتهي في [0,0], ثم ينضم.
أبسط طريقة رسم المسار شعار نمط.وبعبارة أخرى علينا الحفاظ على اتجاه متجه التي تشير في اتجاه آخر تخطيط المسار قطعة.إذا كنا encouter يسار المنحنى ، ثم تدوير اتجاه من 30 درجة و حق منحنى تدوير قبل -30 درجة مستقيم لا يؤثر على الاتجاه.
في الواقع قطعة مستقيمة ومنحنيات ، ونحن توسيع نطاق الاتجاه ناقلات حسب حجم قطعة ، أي10 وحدات على التوالي ، 12.4 x 12 / 2 × pi (دائرة نصف قطرها من استكمال المسار الدائري) وحدات منحنى.
المحاذير
بسبب أخطاء التقريب في إضافة أرقام النقطة العائمة, التآمر هو ليس بالضبط.و في الحياة الحقيقية يمكن أن نترك هامشا للمناورة لينتهي للقاء ، لذلك هذا يحتاج إلى أن تلبي.
العديد من تخطيطات سوف تكون هي نفسها ، ولكن تحول من خلال وظيفة واحدة.لا أستطيع أن أرى الطريق إلى استبعاد تكرار تحول تخطيطات أخرى من سابقاتها وتحقق ضدهم.
الخوارزمية لا يستبعد تخطيطات حيث قطع الصليب.من أجل القيام بذلك سيكون لديك للتأكد من أن كل قطعة في تخطيط لا يعبر قطعة أخرى في تخطيط (thats O(n^2)).و يجب أن يكون هناك شيكات curve-منحنى منحنى مستقيم مستقيم مستقيم المعابر ، وأن يبدأ في الحصول على معقد جدا.
وقت تشغيل خوارزمية الواضح O(3^ن) وهو الأسي - وربما غير عملي كبيرة جدا من تخطيطات.
وفيما يلي بعض التعليمات البرمجية لـ VBA يمكنك لصق في Excel أن أعطيك دليلا على المفهوم.لقد حاول عمدا للحفاظ على مدونة بسيطة بقدر الإمكان لمساعدة التحويل إلى المفضلة اللغة.أي أسئلة ، يرجى لا تتردد في السؤال.
Option Explicit
Type Vector
X As Double
Y As Double
End Type
Sub GenerateTrackLayout()
Dim lCounts(40) As Long
Dim lColumn As Long
Dim lTrackLength As Long
Dim lCurveSum As Long
Dim lIndex As Long
Dim lIndex2 As Long
Dim vDirection As Vector
Dim vBase As Vector
Dim vTrackPosition As Vector
Dim fPI As Double
Dim fCurveRadius As Double
Dim fStraightLength As Double
Dim sPath As String
Dim lOutputRow As Long
Const TOLERANCE = 0.5 'inch
lOutputRow = 1
vBase.X = Sqr(3) / 2 ' 30 degrees
vBase.Y = 1 / 2 ' 30 degrees
fPI = 4 * Atn(1)
fCurveRadius = 12.4 * 12 / (2 * fPI)
fStraightLength = 10
lTrackLength = 12 ' initial track length
Application.ScreenUpdating = False
Do
' Check for closed track
lCurveSum = 0
For lIndex = 0 To lTrackLength - 1
If lCounts(lIndex) = 1 Then
lCurveSum = lCurveSum + 1
ElseIf lCounts(lIndex) = 2 Then
lCurveSum = lCurveSum - 1
End If
Next
If lCurveSum = 12 Then ' one 360 degree rotation anti-clockwise
vDirection.X = 0
vDirection.Y = 1
vTrackPosition.X = 0
vTrackPosition.Y = 0
' Plot the track and ensure that ends meet
For lIndex = 0 To lTrackLength - 1
Select Case lCounts(lIndex)
Case 0 ' straight
vTrackPosition = AddVectors(vTrackPosition, ScaleVector(vDirection, fStraightLength))
Case 1 ' left curve
vDirection = MultiplyVectors(vDirection, vBase, 1)
vTrackPosition = AddVectors(vTrackPosition, ScaleVector(vDirection, fCurveRadius))
Case 2 ' right curve
vDirection = MultiplyVectors(vDirection, vBase, -1)
vTrackPosition = AddVectors(vTrackPosition, ScaleVector(vDirection, fCurveRadius))
End Select
' If ends meet within tolerance then output the track
If Abs(vTrackPosition.X) < TOLERANCE Then
If Abs(vTrackPosition.Y) < TOLERANCE Then
If lIndex = (lTrackLength - 1) Then
sPath = ""
For lIndex2 = 0 To lIndex
Select Case lCounts(lIndex2)
Case 0 ' straight
sPath = sPath & "S"
Case 1 ' left
sPath = sPath & "L"
Case 2 ' right
sPath = sPath & "R"
End Select
Next
Application.ScreenUpdating = True
Cells(lOutputRow, 1).Value = sPath
Application.ScreenUpdating = False
lOutputRow = lOutputRow + 1
End If
End If
End If
Next
End If
' Count in base 3 where number width is Track Length
lColumn = 0
Do
lCounts(lColumn) = lCounts(lColumn) + 1
If lCounts(lColumn) = 3 Then
lCounts(lColumn) = 0
lColumn = lColumn + 1
Else
Exit Do
End If
Loop Until lColumn = lTrackLength
' We've tried all tracks of this length, next one up...
If lColumn = lTrackLength Then
Erase lCounts ' reset all columns to zero
lTrackLength = lTrackLength + 1
End If
DoEvents
Loop
End Sub
' Vector maths
Function MultiplyVectors(vVectorA As Vector, vVectorB As Vector, ByVal fConjugate As Double) As Vector
MultiplyVectors.X = vVectorA.X * vVectorB.X - fConjugate * vVectorA.Y * vVectorB.Y
MultiplyVectors.Y = vVectorA.Y * vVectorB.X + fConjugate * vVectorA.X * vVectorB.Y
End Function
Function AddVectors(vVectorA As Vector, vVectorB As Vector) As Vector
AddVectors.X = vVectorA.X + vVectorB.X
AddVectors.Y = vVectorA.Y + vVectorB.Y
End Function
Function ScaleVector(vVector As Vector, ByVal fScale As Double) As Vector
ScaleVector.X = vVector.X * fScale
ScaleVector.Y = vVector.Y * fScale
End Function
نصائح أخرى
أولا: الإطار التحدي:
جهاز كمبيوتر يمكن أن تخلق صالح تخطيط استخدام جميع المسارات و إذا خوارزمية جيدة ، ربما في بضع ثوان
أنت لا تحتاج إلى الخوارزمية إلى تشغيل في بضع ثوان.تحتاج الانتاج في بضع ثوان.أنا لا أرى أن هناك أي شيء يمنعك من وضع القوة الغاشمة تخطيط كرانشر التشغيل على جهاز كمبيوتر في الزاوية حلول تخزين في قاعدة البيانات من واجهة المستخدم ثم اختيار عشوائي تخطيطات.
حيث الجيل ، هناك عدد من شبه القياسية النهج.الدولة مساحة كبيرة نوعا ما ، لذلك بحث شامل قد لا يكون ممكنا.ولكن أي من التالية قد يكون من المفيد محاولة:
- نقية خلط عشوائي من قائمة المستقيمة و أعداد متساوية من اليسار واليمين المنحنيات ، تليها "الخير" اختبار.
- تسلق تلة:تبدأ مع التقليب عشوائي ثم ثم قم بإجراء اختبار بسيط مقايضة لمعرفة ما إذا كان تحسين "الخير".إذا فعلوا ذلك, جعل مبادلة وتكرار.
- محاكاة التلدين:مماثلة, ولكن في بعض الأحيان يسمح التغييرات التي تقلل من "الخير" على أمل الحصول على أفضل التل.
- الخوارزمية الجينية:تولد الكثير من العشوائية التباديل و مرارا مزجها والحفاظ على أفضل النتائج.انها ليست واضحة تماما كيفية مزجها ، على الرغم من.
- وهذا يمكن أن تبدأ مع "معروف" المنحنيات الناتجة عن الإدراج في دائرة.
- استكشاف خيارات تلبي-في الوسط.E. g.تولد كل المنحنيات مع مجموع زاوية من 90 درجة ، مؤشر عليها من قبل ناقلات 2D بين النهاية و إذا كان هناك عدد أقل بكثير من ناقلات من هناك منحنيات كنت قد تكون قادرة على باستفاضة النظر في رباعيات منهم للعثور على تلك التي تشكل مغلقة الرباعي.
من أجل "الخير" اختبار ، من الواضح أنه يجب أن يكون كبيرا عقوبة إذا كان منحنى ليست مغلقة.هناك أيضا يحتاج إلى أن تكون كبيرة عقوبة الذاتي التداخل.وأنا أميل إلى اختبار تلك التي تستخدم رباعية شجرة العثور على القطاعات التي ليست متتالية ولكن هي قريبة من بعضها البعض ، ومن ثم قوس قوس قوس النصر-خط خط خط تقاطع الاختبارات لمعرفة ما إذا كان أي حافة المحيط قطعة واحدة التداخل حافة المحيط آخر.
استراتيجية أخرى التي قد تكون قادرة تماما القوة الغاشمة أصغر الحالة ولكن ليس أكبر من أن تأخذ هيربج نهج مجموع ناقلات.اسمحوا طول قطعة مستقيمة تكون $2\ell$ و نصف قطر منحنى قطعة تكون $2r$.منذ التوجهات كلها مضاعفات من 30 درجة ، ناقلات بين طرفي قطعة مستقيمة في $$(0, \مساء 2\ell), (\مساء 2\ell, 0), (\pm \الذراع \pm \sqrt3 \ell), (\pm \sqrt3 \الذراع \pm \ell)$$ وكذلك ناقلات بين طرفي منحني قطعة في $$(\مساء r \مساء \sqrt3 r), (\pm \sqrt3 r \مساء r), (\مساء (\sqrt3 - 1)r \مساء (\sqrt3 - 1)ص))$$
ما لم يكن أحد من $\فارك \ell r$, $\فارك {\sqrt 3 \ell} r$, أو $\فارك \ell {\sqrt 3 ص}$ هو جزء صغير البسط الصغيرة القاسم ، منحنيات المستقيمة مستقلة حتى تتمكن من العثور على عمل مجموعات من المنحنيات (القوة الغاشمة يكفي لمدة 20 منحنيات 16 منها في اتجاه واحد و 4 في الآخر ؛ 44 منحنيات تقسيم 28-16 تحتاج أفضل النهج ؛ لم أعمل من خلال الآثار التي تتطلب $+\sqrt 3$s أن يكون مطابقة عدد $-\sqrt 3$s, ولكنها قد تسمح بعض ثقيلة تصفية) ثم إدراج المستقيمة في أزواج.تطبيق هذا مع القوة الغاشمة أعداد صغيرة من المنحنيات من شأنها أن تسمح لك لتقييم كيف العديد من تخطيطات كنت قد تكون خاسرة مع متماثل النهج.
أحد الحلول الممكنة لجعل هذا بسيطة بقدر الإمكان الحصول بسرعة على عمل خوارزمية سيكون على النحو التالي.أبسط تخطيط بالطبع 12C (12 المسارات المنحنية مع كل نفس التوجه (نسبة إلى بعضها البعض) ، وتشكيل دائرة بسيطة.سوف يكون هذا هو الأساس الذي يمكننا أن نبني على.
وبالتالي فإن الخوارزمية الأساسية الحفاظ على 360 درجة المستمر حلقة تخطيط في كل خطوة عند إضافة المسارات.يمكننا القيام بذلك عن طريق فحص كم من مسارات منحنية لدينا المتبقية ، إضافة إلى تخطيط في مجموعات بحيث 360 درجة الخاصية يتم الاحتفاظ.على سبيل المثال ، تبدأ مع 12C تخطيط (دائرة بسيطة).ونحن نعرف أن لدينا 20C مجموع لذلك علينا 8C المتبقية.أبسط إضافة بعض من تلك التي من شأنها أن تحافظ على 360 درجة المنشأة وسيكون إضافة عكس اتجاه منحنى نفس التوجه منحنى (نفس دائرة الرئيسي بدأنا مع).نحن إذن أن تفعل الشيء نفسه على الجانب الآخر من التخطيط.في هذا المثال البسيط, سيكون لدينا إضافة 4 منحنيات إلى دائرة تخطيط بحيث 12C أن تصبح 16C (مع 4C بقايا).نواصل وضع منحنيات حتى 20 (في هذا المثال) يتم وضعها بشكل صحيح.علما أن هذا التصميم يتكون من جميع المنحنيات صالح حلقة مغلقة تخطيط.القطار يمكن استخدام هذا التصميم ، ومع ذلك ، فإنه يتكون من جميع المسارات المنحنية لذلك نحن لم تفعل حتى الآن.
على المسارات المستقيمة ثم تضاف بنفس الطريقة باستثناء تلك التي يمكن أن تضاف في أزواج (2 المسارات) لأنها لا تتغير 360 درجة الممتلكات.يمكن إدراجها في أي مكان لذلك أعتقد أنه سيكون من الأفضل أن المركز الأول كل من المسارات المنحنية ، ثم العودة وجعل 2nd pass إلى مكان المستقيمة بشكل عشوائي (ولكن بشكل متناظر).
هذا هو أبسط خوارزمية أستطيع أن أفكر من الآن.فمن يضمن أن تنتج درجة 360 حلقة مغلقة ، متناظرة المسار ، وعلى افتراض # منحنيات متعددة من 4 ، # المستقيمة متعددة من 2 ، فإنه سيتم استخدام كل مسار.
شيء واحد للنظر على الرغم من (عند استخدام هذه الخوارزمية إما على جهاز الكمبيوتر أو فقط في عقلك كما كنت بناء تخطيط) ، ، قد تكون هناك قيود الفضاء أكثر من ذلك في اتجاه واحد من الآخر.على سبيل المثال ، في باحة طويلة ، ولكن ليست واسعة جدا.عند استخدام الخوارزمية يجب أن تكون منحازة أكثر نحو طويل البعد من حيث تخطيط سيتم تجميعها.
إذا كان شخص ما يمكن معرفة خوارزمية شكل غير متماثل تخطيط استخدام جميع المسارات التي من شأنها أن تكون حتى أكثر إثارة للإعجاب.
الفرق في التعقيد بين الحل الأبسط والأكثر تعقيدا هو مذهل.بدءا من دائرة (12C) حول بسيطة كما يحصل لهذه المشكلة و هو معقول للأطفال ، ومع ذلك فإنه من المثير للاهتمام للغاية لتحليل حل العامة التي يمكن أن تنتج أي صالحة تخطيط (بما في ذلك غير المتماثلة منها).
في الواقع, غير خوارزمية الكمبيوتر سيكون مجرد إضافة بعض "بارد" الأشكال إلى تخطيط والحصول على مقربة من الاتصال ، ثم العودة وتهذيب ذلك أن يفعل في الواقع اتصال (حلقة مغلقة).مع 70 قطعة المسار الكلي (44C و 26S), ضخمة تخطيط ممكن.أنا حسبت ما مجموعه حوالي 67 أقدام المسار الذي هو حوالي 20 مترا.القطار ينبغي أن يستغرق حوالي 1 دقيقة إلى حلقة هذا تخطيط كامل مرة واحدة.
مرشح آخر حل أن تأخذ القياسات الفعلية من كل مسار وتذكر أقصى اليمين حافة تخطيط.عند بناء تخطيط ، يمكنك أن تبدأ مع مسار مستقيم أو مع اليسار منحنى (عكس عقارب الساعة) ، وتراكم مدى بعيدا في الماضي وأضاف المسار من اليمين حافة ثم عند إضافة مسارات أخرى ، لم يسمح مزيج من المسارات التي سوف عثرة أو عبر هذا أقصى اليمين حافة أو ربما حتى الحصول على وثيقة.لذلك على سبيل المثال ، تبدأ مع المسار المستقيم (لا 12C الأولي دائرة على هذا المرشح الحل) ، ثم اختيار عشوائيا مسار آخر قطعة.لاحظت من البداية أننا لن نسمح اليمين (في اتجاه عقارب الساعة) بدوره ، لأن ذلك من شأنه كسر قاعدة "العبور" في أقصى اليمين الحافة.بعد الأولى مباشرة المسار الوحيد لدينا خيارات أخرى مباشرة أو اليسار (عكس عقارب الساعة) منحنى.قاعدة أخرى لفرض سيكون بعد مباشرة, نحن لا يسمح لنا لإضافة أكثر من 9 نفس التوجه المنحنيات في صف واحد ، وإلا فإنه سوف يكون من المرجح أن عثرة عبر بعض المسارات الأخرى بالفعل في المكان.هذا الحد بل يمكن خفض هذه النسبة إلى 8 لمزيد من التطهير ، وإذا كان ذلك يحدث المسار التالي يجب أن يكون عكس المنحى منحنى (منذ مباشرة قد يسبب مشاكل).
هذه الخوارزمية سوف تحتاج إلى بعض المساعدة للحصول على العودة الاتصال إلى الجانب الآخر من أول وأضاف المسار قطعة.يمكننا أن نفعل ذلك من خلال الإصرار على أن عقارب الساعة منحنيات عد +1 و في اتجاه عقارب الساعة منحنيات عد -1, و هذه يجب أن تضيف ما يصل إلى 12 في آخر وأضاف منحنى.نحن يمكن أن تساعد في هذا الأمر من قبل يتحامل CC (عكس عقارب الساعة) منحنيات في نسبة 4:1 مع عقارب الساعة المنحنيات ، حتى أن هناك احتمالات نحصل على 16 CC و 4 في اتجاه عقارب الساعة ، والتي سوف بفعالية صافي 360 درجة في الدائرة.إذا الخوارزمية محاولات لإضافة CC منحنى لكن المطبات المسارات الموجودة لدينا 2 الخيارات في تلك المرحلة ، في محاولة عكس اتجاه المنحنى ، أو التخلي عن التخطيط والبدء من جديد.أعتقد أن على كمبيوتر سريع في نهاية المطاف سوف تحصل على تخطيط جيد.
أنا لست متأكدا مما إذا كان هذا الأسلوب سيحقق كل نفس تخطيطات البداية مع 12C, ولكن ربما قد يكون من الأسهل تنفيذ على جهاز كمبيوتر حيث لا يوجد سوى عدد قليل من القواعد لفرض ونحن بناء على تخطيط مسار واحد في وقت واحد.
في الحقيقة أنا فكرت 3 مرشح ممكن الحل التي يجب العمل وليس من الصعب جدا تنفيذها.فإنه يذهب على النحو التالي.
استخدام تقنية الموضحة أعلاه ، ولكن فقط تقديم نصف تخطيط (باستخدام نصف المسارات من كل نوع ، حتى 10 منحنيات 5 المستقيمة.لدينا اختيار جهاز الكمبيوتر عشوائي المسارات ولكن فقط قبول التصاميم التي في نهاية المطاف مع صافي 180 درجة يسارا (لأننا إنفاذ الحق في الحدود التي لا تتبع يمكن أن تلمس أو الصليب.حسنا لنفترض الكمبيوتر بسرعة جدا يجد صالح "نصف تخطيط".ثم ما نقوم به هو مجرد إجراء جرد كم في اتجاه عقارب الساعة المنحنيات, و عكس اتجاه عقارب الساعة منحنيات هناك ، وتكرار ذلك في النصف الآخر من المسار (ولكن ليس بالضرورة بشكل متناظر).للمستقيمين ، علينا أن سجل في زاوية ما كانوا ثم إدراجها في المباراة في النصف الآخر من المسار, ولكن مرة أخرى, ليس بالضرورة بشكل متناظر.
يتيح محاولة مثال باستخدام S على التوالي ، ا ل عكس منحنى ، و ج عن اتجاه عقارب الساعة منحنى.مع التركيز على نصف تخطيط الأولى.
أول المسار المستقيم سوف يذهب بعيدا عنا و التي تعرف لدينا اليمين حافة أننا لا يسمح الصليب.
SOOSOCSOOSSOOOC - هذا العرض ساري نصف تخطيط منذ 5 المستقيمة و 10 المنحنيات مع صافي من 6 عقارب الساعة منحنيات (2 من 8 "إلى إلغاء 2 في اتجاه عقارب الساعة المنحنيات).
الآن نحن بحاجة إلى "مراقبتهم" على الزاوية المستقيمة أدرجت في المباراة مع نفس زاوية (ولكن الاتجاه المعاكس) المسار إلى "إلغاء" منهم.
1:زاوية 0 درجة المستقيمة
0:30 درجة زاوية المستقيمة
2:60 درجة زاوية المستقيمة
0:زاوية 90 درجة المستقيمة
2:120 درجة زاوية المستقيمة
0:150 درجة الزاوية المستقيمة
0:180 درجة زاوية المستقيمة
حتى أن "المباراة" هذا على النصف الآخر من تخطيط و تجعل من ذلك أنه يربط إلى واحد ابتداء من المسار المستقيم, نحن فقط بحاجة إلى تطابق نفس العدد من نظام التشغيل Cs, ولكن أيضا تطابق نفس # المستقيمة في +180 درجة "العودة" زاوية.على سبيل المثال ، 60 درجة على التوالي أفضل 240 درجة مباشرة على الجانب الآخر من تخطيط في مكان ما, ليس بالضرورة بالضبط عكس ذلك.وذلك لأن 60 درجة على التوالي سوف تذهب في معظمها إلى اليسار قليلا (باستخدام هذا المخطط) و 240 درجة على التوالي سوف يعيده إلى الحق و يعود إلى نفس كمية فعالة "إلغاء" هذه المسارات 2 المساهمات إلى الانحراف من بداية المسار الموقف.
حتى الآن كل ما عليك القيام به لإنشاء "في عداد المفقودين نصف" من تخطيط واتخاذ المعروف المسارات علينا (و مع العلم في الزوايا المستقيمة يجب أن يكون) ، و "التدافع" لهم في أي أمر.
قد يكون هناك طريقة لا يجب أن تتطابق بالضبط نصف تخطيط مع "التكميلية" المسارات على الجانب الآخر ، ولكن هذا يتطلب المزيد من الرياضيات المعقدة و ربما ليس هناك ما يكفي من الوقت لحل هذا في الوقت الذي فضله نشط.وهناك أيضا فرصة أن ليس كل المسارات سوف تستخدم هذا الطريق وبعض طفيف منحنية المسار سيكون مطلوبا.يمكننا تجاهل هذه الملكية الخاصة لهذا السؤال.
أنا فعلا غير المتماثلة المسار لمعرفة ما إذا كان سيعمل ويبدو أنه فعل.وذلك باستخدام S على التوالي ، O على عكس منحنى ، و ج عن اتجاه عقارب الساعة منحنى ، بالإضافة إلى زاوية (درجة) نسبة إلى انطلاق المسار المستقيم ، حصلت التالية على النصف العلوي:
S0, O30, O60, S60, O90, C60, S60, O90, O120, 120, 120, O150, O180, O210, C180
على النصف السفلي من المسار حصلت على:
O210, O240, S240, C210, O240, S240, O270, O300, S300, S300, O330, O360, O390, C360, S360
في الواقع كانت الصورة مأخوذة من الجانب الخطأ حتى أعلى وأسفل انقلبت.المسار الأول وضعت كانت مباشرة بالقرب من الأزرق المهملات و يقترب المشاهد من الموافقة المسبقة عن علم و 2 المسار هو عكس منحنى.
يبدو أن هذه التقنية كثيرة حتى عدد من المنحنيات و حتى عدد المستقيمة ، بما في ذلك 44C و 26S الذي هو هدفي النهائي.هذا هو حقا مشجعة منذ إلكترونية الكمبيوتر ليس من الضروري حل هذه, لا يمكن أن يكون مجرد الاطفال بناء مجرد عن أي شكل نصف دائرة مع نصف المسارات (22C و 13S), ثم في "الصحيحة" تصميمها بحيث يتم 180 درجة ، ثم "مباراة" الجانب الآخر من الطريق ، ليس بالضرورة بشكل متناظر.
عليك أن تكون حذرا إذا كنت تريد إنشاء 180 درجة نصف تخطيط حيث يبدأ المسار وإنهاء المسار هي قريبة جدا معا.على سبيل المثال, شكل الجزء العلوي من علامة استفهام "?" (بدون نقطة) ولكن مواصلة العلوي منحنى لذلك يأتي المزيد والمزيد مباشرة من شأنها أن تكون قريبة جدا من المستقيم الذي هو فوق حيث كانت نقطة.ثم النصف السفلي ، فإنك لن تكون قادرة على القيام بالمزيد عكس عقارب الساعة منحنيات الحق بعيدا لأن هناك البعض المستقيمة هناك من "النصف العلوي".صورة من حلقة مغلقة تخطيط عملت لأنني لا "عنق الزجاجة" في "العليا" نصف ولكن بالطبع تلك هي ممكن كما وصفتها.
فإن "مشكلة" قطار تخطيط عند نصف الطريق يجعل نوعا من شكل الساعة الرملية مع ضيق الأوسط.في هذه الحالة لديك تقريبا إلى "المرآة" الجزء العلوي لأن بعض المنحنيات لا يمكن أن يتم منذ المسارات هي قريبة جدا من بعضها البعض.هنا هو مثال...
ملاحظة أخرى مثيرة للاهتمام هو أن 4 متعرج في مسارات منحنية تقريبا بديل بالضبط (بقدر المسافة الخطية امتدت) لمدة 5 المستقيمة.غير أن الكثير من هذه سوف تخلق فرقا كبيرا في الطول.كما جاء في تحديث القسم أعلاه ، 20 منحنيات متعرجة هو تقريبا مطابق (على المسافة الخطية) 24 المستقيمة.
باستخدام هذه التقنية, عملاق تخطيط يمكن أن تكون مصنوعة مع كل من 70 قطعة المسار.فإنه يبدأ مع 12C دائرة ثم على جانب واحد, أنا يمكن أن تضاف 24 المستقيمة (240 بوصة طويلة).على العكس من تخطيط (تقريبا تتناسب مع طول الجانب على التوالي), وأود أن استخدام 20 منحنيات متعرجة (أيضا حوالي 240 بوصة طويلة).هؤلاء يجب أن تقريبا خط منحنى طفيف ينبغي أن تجعل من العمل.باقي المسارات (2 مباشرة و 12 المنحني) يمكن بسهولة أن توضع للحفاظ على تخطيط "متوازن" (ومتصلة).
يفترض أن تبدأ في النقطة (0 ، 0) الذهاب مباشرة إلى اليمين.تحتاج إلى إضافة المسارات حتى تصل إلى النقطة (0, 0) مرة أخرى, هذه المرة مباشرة من الجهة اليسرى.هناك نوعان من المشاكل هنا:واحد هو الوصول إلى النقطة (0 ، 0) قادمة من اليسار بالضبط.والآخر هو أن لا تتداخل.
لتشكيل دائرة عكس اتجاه عقارب الساعة سوف تحتاج إلى 12 قطعة منحنية تحول اليسار.هذه شكل دقيق دائرة.مع 0 أو 24 أو 36 قطعة منحنية سيكون لديك الرقم ثمانية أو اثنين أو ثلاث دوائر ، لا يمكن أن يتم دون عبور.
و بالطبع يمكنك إضافة المسارات ، وهذه يجب أن تتبع قواعد معينة:يمكنك إضافة الأيسر المنحني ، على التوالي ، والحق منحني القطع في أزواج بدءا من زوايا x درجة و x+30 درجة ، حتى يعود إلى 0,0.وعدد من اليسار منحني القطع تتجاوز ال 12 الأولى يجب أن يطابق عدد من حق منحني القطع حتى القطع مباراة في الزاوية اليمنى في 0,0.
ذلك أن القطع التي يمكنك استخدامها.تحتاج إلى التحقق من أنه لا توجد معابر الواضح.
إذا كان أطوال صحيح تماما ثم أنه يمكن أن يكون على سبيل المثال مجموعة يمين/يسار/يمين/يسار يغطي نفس المسافة من أربع أو خمس المستقيمة ، وحتى بعض مجموعات أخرى قد يكون مسموح به.
وبالطبع المسارات هي تبقت التي قد تنتج العديد من الاحتمالات.