ورود

View Full Version : سوال: کار با توابع POLYMAL



kalali
چهارشنبه 22 اردیبهشت 1389, 22:02 عصر
سلام خدمت دوستان عزیز
من یک برنامه paint طراحی کردم حالا به دنبال تابع ای هستم که وقتی دوتا شکل ترسیم کردم به من مساحت نقطه اشتراک دو شکل را بدهد اگر کسی از دوستان نمونه ای یا در این زمینه کاری را انجام داده است منو راهنمایی کنهhttp://www.barnamenevis.org/forum/newattachment.php?do=manageattach&p=

tdkhakpur
چهارشنبه 22 اردیبهشت 1389, 22:34 عصر
منو راهنمایی کنه
دور از شما یه ماجرایی هست که میگن یک دیوانه ای سنگی را داخل چاه می اندازه صد تا عاقل رو جمع میکنند تا درش بیارن اما نمی تونند.
حالا شما با قلمتان یه شکل نا منظم هندسی رسم کنی اونوقت از برنامه نویس چه انتضاری دارید؟ برنامه نویس راهی به جز شمارش تعداد پیکسلها ندارد و این همان راهنمایی هست که میتوان به شما داد.
ولی اگر شکلتان شکل هندسی منطقی داشته باشد میتوانید محیط نقطه اشتراک رو بدست بیارید و این کار را با دنبال کردن رنگ خاص اون شکل انجام بدهید.
بالخره یک فرمولی برای پیدا کردن مساحت اون شکل در زمینه ریاضی پیدا خواهد شد.

kalali
پنج شنبه 23 اردیبهشت 1389, 23:14 عصر
منظور من کار با تابع polygon را اگر کار کرده اید رهنمایی کنید

tdkhakpur
پنج شنبه 23 اردیبهشت 1389, 23:47 عصر
منظور من کار با تابع polygon را اگر کار کرده اید رهنمایی کنید

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

kalali
یک شنبه 26 اردیبهشت 1389, 16:15 عصر
با سلام
من برنامه paint را با تحت داس طراحی کرد ام حالا از من خواسته شده که قسمت مشترکی را که رنک کردم رامساحت آن را بدست آورم گفته شده که تابعی بنام polygon ( چند ضلعی) هست که این کار را انجام می دهد حالا اگر آشنایی با این تابع وکارکردن با آن من را راهنمایی کنید

با تشکر از زحماتتان

tdkhakpur
یک شنبه 26 اردیبهشت 1389, 20:31 عصر
تا حالا تابعی نشنیدم که بتواند مساحت را محاسبه کند ولی میتوانید محاسبه مساحت را داخل فرمولهای ریاضی از کتابها بدست بیارید
ولی اگر مشکل استفاده از اینگونه توابع دارید به صفحه زیر یک نگاهی بندازید
http://www.yevol.com/en/bcb/Lesson12.htm

kalali
یک شنبه 26 اردیبهشت 1389, 22:53 عصر
با سلام مجدد از شما
فرض کنید که در برنامه paint دو تا مستطیل کشیده اید حالا ناحیه مشترک این دو شکل ممکن است مستطیل باشد یا مربع باشد یا لوزی حالا مساحت این قسمت را با توجه به یکی از شکل ها بدست آورید

tdkhakpur
دوشنبه 27 اردیبهشت 1389, 00:16 صبح
خب اگر شکلتان مستطیل هست باید بررسی کنید که کدام گوشه از مستیلها داخل مستطیل دیگر قرار دارد مثال


typedef struct Objects
{
int left;
int top;
int right;
int bottom;
}Object;

int Masahat(Object obj1, Object obj2)
{
int left, top, bottom, righ, height, widtht;
left = abs(obj1.left-obj2.left);
top = abs(obj1.top-obj2.top);
right = abs(obj1.right-obj2.right);
bottom = abs(obj1.bottom-obj2.bottom);
width = abs(left-right);
height = abs(top-bottom);
return width*height;
}

دستی کد شد سایر اشکال هم به این صورت محاسبه میشود اما با فرمول متفاوت

kalali
دوشنبه 27 اردیبهشت 1389, 08:54 صبح
با سلام از شما
ازکدی که گذاشتید متشکرم میخواستم بپرسم من کد هایم رو درturbo C++ نوشتم حالا که چطوری در Borland C++‎ Builder کامپایل کنم ومیشه محیط رو هم برایم بکذاری

tdkhakpur
دوشنبه 27 اردیبهشت 1389, 10:24 صبح
میخواستم بپرسم من کد هایم رو درturbo C++‎ نوشتم حالا که چطوری در Borland C++‎‎ Builder کامپایل کنم ومیشه محیط رو هم برایم بکذاری
کدهای بالا یه سری کد ساده هستند و داخل همه میحیطهای c قابل اجراست!
ولی در مورد کامپایلر cbuilder خب حجم زیادی داره من چطوری اینجا قرارش بدم میتوانید از بیرون تهیه کنید همه جا راحت پیدا میشه.

kalali
دوشنبه 27 اردیبهشت 1389, 18:38 عصر
با سلام
از راهنمایی شما متشکرم اگر برنامه رو روی سایت بگذارم میتوانید کد هایتان را اعمال کنید روی برنامه من
با تشکر ازشما

tdkhakpur
دوشنبه 27 اردیبهشت 1389, 19:12 عصر
اگر برنامه رو روی سایت بگذارم میتوانید کد هایتان را اعمال کنید روی برنامه من

ارسال کنید.
ولی این کار را برای مستطیل و مربع انجام میدم شاید برای سایر اشکال وقت کافی نداشته باشم خودتان هم میدانید برای این کار تحقیق ریاضی میخواد تا نتیجه بده.

kalali
سه شنبه 28 اردیبهشت 1389, 22:56 عصر
با سلام مجدد از شما
49228
این هم برنامه
باتشکر ازشما

kalali
سه شنبه 04 خرداد 1389, 21:16 عصر
با سلام مجدد
من برنامه رو باید زود تحویل دهم آیا قسمتی که کفته بودید رو درست کردید اگر حاضر است آپلودش کنید

tdkhakpur
چهارشنبه 05 خرداد 1389, 15:50 عصر
فقط اصلاحات در مورد مستطیل انجام شد و همانطور که خودتان میدانید برای سایر اشکال وقت زیادی لازمه حداقلش باید فرمولهای ریاضی را مطالع کرد.
به هر صورت شما میتوانید با انتخاب پی در پی دو مستطیل برای رسم تغییرات داده شده را مشاهده کنید.
ضمنا داخل لیست پیوندی و توابعتان اصلاحی کمی صورت گرفت و همیشه برای توابع اسامی مناسبی انتخاب کنید.

kalali
چهارشنبه 05 خرداد 1389, 22:59 عصر
با سلام
این برنامه را شما کامپایل کرده اید چون 9 خطا دارد وبرنامه اجرا نمیشه اگر لطف کنید دوباره یک نگاهی بکنید

باتشکر ازشما دوست عزیز

tdkhakpur
پنج شنبه 06 خرداد 1389, 21:22 عصر
با چی کامپایل میکنید؟
اجرا شده هم ضمیمه شد!!!

kalali
پنج شنبه 06 خرداد 1389, 22:35 عصر
با سلام
من با Turbo C++ کامپایل کردم

tdkhakpur
پنج شنبه 06 خرداد 1389, 23:47 عصر
من با Turbo C++‎ کامپایل کردم

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

kalali
پنج شنبه 06 خرداد 1389, 23:50 عصر
شما باچی کامپایل کردم

tdkhakpur
پنج شنبه 06 خرداد 1389, 23:53 عصر
شما باچی کامپایل کردم

borland c++

kalali
جمعه 07 خرداد 1389, 10:49 صبح
با سلام
میشه یک لینک دانلود از این نرم افزار برای من بگذارید تا نرم افزار شو دانلود کنم چون من این رو ندارم
من با Borland C++Builder 6کامپایل کردم نشد میشه راهنمایی ام کنید

tdkhakpur
جمعه 07 خرداد 1389, 15:17 عصر
بورلند سی ورژن 5 حجمش خیلی زیاده به راحتی میتوانید از بیرون تهیه کنید.داخل سی دی تمامی مجموعه هایش قرار دارد.

kalali
جمعه 07 خرداد 1389, 21:46 عصر
با سلام
پس اگر من با ورژن 5 کار کنم برنامه اجرا میشود