PDA

View Full Version : سوال: رسم خط با زاویه



atoorpatkan
یک شنبه 29 بهمن 1391, 22:20 عصر
سلام دوستان.من میخوام یه خط رو تو محور مختصات رسم کنم که البته این خط باید با زاویه ای که داده میشه نسبت به محور x رسم بشه.کسی میونه کمک کنه.مرسی. مثله شکل زیر.خوب حالا من میخوام وقتی زاویه رو تغییر دادم زاویه اون خط هم نسبت به محور x تغییر کنه اما اندازش ثابت بمونه.منظور از اندازه همون طول پاره خط رسم شدس.ممنون که کمک می کنین.

100203

saeedgholami
دوشنبه 30 بهمن 1391, 00:00 صبح
سلام
ببین این میتونه کمکت کنه




double length = 350;
double angle = 50;
double x1 = 200;
double y1 = 200;
double x2 = x1 + (Math.Cos(angle) * length);
double y2 = y1 + (Math.Sin(angle) * length);

int intX1 = Convert.ToInt32(x1);
int intY1 = Convert.ToInt32(y1);
int intX2 = Convert.ToInt32(x2);
int intY2 = Convert.ToInt32(y2);

System.Drawing.Graphics graphicsObj;
graphicsObj = this.CreateGraphics();
Pen myPen = new Pen(System.Drawing.Color.Red, 5);
graphicsObj.DrawLine(myPen, new Point(intX1, intY1),new Point(intX2, intY2));

atoorpatkan
دوشنبه 30 بهمن 1391, 14:39 عصر
مرسی دوست عزیز که جواب دادین.فقط این angle چطوری کار میکنه.مثلا وقتی من زاویه رو 90 درجه یا 120 درجه میدم یه جور دیگه خط رو میکشه.میشه توضیح بدین.ممنونم.

atoorpatkan
دوشنبه 30 بهمن 1391, 14:58 عصر
دوست عزیز حل شد. باید بعد از سطر دوم کد زیر رو اضافه کنیم تا مقدار رو بر حسب درجه پیدا کنه.تو حالت معمولی بر حسب رادیان حساب می کنه. زاویه رو هم که هر مقداری باشه باید منفیشو داد.


double angleRadians = (Math.PI / 180.0) * angle;