آموزش

خلق گرافیک در پایتون با ماژول Turtle

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

تاریخ انتشار:
15 شهریور 1405
پایتون
7 دقیقه
مصورسازی داده
کاربرهای فینکا در چه شرکت‌هایی مشغول به کار هستند؟

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

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

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

Turtle در پایتون چیه؟

Turtle یه ماژول در پایتون هست که بهت اجازه می‌‌ده با کنترل یه «لاک‌پشت» مجازی روی صفحه، نقاشی بکشی و انیمیشن بسازی. این ماژول یه راه جذاب و بصری برای تعامل با کدهاست؛ یعنی می‌تونی به لاک‌پشت دستوراتی مثل «برو جلو»، «بچرخ به چپ» یا «یه دایره بکش» بدی و همون لحظه نتیجه‌اش رو ببینی. ماژول Turtle به‌صورت پیش‌فرض در تمام نسخه‌های فعلی پایتون 3 وجود داره.

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

رسم ستاره

کاربردهای رایج Turtle

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

آموزش مفاهیم مقدماتی برنامه‌نویسی

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

ساخت نقاشی و انیمیشن

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

طراحی بازی‌ یا پروژه‌های تعاملی

از Turtle می‌شه برای ساخت بازی‌ها یا پروژه‌های تعاملی ساده استفاده کرد. با ترکیب کردن دستورهای Turtle و ورودی‌های کاربر (مثل کلیک ماوس یا دکمه‌های کیبورد)، می‌تونی بازی‌های ساده‌ای مثل حل‌کننده ماز یا یه نسخه ابتدایی از بازی Pong بسازی.

مصورسازی الگوریتم‌ها

شاید برات جالب باشه، ولی Turtle برای نشون دادن و مصورسازی الگوریتم‌ها هم خیلی مفیده. می‌تونی ازش برای نمایش الگوریتم‌های مرتب‌سازی، فرکتال‌ها یا الگوهای بازگشتی استفاده کنی.

دستورهای رایج Turtle در پایتون

بیا با یه سری دستورهای پایه در Turtle آشنا بشیم تا بتونی اولین طرح‌هات رو بکشی. ما کارمون رو با ساده‌ترین دستورها برای کنترل حرکت لاک‌پشت و کشیدن خطوط شروع می‌کنیم.

1. import turtle

قبل از اینکه شروع به نقاشی کنی، باید با استفاده از این دستور، ماژول گرافیکی Turtle رو وارد برنامه‌ات کنی. این کار باعث می‌شه به تمام تابع‌های Turtle دسترسی داشته باشی.

۲. ()turtle.forward

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

۳. ()turtle.right

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

۴. ()turtle.circle

این دستور یه دایره با شعاع ۵۰ واحد رسم می‌کنه. می‌تونی این عدد رو تغییر بدی تا دایره‌های بزرگ‌تر یا کوچک‌تری بکشی.

۵. ()turtle.penup

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

۶. ()turtle.pendown

این دستور قلم رو دوباره روی صفحه می‌ذاره و به لاک‌پشت اجازه می‌‌ده که بعد از اجرای penup() دوباره شروع به نقاشی کشیدن کنه.

چند مثال از پروژه‌های Turtle در پایتون

حالا بیا بریم سراغ چند مثال واقعی از Turtle در پایتون تا بتونی خودت امتحانشون کنی. برای شروع، کافیه کدهایی که در ادامه اومده رو کپی کنی و بعد اونا رو مطابق سلیقه خودت تغییر بدی.

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

رسم یک مربع

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

رسم الگوی ستاره‌ای مارپیچ

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

فرکتال‌ها و طرح‌های بازگشتی  

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

رسم مثلث سیرپینسکی

نقاشی‌های تعاملی

خبر خوب اینه که می‌تونی حرکت‌های لاک‌پشت رو با کیبورد یا ماوس هم کنترل کنی تا پروژه‌ات پویاتر بشه. مثلاً می‌تونی پروژه‌هایی مثل یه تخته نقاشی جادویی (Etch-A-Sketch) بسازی که در اون با استفاده از کلیدهای جهت‌نما، لاک‌پشت رو کنترل می‌کنی و روی صفحه نقاشی می‌کشی. حتی می‌تونی کد زیر رو با اضافه کردن دکمه‌هایی برای تغییر رنگ یا پاک کردن صفحه، از این هم بهتر کنی.

طرح‌های خلاقانه

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

رسم طرح ماندالا

نکاتی برای شروع کار با Turtle

در ادامه چند نکته برات آوردیم که کمک می‌کنه تا بتونی به بهترین شکل ممکن از Turtle در پایتون استفاده کنی:

  • با شکل‌های ساده شروع کن: اول سعی کن شکل‌های پایه‌ای مثل مربع و دایره بکشی. این کار باعث می‌شه بهتر بفهمی حرکت‌های لاک‌پشت چطوری کار می‌کنن و یه پایه قوی برای کشیدن طرح‌های پیچیده‌تر برات می‌سازه.
  • با رنگ‌ها و اندازه قلم بازی کن: Turtle بهت این امکان رو می‌‌ده که اندازه، سرعت و رنگ قلم لاک‌پشت رو عوض کنی. می‌تونی از دستورهای turtle.pensize() و turtle.speed() و turtle.color() استفاده کنی تا نقاشی‌هات رو جذاب‌تر کنی. 
  • از حلقه‌ها و تابع‌ها کمک بگیر: حلقه‌ها بهترین راه برای ساختن الگوهای تکراری هستن. به‌جای اینکه برای کشیدن شکل‌های تکراری مدام کد بنویسی، از حلقه‌ها و تابع‌ها استفاده کن تا کارها خودکار بشن و بتونی با خطوط کد کمتری، طرح‌های پیچیده‌ای بسازی.
  • یه سر به مستندات بزن: ماژول Turtle خیلی بیشتر از حرکت‌های ساده، امکانات داره. پیشنهاد می‌کنیم حتماً مستنداتش رو بخونی تا با امکاناتی مثل تغییر شکل‌ها، مهرها (stamps) و تکنیک‌های پیشرفته‌تر نقاشی آشنا بشی. وقتی ببینی چه چیزهایی می‌تونی بسازی، قطعاً شگفت‌زده می‌شی!

نتیجه‌گیری

علاوه بر شکل‌هایی که در این مقاله با هم کشیدیم (مثل مربع، ستاره، مارپیچ و مثلث سرپینسکی)، با Turtle می‌تونی شکل‌های دیگه‌ای مثل پنج‌ضلعی یا الگوهای پیچیده گلی رو هم امتحان کنی. هر چقدر که مهارتت بیشتر بشه، استفاده‌ات از Turtle هم حرفه‌ای‌تر می‌شه و می‌تونی پروژه‌های سخت‌تر و پیچیده‌تری رو انجام بدی. پس به آزمایش کردن و امتحان ایده‌های جدید ادامه بده. ضمناً یادت نره که برای ارتقای مهارت‌هات، قدم بعدی رو برداری و دوره پایتون مقدماتی فینکا رو هم امتحان کنی!

اشتراک‌گذاری
فهرست مطالب
  • Turtle در پایتون چیه؟
  • کاربردهای رایج Turtle
  • دستورهای رایج Turtle در پایتون
  • چند مثال از پروژه‌های Turtle در پایتون
  • نکاتی برای شروع کار با Turtle
  • نتیجه‌گیری

سوالات متداول

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

برای شروع، باید اول ماژول Turtle رو با دستور import turtle وارد Python کنی. بعدش می‌تونی با استفاده از دستورهایی مثل turtle.forward()، turtle.right() و turtle.circle() حرکت‌های لاک‌پشت رو کنترل کنی و نقاشی بکشی.

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

آره، می‌تونی از Turtle برای پروژه‌های تعاملی هم استفاده کنی. مثلاً می‌تونی حرکت‌های لاک‌پشت رو با کیبورد کنترل کنی و هم‌زمان نقاشی بکشی؛ یه چیزی شبیه به تخته نقاشی جادویی دیجیتال (Etch-A-Sketch).

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

دریافت اپلیکیشن فینکا

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