جناب godvb در صحبت کردن اینجا ادب رو رعایت کنید چون این تذکر دوباره تکرار نخواهد شد !!!!!!!!
قابل توجه خانم عاطفه ... اینجا فقط محل بحث و برطرف کردن مشکلات برنامه نویسی هست و نه ساخت و تحویل پروژه ها یا تکالیف دانشگاهی . متاسفانه اینجور برنامه ها جزو وظایف دانشجویان هستند و پیدا کردن جواب برای اینجور برنامه ها در حیطه کاری من و دیگر دوستان نیست . این برنامه ها به ظاهر در حیطه گرافیک کامپیوتری هستند و الگوریتم های اونها در تمام کتابهای مربوط توضیح داده شده . شما بهتره خودتون اقدام به نوشتن برنامه ها بکنید و اگر به مشکلی برخوردید اینجا مراجعه کنید . ممنون از توجه شما
برای کمک بیشتر به شما من میتونم راهنمایی هایی هم در اختیارتون بگذارم :
1 - فرمول تبدیل مختصات قطبی یا Polar به دکارتی یا همون Cartesian به شکل زیر هست :
کد:
X= R*cos(Theta)
Y= R*sin(Theta)
شما r و Theta رو میگذاری داخل این فرمول ها و مختصات دکارتی میگیری .
2-شما از همون مختصات قطبی برای ترسیم دایره استفاده میکنی . البته برای بهینه سازی فقط مختصات یکی از 1/8 های دایره رو با sin و cos بدست میاری و 7/8 بقیه دایره رو با قرینه سازی ترسیم میکنی !!
3- شما اینجا میتونی از الگوریتمی مثل
برسنهام استفاده کنی و دو خط رو رسم کنی . برای اینکه ببینی متقاطع هستند یا نه باید از دانش ریاضی خودتون استفاده کنی . ابتدا معادله کلی دو خط رو به ازای همدیگر روی کاغذ حل کنید و فرمول بدست اومده رو برنامه کنید و ببنید که دو خط توش صدق میکنند یا نه . البته قبلا این کار رو انجام دادند . این لینک میتونه شما رو راهنمایی کنه :
http://local.wasp.uwa.edu.au/~pbourke/ge...ineline2d/
4-دوران ، انتقال یا چرخش و .... نقاط رو باید با کمک ضرب ماتریس های مربوطه در ماتریس مختصات ها انجام بدین ! این دیگه مبحث بزرگیه . لطفا به کتاب گرافیک کامپیوتری خودتون مراجعه کنید .
5,6 - اینها مربوط به الگوریتم هایی مثل Convex Hull هستند .
http://en.wikipedia.org/wiki/Convex_hull
بازهم به کتاب مراجعه کنید .
7,8 - هم مربوط به الگوریتم های Clipping هست .این بحث ها بسیار مفصله و خودش یک ترم کامل میبره .
http://www.cc.gatech.edu/grads/h/Hao-wei...eh/mm.html
گويند بهشت و حور و کوثر باشد .. جوي می و شير و شهد و شکر باشد
پر کن قدح باده و بر دستم نه .. نقدي ز هزار نسيه خوشتر باشد