PDA

View Full Version : حرفه ای: تقسیم محیط



kuh_nur
سه شنبه 14 شهریور 1391, 19:29 عصر
سلام
من یه می خوام یه برنامه بنویسم که یک محیط رو به چند محیط کوچکتر تقسیم کنه
به عبارت دیگه مثلا یک مستطیل 100×200 رو به چند مستطیل 40×30 تقسیم کنه
اگه کسی از دوستان الگوریتم خاصی می شناسه و یا نمونه ای داره ممنون می شم منو راهنمایی کنه
متشکر

RED-C0DE
چهارشنبه 15 شهریور 1391, 00:07 صبح
؟!
چ محیطی؟
می خواین تو محیط گرافیکی winForm کار کنین؟

nima.sh
چهارشنبه 15 شهریور 1391, 01:01 صبح
سلام
من یه می خوام یه برنامه بنویسم که یک محیط رو به چند محیط کوچکتر تقسیم کنه
به عبارت دیگه مثلا یک مستطیل 100×200 رو به چند مستطیل 40×30 تقسیم کنه
اگه کسی از دوستان الگوریتم خاصی می شناسه و یا نمونه ای داره ممنون می شم منو راهنمایی کنه
متشکر
سلام دوست عزیز....
من سر همین یه پروژه داشتم،البته اون با میکروکنترلر بود که مثلا یه تخته n*n رو میذاری داخل دستگاه،اون تخته رو به قطعات مساوی برش میده،یه فرمول ریاضی داره با انتگراله....
خیلی گشتم پیدا کنم،شرمنده ولی پیدا نکردم،ولی اگه دنبال فرمول ریاضیش بگردی پیدا میکنی،از یه استاد ریاضی یا اینترنت....
اگه پیدا کردی به من هم بده...
ممنون...
موفق و پیروز باشی....

kuh_nur
چهارشنبه 15 شهریور 1391, 07:43 صبح
دوستان عزیز سلام
ممنون از اینکه پاسخ دادین
اقای nima.sh
اگه بتونین همون فرمول رو بزارین ممنون میشم

Boy_nn
چهارشنبه 15 شهریور 1391, 07:59 صبح
دوستان
فکر می کنم چیزی که شما دنبالش هستین تو WPF به راحتی انجام داد

kuh_nur
چهارشنبه 15 شهریور 1391, 09:12 صبح
دوستان
فکر می کنم چیزی که شما دنبالش هستین تو WPF به راحتی انجام داد
سلام خوب اگه نمونه ای، الگوریتمی ، سورسی ، چیزی دارین بزارین ممنون می شم

ehsan7007
چهارشنبه 15 شهریور 1391, 09:18 صبح
منظورت اینه؟
فقط شرمنده ، چون بوردر فرمتش none می باشد دارای قابلیت حرکت نمی باشد!

92382


راستی ، فرم شیشه ای نیست! دور و وسط هاش کلا خالیه!

mehdy.programmer
چهارشنبه 15 شهریور 1391, 09:28 صبح
سلام ! شما می خواین نقسیماتتون چطوری انجام بشه؟
1.بهش بگین p تا می خواین ! اونوم بهتون بگه چطوری
یا
2.بگین x*y باشه اونوم بگه چند تا می شه؟

ehsan7007
چهارشنبه 15 شهریور 1391, 09:31 صبح
فکر می کنم ایشون می خواد یه چیزی مثل مترو یا side bar ویندوز 8 درست کنه.

mehdy.programmer
چهارشنبه 15 شهریور 1391, 09:39 صبح
نمیدونم ! چیزی که من فهمیدم مربوط به حل یه مسئله به کمک برنامه نویسی بود، نه برنامه نویسی کاربردی!!!
حالا ببینیم خودشون چی می خوان!!!

kuh_nur
چهارشنبه 15 شهریور 1391, 10:13 صبح
دوستان سلام
ممنون از اینکه وقت گذاشتین و پاسخ دادین
بزارین یه مثال بگم مثلا من یک تخته بزرگ رو به چند تخته در ابعاد کوچکتر (با اندازه های مختلف مثلا 4 سایز متفاوت) تقسیم می کنم حالا می خوام یه الگوریتم داشته باشم تا کمترین پرت ممکنه رو بهم بده تقریبا مثل نرم افزار های برش CNC ولی برای کار دیگه ای لازم دارم

kuh_nur
چهارشنبه 15 شهریور 1391, 10:17 صبح
سلام ! شما می خواین نقسیماتتون چطوری انجام بشه؟
1.بهش بگین p تا می خواین ! اونوم بهتون بگه چطوری
یا
2.بگین x*y باشه اونوم بگه چند تا می شه؟

من نیاز دارم تا p تا قسمت از این محیط رو با سایز x*y بهم بده

kuh_nur
چهارشنبه 15 شهریور 1391, 17:03 عصر
دوستان کسی نظری نداره

ehsan7007
چهارشنبه 15 شهریور 1391, 17:06 عصر
فکر نمی کنم بشه فرم رو تکه تکه کرد! مگه از تصویر استفاده کنید.

FastCode
چهارشنبه 15 شهریور 1391, 17:36 عصر
یه چیزی مثل این میخواهید؟
http://www.glassline.com/index.php?option=com_content&view=article&id=32&Itemid=3
یعنی این؟
http://www.tutors161.com/2011/03/program-to-fill-a-rectangle-using-scan-line-rectangle-fill-algorithm/
و این؟
http://www.codeproject.com/Articles/6017/QuickFill-An-efficient-flood-fill-algorithm

kuh_nur
چهارشنبه 15 شهریور 1391, 17:50 عصر
92412
این نمونه ای از کاره منه می خوام یک صفحه رو در ابعاد متفاوت برش بزنم
الگوریتمی می خوام که بتونه این کار رو انجام بده

aminaltavista
چهارشنبه 15 شهریور 1391, 22:00 عصر
سلام

فکر کنم دوستمون میخواد که بازی پازل رو درست کنه اما تو سخت ترین کارش (تقسیم تصاویر)مونده !

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

موفق باشید

Hajivandian
چهارشنبه 15 شهریور 1391, 22:40 عصر
سلام،
به نظر من منظور این دوستمون رو بد متوجه شدید، هدف ایشون ساختن پازل و ... نیست، به نظر من هدفش اینه که یک سری قطعات مستطیلی با ابعاد مختلف به یه الگوریتم بده و الگوریتم اینا رو به بهترین شکل کنار هم بچینه؛ هدف از این کار میتونه کم کردن درصد پرت مواد اولیه در برش پارچه یا برش شیشه و امثال این باشه.

mehdy.programmer
چهارشنبه 15 شهریور 1391, 23:08 عصر
خوب ، ببین! اگه شکل هات مختلف بود به انتگرال نیاز داشتی ولی چون فقط مستطیه به انتگرال نیازی نیست
اولین کارم که باید بکنی اینه که ابعاد مختلف رو از کاربر بگیری(همون p تا x*y و p1 تا x1*y1 و...) بعد مجموع مساحتشون رو از مساحت مستطیل m*n کم می کنیم که میشه زائده ی شکل!
و بعد چیدن مستطیل ها کنار هم!(اگه الگوریتم اینو می خوای باید یکم صبر کنی تا یه الگوریتم بنویسم)
که فک کنم باید شروع کنی یکی بزرگ یکی کوچیک بچینی! ولی باز می گم اگه دقیقشو می خوای صبر کن تا یه الگوریتم بنویسم!

kuh_nur
چهارشنبه 15 شهریور 1391, 23:56 عصر
سلام،
به نظر من منظور این دوستمون رو بد متوجه شدید، هدف ایشون ساختن پازل و ... نیست، به نظر من هدفش اینه که یک سری قطعات مستطیلی با ابعاد مختلف به یه الگوریتم بده و الگوریتم اینا رو به بهترین شکل کنار هم بچینه؛ هدف از این کار میتونه کم کردن درصد پرت مواد اولیه در برش پارچه یا برش شیشه و امثال این باشه.



خوب ، ببین! اگه شکل هات مختلف بود به انتگرال نیاز داشتی ولی چون فقط مستطیه به انتگرال نیازی نیست
اولین کارم که باید بکنی اینه که ابعاد مختلف رو از کاربر بگیری(همون p تا x*y و p1 تا x1*y1 و...) بعد مجموع مساحتشون رو از مساحت مستطیل m*n کم می کنیم که میشه زائده ی شکل!
و بعد چیدن مستطیل ها کنار هم!(اگه الگوریتم اینو می خوای باید یکم صبر کنی تا یه الگوریتم بنویسم)
که فک کنم باید شروع کنی یکی بزرگ یکی کوچیک بچینی! ولی باز می گم اگه دقیقشو می خوای صبر کن تا یه الگوریتم بنویسم!

مرسی
مثل اینکه بالاخره نومستم منظوزمون انتقال بدم
منتظر الگوریتم هستم

FastCode
پنج شنبه 16 شهریور 1391, 01:37 صبح
مرسی
مثل اینکه بالاخره نومستم منظوزمون انتقال بدم
منتظر الگوریتم هستم
لینکهایی که من دادم برای همین بود

Boy_nn
جمعه 17 شهریور 1391, 23:40 عصر
سلام خوب اگه نمونه ای، الگوریتمی ، سورسی ، چیزی دارین بزارین ممنون می شم


http://www.mediafire.com/?ud7279nf96a6w9r

دوستانی که کار گرافیگی و یا طراحی دارن اگه برن سراغ WPF کارشون خیلی راحت تر میشه

mehdy.programmer
شنبه 18 شهریور 1391, 13:47 عصر
دوست عزیز ببخشید طول کشید ! سرم خیلی شلوغه ، نتونستم زیاد روش کار کنم!
ولی رو این الگوریتم من کار کن خودتم تغییراتی توش بده(خلاصه باهاش ور برو تا به چیزی که می خوای برسی)

1.اگه مجموعه مساحت ها برابر مجموع مساحت کل بود برو A اگه نه برو B
A.بزرگترین مستطیل رو بزار گوشه 0و0 طوری (هم عمودی ، هم افقی و در هردو حالت بقیه مستطیل هارو با هم عمودی هم افقی چک کن ببین کدومش پایین اون یکی کمترین رائده رو به جا می زاره!
از طریق این چک کردن ها می تونی بهترین مستطیل هارو انتخاب کنی! بعد ردیف بعدی و به همین ترتیب تا به جایی میرسی که مستطیل تموم میشه!

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

موفق باشی!

mehdy.programmer
شنبه 18 شهریور 1391, 13:51 عصر
راستی! این الگوریتم رو من زیاد روش کار نکردم ! ممکنه الگوریتم های دیگه بهتر جواب بدن!
مثلا برعکس شروع کنی به ساختن مستطیل اصلی با مستطیل های کوچیک! یا گذاشتن کل مستطیل ها تو مسطیل و اونقد جابجاشون کنی تا به حالت ایده ال می رسی!

حالا می مونه تصمیم خودت که از کدوم استفاده کنی!

parsa202020
پنج شنبه 04 اردیبهشت 1393, 21:37 عصر
من هم مشکل مشابه رو دارم - نرم افزار کاهش پرت شیشه
سلام دوستان من دارم روی یه نرم افزار کار می کنم
میخوام اول یک مستطیل بعنوان مستطیل مبنا بهش بدم مثلا ابعاد 200 × 100
بعد می خوام چند تا مستطیل کوچک با ابعاد دیگه بهش بدم مثلا
20×25 تعداد 2
20×30 تعداد 1
20×50 تعداد 3
60×70 تعداد 2
و ...
خود سیستم بطور اتومات محاسبه کنه بگه بهترین حالت چینش مستطیلها باید چطور باشه تا پرت محصول کم باشه و بعد نقشه بده و یا اگر احیانا تعداد مستطیلهای کوچک بیشتر از مساحت مستطیل بزرگ بود - تعداد کسری مستطیل بزرگ را هم بگه
نکته 1 : اگر ممکنه : طول و عرض و ضخامت و تعداد فیلدهای بانک در نظر گرفته شود
نکته 2 : نحوه چیدن مستطیلهای کوچک باید طوری در نظر گرفته شود که با یه خط برش انجام شود ( منظورم اینه که وقتی یک سایز به عرض 40 می بریم همه مستطیلها عرضش 40 باشه - نمیشه شیشه یا ورق رو با عرض 40 ببری بعد وسط برش یهو عرض بشه 45)
نکته 3 : پرت برش هم هاشور زده بشه - البته اول تو صفحه نمایش بعد داخل گزارش کریستال ریپورت
نکته 4 : نقشه برش هم ابتدا تو صفحه نمایش بعد داخل کریستال ریپورت نمایش داده بشه

چند تا لینک پیدا کردم ولی vb.net نبود سر درنیاوردم
http://www.codeproject.com/Articles/...fill-algorithm (http://www.codeproject.com/Articles/6017/QuickFill-An-efficient-flood-fill-algorithm)
http://www.glassline.com/index.php?o...id=32&Itemid=3 (http://www.glassline.com/index.php?option=com_content&view=article&id=32&Itemid=3)