PDA

نسخه کامل مشاهده نسخه کامل : كشيدن خط در سي پلاس پلاس



آرام جان گل
04-04-2007, 16:26
سلام
من كدي براي كشيدن خط نوشته ام ولي چندجا استثناهايي ايجاد ميشه كه مي خواستم كمكم كنيد

كد من:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

اگر x2 كوچكتر از x1 باشه كه تعريف نشده ميشه چون توي مخرجه (خطوط عمودي)پس من با خود تابع line محيط اين مشكل را بر طرف كردم ولي مي خوام بدونم راهي هست كه اصلا از توابع پيش فرض استفاده نكنم؟

مشكل بعدي كه ايجاد ميشه موقعيه كه حتي y2 هم از y1 كوچكتر باشه(صورت منفي ميشه) در اين صورت با وجود تعريف كردن float براي m با مشكل مواجه ميشه و من باز هم اين استثنا را با تابع line خود سي پلاس رفع كرده ام

يه مرود ديگه كه ايجاد مشكل مي كنه اينه: اگه x2 از x1 بزرگتر باشه و y1 هم از y2 بزرگتر باشه حتي با جابه جا كردن جاي نقاط در وروديهاي تابع براي اينكه مخرج 0 نشه باز هم صورت منفي ميشه و باز هم دردسر

حالا من و موندمو اين سه مشكل لاينحل
چي كار بايد بكنم

مرسي راهنمايي كنيد

someone
05-04-2007, 03:20
دوباره سلام.
میتونین از الگوریتم Bresenham استفاده کنین.
الگوریتم رو براتون میذارم. به راحتی میتونین کدش رو بنویسین :


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

اگه مشکلی پیش اومد اطلاع بدین.