PDA

View Full Version : سوال: زاویه بین 2 خط در Picture Box



moh899
شنبه 08 فروردین 1394, 18:09 عصر
سلام دوستان
روی PictureBox دو تا خط می کشم .نقطه ابتدا و انتهای هر دو خط رو دارم .حالا زاویه بین این دو خط چگونه بدست بیارم؟
با تشکر
129824

erfan_urchin
یک شنبه 09 فروردین 1394, 11:34 صبح
سلام
دوست عزیز این ربطی به برنامه نویسی نداره و فقط باید ریاضیت خوب باشه و فقط باید هندسه تحلیلی (که تو پیش دانشگاهی درس میدن) رو بلد باشی
توی عکسی که شما گذاشتی فرض کن خط بالایی(A1A2) بردار R هستش و خط پایینی(A3A4) بردار S هستش
بدست آوردن کسینوس زاویه بین دوبردار به روش زیر محاسبه میشه:
(ضرب داخلی دو بردار) ÷ (ضرب اندازه های دو بردار)
وقتی شما کسینوس زاویه بین دو بردار رو بدست آوردی بعدش ArcCos میگیری و زاویه رو بدست میاری
این کل ماجرا بود. حالا یه ذره ریزتر میشیم
1- شما برای اینکه مختصات این بردار هارو بدست بیاری همونطور که میدونی باید مختصات نقطه دوم رو منهای مختصات نقطه اول کنی یعنی R = A2 - A1 و S = A4 - A3
2- شما برای اینکه اندازه هر بردار رو دربیاری باید مختصات x و y اون بردار رو به توان دو برسونی و باهم جمع کنی و در نهایت ازش جذر بگیری
یه مثال میزنم امیدوارم برات جا بیفته
فرض کن بردار R به شکل زیر هستش

A1(1,4)
A2(5,7)
و بردار S به شکل زیر هستش

A3(4,5)
A4(12,11)
برای بدست آوردن مختصات بردارها به شکل زیر عمل میکنیم

R = (5-1 , 7-4) =>>> R=(4,3)
S = (12-4 , 11-5) =>>> S=(8,6)
حالا برای بدست آوردن اندازه بردارها

|R| =Sqrt( (4^2) + (3^2) )
|S| =Sqrt( (8^2) + (6^2) )
*** Sqrt توی سی شارپ یعنی جذر
خب که با انجام عملیات بالا R|=5| و S|=10|
حالا بریم سراغ فرمول بدست آوردن کسینوس زاویه که اون اول گفتم
ضرب داخلی R و S میشه (6*3) + (8*4) که جوابش میشه 50
ضرب اندازه های بردار هم میشه 10*5 که جوابش میشه 50
حالا این دوتارو تقسیم میکنیم جواب میشه 1 ، یعنی کسینوس زاویه بین این دوتا خط 1 هستش
حالا باید ببینیم کسینوس چه زاویه ای میشه 1 (یا به شکل ریاضی بخوام بگم: باید ArcCos 1 رو به دست بیاریم)
که جواب میشه صفر درجه. یعنی زاویه بین اون دوخط صفر درجه هستش
موفق باشی