محیط کاری SVG مکانیزم

مدل کامل لینک‌بندی

α = 45.0° · β = 0.0°
وضعیت گراشوف
حالت مکانیزم
اعتبار هندسی
نسخه ایستای HTML/CSS/JS

شبیه‌ساز وب مکانیزم چهارمیله‌ای

این پروژه یک برنامه آموزشی مرورگری برای شبیه‌سازی تعاملی، طبقه‌بندی و نمایش مکانیزم کلاسیک چهارمیله‌ای است؛ مکانیزمی که در درس‌های طراحی مکانیزم، سینماتیک ماشین‌ها و مهندسی مکانیک کاربرد فراوان دارد.

HTML5 CSS3 JavaScript SVG MathJax

نمای کلی پروژه

این شبیه‌ساز برای دانشجویان، مدرسان و مهندسانی طراحی شده است که با طراحی مکانیزم، سینماتیک ماشین‌ها، تئوری ماشین‌ها یا طراحی مهندسی مکانیک سروکار دارند.

این نسخه یک برنامه وب ایستا و قابل بارگذاری مستقیم روی وب‌سایت است:

برای استفاده در وب‌سایت، کافی است سه فایل index.html، styles.css و app.js در یک مسیر قرار بگیرند.

بخشکاربرد
پنل کنترلشامل اسلایدرهای طول لینک‌ها، کنترل انیمیشن، انتخاب شاخه، شاخص گراشوف، شاخص اعتبار و خروجی حالت مکانیزم.
پنل نمایششامل انیمیشن SVG با تکیه‌گاه‌های ثابت، برچسب‌ها، کمان‌های زاویه و نشان‌های وضعیت.

شروع سریع

سه فایل زیر را در یک مسیر روی وب‌سایت خود قرار دهید:

index.html
styles.css
app.js

سپس فایل index.html را در مرورگر باز کنید. برای آزمایش محلی، می‌توانید روی فایل دوبار کلیک کنید یا پوشه را با یک سرور ایستا اجرا کنید.

python -m http.server 8000

پس از ویرایش فایل‌های وب، مرورگر را تازه‌سازی کنید. اگر مرورگر نسخه قدیمی CSS یا JavaScript را کش کرده باشد، استفاده از Ctrl + F5 مفید است.

نظریه طراحی مکانیزم

طراحی مکانیزم به مطالعه مجموعه‌ای از اجسام صلب یا انعطاف‌پذیر می‌پردازد که با مفصل‌ها به هم متصل شده‌اند تا حرکت ورودی را به حرکت خروجی مطلوب تبدیل کنند. برخلاف طراحی سازه‌ای که هدف اصلی آن تحمل بار بدون حرکت است، طراحی مکانیزم بر تولید حرکت کنترل‌شده تمرکز دارد.

یک مکانیزم معمولاً از لینک‌ها، مفصل‌ها، زمین یا قاب مرجع، لینک ورودی، لینک خروجی و لینک کوپلر یا شناور تشکیل می‌شود. در طراحی مکانیزم‌های صفحه‌ای، مهم‌ترین مفصل، مفصل دورانی است؛ مفصلی که اجازه می‌دهد یک لینک نسبت به لینک دیگر حول یک نقطه ثابت بچرخد.

مکانیزم چهارمیله‌ای بنیادی‌ترین مکانیزم صفحه‌ای حلقه‌بسته است و برای آموزش تحلیل موقعیت، تحلیل سرعت، تحلیل شتاب، طبقه‌بندی گراشوف، وضعیت‌های قفل‌شدگی، تکینگی‌ها، سنتز حرکت و تولید منحنی کوپلر به کار می‌رود.

مدل مکانیزم چهارمیله‌ای

یک مکانیزم چهارمیله‌ای صفحه‌ای از چهار لینک صلب تشکیل شده است که با چهار مفصل دورانی یک حلقه بسته می‌سازند. در این پروژه از نمادگذاری زیر استفاده می‌شود:

نمادنامتوضیح
gلینک زمینلینک ثابت میان تکیه‌گاه‌های A و B.
aلینک ورودیلینک محرک از A تا مفصل متحرک C. زاویه ورودی آن α است.
bلینک خروجیلینک خروجی از تکیه‌گاه ثابت B تا مفصل متحرک D. زاویه خروجی آن β است.
fلینک شناور/کوپلرلینک متحرکی که مفصل‌های C و D را به هم متصل می‌کند.

اسلایدرهای رابط کاربری طول هر لینک را در بازه زیر محدود می‌کنند:

\[5\;\text{cm} \leq g,a,b,f \leq 40\;\text{cm}.\]

تعریف دستگاه مختصات

تکیه‌گاه‌های زمین در دستگاه مختصات جهانی ثابت هستند:

\[A=(0,0), \qquad B=(g,0).\]

لینک ورودی حول مفصل A با زاویه ورودی α می‌چرخد:

\[C = A + a \begin{bmatrix} \cos \alpha \\ \sin \alpha \end{bmatrix} = \begin{bmatrix} a\cos\alpha \\ a\sin\alpha \end{bmatrix}.\]

لینک خروجی حول مفصل B با زاویه خروجی β می‌چرخد:

\[D = B + b \begin{bmatrix} \cos \beta \\ \sin \beta \end{bmatrix} = \begin{bmatrix} g + b\cos\beta \\ b\sin\beta \end{bmatrix}.\]

لینک شناور قید بسته‌شدن حلقه را تحمیل می‌کند:

\[\|D-C\| = f.\]

به‌صورت معادل، معادله حلقه برداری چنین است:

\[\vec{AB}+\vec{BD}+\vec{DC}+\vec{CA}=0.\]

با نمادگذاری این پروژه:

\[g \begin{bmatrix} 1 \\ 0 \end{bmatrix} + b \begin{bmatrix} \cos\beta \\ \sin\beta \end{bmatrix} - f \begin{bmatrix} \cos\gamma \\ \sin\gamma \end{bmatrix} - a \begin{bmatrix} \cos\alpha \\ \sin\alpha \end{bmatrix} =0,\]

که در آن γ زاویه لینک شناور است.

حل موقعیت با تقاطع دو دایره

شبیه‌ساز، موقعیت مکانیزم را به روش هندسی حل می‌کند. برای هر زاویه ورودی α، نقطه C معلوم است. نقطه D باید دو قید دایره‌ای زیر را ارضا کند:

\[\|D-C\|=f, \qquad \|D-B\|=b.\]

بنابراین D از تقاطع دایره‌ای با مرکز C و شعاع f با دایره‌ای با مرکز B و شعاع b به دست می‌آید.

فرض کنید:

\[d=\|B-C\|.\]

مونتاژ واقعی فقط زمانی وجود دارد که شرط تقاطع دو دایره برقرار باشد:

\[|f-b| \leq d \leq f+b.\]

فاصله نقطه C تا نقطه تصویر روی خط CB برابر است با:

\[x = \frac{f^2-b^2+d^2}{2d}.\]

فاصله عمودی از خط CB تا هر یک از نقاط تقاطع چنین است:

\[h=\sqrt{f^2-x^2}.\]

دو علامت ممکن برای h دو شاخه مونتاژ را ایجاد می‌کنند: شاخه باز و شاخه متقاطع. این انتخاب در پنل کنترل قرار داده شده است.

معادله فرودنشتاین

معادله کلاسیک موقعیت چهارمیله‌ای را می‌توان با معادله فرودنشتاین نیز بیان کرد. برای این نمادگذاری، یک قرارداد رایج چنین است:

\[K_1\cos\beta - K_2\cos\alpha + K_3 = \cos(\alpha-\beta),\]

که در آن:

\[K_1=\frac{g}{a}, \qquad K_2=\frac{g}{b}, \qquad K_3=\frac{a^2-f^2+b^2+g^2}{2ab}.\]

این معادله برای تحلیل تحلیلی موقعیت مفید است، اما شبیه‌ساز حاضر از روش تقاطع دایره‌ها استفاده می‌کند؛ زیرا مستقیم، پایدار و کاملاً سازگار با هندسه ترسیم‌شده در SVG است.

معیار گراشوف

فرض کنید چهار طول لینک به صورت زیر مرتب شده باشند:

\[s \leq p \leq q \leq l,\]

که در آن s کوتاه‌ترین لینک، l بلندترین لینک و p و q دو لینک میانی هستند.

معیار گراشوف چنین است:

\[s+l \leq p+q.\]

شبیه‌ساز، شاخص گراشوف را به صورت زیر نمایش می‌دهد:

\[G=s+l-p-q.\]
شرطمعنا
\(G<0\)مکانیزم گراشوف سخت‌گیرانه است و دست‌کم یک لینک قابلیت دوران کامل دارد.
\(G=0\)مکانیزم در حالت نقطه تغییر قرار دارد و ممکن است از یک پیکربندی هم‌خط تکین عبور کند.
\(G>0\)مکانیزم غیرگراشوف است و هیچ لینک به‌طور معمول در حلقه بسته نمی‌تواند دوران کامل داشته باشد.

شاخص اعتبار هندسی

یک مکانیزم چهارمیله‌ای فقط زمانی می‌تواند یک چهارضلعی بسته تشکیل دهد که بلندترین لینک از مجموع سه لینک دیگر بلندتر نباشد. شبیه‌ساز شاخص اعتبار را چنین نمایش می‌دهد:

\[V=l-s-p-q.\]
شرطمعنا
\(V<0\)طول‌های انتخاب‌شده می‌توانند یک چهارمیله‌ای بسته معتبر بسازند.
\(V=0\)مکانیزم در حد مرزی هم‌خطی قرار دارد.
\(V>0\)بلندترین لینک بیش از حد بلند است و مکانیزم در هیچ حالت مونتاژی بسته نمی‌شود.

کمیت‌های افزونی T1، T2 و T3

شبیه‌ساز سه کمیت افزونی زیر را نیز گزارش می‌کند:

\[T_1=g+f-b-a,\]
\[T_2=b+g-f-a,\]
\[T_3=f+b-g-a.\]

این کمیت‌ها در طبقه‌بندی چهارمیله‌ای مفید هستند، زیرا علامت آن‌ها نشان می‌دهد لینک زمین، ورودی، خروجی و شناور در وارون‌سازی‌های ممکن چگونه با هم مقایسه می‌شوند. نمایش این مقادیر به کاربر کمک می‌کند ارتباط میان حالت بصری مکانیزم و طبقه‌بندی جبری را ببیند.

لنگ، راکر، راکر صفر و راکر π

لنگ لینکی است که می‌تواند نسبت به زمین یک چرخه کامل ۳۶۰ درجه‌ای بچرخد. راکر نمی‌تواند یک دور کامل بزند و فقط بین دو حد زاویه‌ای نوسان می‌کند.

حالتمعنا
لنگ-لنگهم لینک ورودی و هم لینک خروجی توانایی دوران کامل دارند.
لنگ-راکرلینک ورودی دوران کامل دارد و لینک خروجی نوسان می‌کند.
راکر-لنگلینک ورودی نوسان می‌کند و لینک خروجی دوران کامل دارد.
راکر-راکرهر دو لینک ورودی و خروجی نوسانی هستند.

در بعضی منابع آموزشی، برچسب‌های دقیق‌تری مانند راکر صفر و راکر π نیز استفاده می‌شود. راکر صفر بازه زاویه‌ای مجاز نزدیک به راستای مرجع صفر دارد، درحالی‌که راکر π بازه‌ای نزدیک به راستای ۱۸۰ درجه یا π رادیان دارد.

در این پیاده‌سازی، حالت مکانیزم با نمونه‌برداری عددی از زاویه‌های ورودی و خروجی در یک چرخه کامل به دست می‌آید. اگر یک زاویه تقریباً کل بازه را پوشش دهد، لینک متناظر لنگ در نظر گرفته می‌شود؛ در غیر این صورت راکر است.

وضعیت‌های قفل‌شدگی و پیکربندی‌های تکین

مکانیزم چهارمیله‌ای زمانی به وضعیت قفل‌شدگی می‌رسد که دو یا چند لینک هم‌خط شوند. در چنین پیکربندی‌هایی رابطه سرعت میان ورودی و خروجی ممکن است تکین شود و یک حرکت کوچک ورودی، بسته به وضعیت، خروجی بسیار بزرگ یا بسیار کوچک ایجاد کند.

از نظر ریاضی، رفتار تکین زمانی رخ می‌دهد که ژاکوبین معادلات بسته‌شدن حلقه رتبه خود را از دست بدهد. اگر معادلات حلقه به صورت زیر نوشته شوند:

\[F(\alpha,\beta,\gamma)=0,\]

آنگاه تکینگی ممکن است زمانی رخ دهد که:

\[\det\left(\frac{\partial F}{\partial(\beta,\gamma)}\right)=0.\]

در شبیه‌ساز، حالت‌های نامعتبر یا نزدیک به تکینگی زمانی دیده می‌شوند که جواب تقاطع دایره‌ها ناممکن یا تقریباً مماس شود:

\[h \approx 0.\]

کاربردهای واقعی

مکانیزم‌های چهارمیله‌ای به دلیل ایجاد حرکت‌های پیچیده با چند لینک صلب و مفصل دورانی ساده، کاربردهای گسترده‌ای دارند.

ویژگی‌های برنامه وب

ساختار فایل‌های ایستا

fourbar-linkage-static-js-fa/
├── index.html
├── styles.css
└── app.js

توضیح فایل‌ها

index.html

این فایل پنل کنترل، اسلایدرها، نمایشگرهای عددی، دکمه پخش/توقف، کنترل شاخه، نشان‌های گراشوف/اعتبار/حالت مکانیزم، بوم SVG، تنظیمات MathJax و محتوای آموزشی کامل زیر انیمیشن را تعریف می‌کند.

styles.css

این فایل تایپوگرافی فارسی، چیدمان راست‌به‌چپ، رفتار واکنش‌گرا، استایل اسلایدرها، دکمه‌ها، کارت‌ها، نشان‌های وضعیت، قالب مقاله آموزشی، جدول‌ها، قطعه‌کدها و عناصر SVG را کنترل می‌کند.

app.js

این فایل منطق شبیه‌سازی را در خود دارد: خواندن مقدار اسلایدرها، به‌روزرسانی نمایشگرها، حل موقعیت با تقاطع دایره‌ها، رسم لینک‌ها و مفصل‌ها در SVG، ثابت نگه‌داشتن تکیه‌گاه‌های زمین، طبقه‌بندی گراشوف و غیرگراشوف، تشخیص رفتار لنگ/راکر با نمونه‌برداری عددی و انیمیشن زاویه ورودی.

رفع اشکال

تغییرات CSS یا JavaScript دیده نمی‌شود

ممکن است مرورگر فایل‌های قدیمی را کش کرده باشد. از تازه‌سازی سخت مانند Ctrl + F5 استفاده کنید یا موقتاً به مسیر فایل‌ها یک query string اضافه کنید:

<link rel="stylesheet" href="styles.css?v=2">
<script src="app.js?v=2"></script>

لینک زمین هنگام انیمیشن می‌چرخد

در یک شبیه‌سازی صحیح، لینک زمین نباید بچرخد. تکیه‌گاه‌های زمین ثابت هستند:

\[A=(0,0), \qquad B=(g,0).\]

اگر لینک زمین در حال چرخش به نظر برسد، احتمالاً تبدیل SVG بر اساس لینک‌های متحرک محاسبه شده است، نه تکیه‌گاه‌های ثابت. این نسخه نقاط A و B را به مختصات پایدار صفحه متصل می‌کند و مکانیزم را حول لینک زمین مقیاس می‌دهد.

فرمول‌های ریاضی نمایش داده نمی‌شوند

بررسی کنید اسکریپت MathJax در index.html قابل دسترسی باشد. اگر وب‌سایت شما بارگذاری اسکریپت از CDN را محدود می‌کند، می‌توانید MathJax را به‌صورت محلی قرار دهید و مسیر CDN را با مسیر محلی جایگزین کنید.

استفاده آموزشی

این پروژه می‌تواند در درس طراحی مکانیزم برای نمایش توپولوژی چهارمیله‌ای، شاخه باز و متقاطع، رابطه زاویه ورودی و خروجی، طبقه‌بندی گراشوف، اعتبار طول لینک‌ها، رفتار لنگ و راکر، محدودیت‌های حرکت، وضعیت‌های قفل‌شدگی، حرکت کوپلر و ارتباط شاخص‌های جبری با سینماتیک بصری استفاده شود.

  1. یک مکانیزم گراشوف انتخاب کنید و کوتاه‌ترین لینک را تشخیص دهید.
  2. به‌صورت مفهومی لینک‌های مختلف را ثابت فرض کنید و رفتار لنگ-راکر را پیش‌بینی کنید.
  3. اسلایدرها را طوری تغییر دهید که G = 0 شود و رفتار نقطه تغییر را مشاهده کنید.
  4. اسلایدرها را طوری تغییر دهید که V > 0 شود و وضعیت مونتاژ نامعتبر را ببینید.
  5. برای طول‌های یکسان، شاخه باز و شاخه متقاطع را مقایسه کنید.
  6. زاویه ورودی α و زاویه خروجی β را در چند پیکربندی ثبت کنید.

بهبودهای آینده