# Native Code > برنامه نویسی در 6 VB > برنامه نویسی مرتبط با بازی و گرافیک در VB6 > سوال: رسم زاویه

## Ballmer

راستش من می خواستم ببینم چه جوری میشه با گرفتن زاویه یه زاویه ساده کشید؟(اگه خوده نمودار دکارتی رو بشه استفاده کرد بهتر میشه :لبخند گشاده!: )
مشکل اصلی من یه چیز دیگه است . می خوام وقتی زاویه رو دادیم یه کمان با اون زاویه بکشه.
چی کنم؟
--------------------------
راستش من تازه کارم(حدود 5 دقیقه هست تو اینجا ثبت نام کردم) پس اگه مشکلی تو نوشتنم هست منو ببخشید و کمکم کنید راه بیوفتم :قلب:  :بوس:

----------


## Ballmer

هیچ کی نیست بهم کمک کنه؟

----------


## mst_ab

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

----------


## Ballmer

من کمان می خوام بکشم که 3 نقطه داشته باشه(help me)

یه کار دیگم داشتم . می خواستم یه picturebox از روی کمان رد بشه.کار خاصی باید بکنم ؟کدی داره؟؟ یا اصلا باید ابتکار بزنم؟؟

----------


## mst_ab

منظور از 3 نقطه 3 نقطه روی کمان هست ، یا یک نقطه در مرکز دایره فرضی و دو نقطه روی کمان؟




> می خواستم یه picturebox از روی کمان رد بشه


این یکی رو نفهمیدم!

----------


## Ballmer

کمان(بیضی یا دایره) با 3 نقطه (یکی سر کمان ، یکی وسط ، یکی هم اخرش)
به عبارتی می خواستم یه پرتابه رو رسم کنم.

تو برنامه ام زاویه رو می گیره و قرار با اون زاویه یه پرتابه بکشه، بعدش می خواستم یه عکس توپ از این پرتابه(کمان) بالا بره.

3نقطه رو می تونم پیدا کنم. اولی که مبدا ، دومی ارتفاع اوج (با فرمول های فیزیک در میاد) و سومی همون برد هست)

----------


## juggle

منظورتو کامل متوجه نشدم  :متفکر: 

حالا کد زیر رو داخل یه cmd بزار ببین همینو میخواستی :چشمک: 

Circle (2000, 2000), 1000, vbBlack, 0.5, 3
میتونی اعداد0.5و3 رو تغییر بدی و اندازه کمان موردنظر تو پیدا کنی. :چشمک: 

امیدوارم بدردت بخوره.

----------


## Ballmer

این رو ببینید. دانلود برنامه
سرعت و زاویه پرتابه رو میدین و بعد برد و ارتفاع اوج و... رو میده.
بعد می خواستم برنامه بتونه نشون هم بده.
من برای کشیدن پرتابه از drawCurve (تو vb2008) استفاده کردم.
DrawCurve منحنی میکشه برای همین یه کمی کج و کوله در میاد بعد الان می خوام کمانش کنم.
بعد می خواستم که یه PicureBox از ابتدا تا انتهای کمان رو بره.

----------


## mst_ab

خوب زودتر می گفتی برای چه کاری می خوای تا کمکت می کردم! 
خوب اگر درست یادم باشه ، معادله مسیر پرتابه (نه حرکت خود مسیر که سهمی هست) باید این باشه:

y = - (g*x^2 ) / ( 2*v0^2*(Cos(α))^2)  + x*Tan(α)  


خوب g  رو 10 بگیر ، v0 رو هم که داریم ، زاویه پرتابه با افق رو هم که داریم، حالا توی یه پیکچر باکس باید با دادن x ها مختلف و پیدا کردن y های متناظر با اون ها ، لاین رسم کنی. طوری که انتهای لاین اول بشه ابتدای لاین دوم! 

اینجا رو نگاه کن ، این یه برنامه هست که برای استادم ، آقای دکتر کاظمی درست کردم و در مورد درس اصول مهندسی زلزله هست :
up.iranblog.com/files/9a13e8a557c140aabdb7.zip
توش از همین روش برای رسم ، حرکت نوسانی یه مدل شبیه سازی شده ی ارتعاش آزاد استفاده کردم.

----------


## mst_ab

البته در معادله بالا ، حتماً یادت باشه که a باید بر حسب رادیان باشه ، یعنی زاویه بر حسب درجه رو باید در PI/180 ضرب کنی.

----------

