ট্র্যাভিসজির মন্তব্যে আমি কিছুটা প্রসারিত করব এবং আরও একটি উত্তর দেব, আপনার প্রশ্নের "2D" ট্যাগ রয়েছে তা ব্যবহার করে।
আপনি ডট পণ্যটি ব্যবহার করে দুটি ভেক্টরের মধ্যবর্তী কোণটি পেতে পারেন তবে এটি ব্যবহার করে দুটি ভেক্টরের মধ্যে স্বাক্ষরিত কোণটি আপনি পেতে পারেন না । অন্য একটি উপায় রাখুন, আপনি যদি সময়ের সাথে সাথে একটি পয়েন্টের দিকে কোনও অক্ষর ঘুরিয়ে রাখতে চান তবে ডট পণ্যটি আপনাকে কতটা ঘুরিয়ে দেবে তবে কোন দিকে নয়। তবে আরও একটি সহজ সূত্র রয়েছে, যা ডট পণ্যের সাথে একত্রিত হয়ে খুব কার্যকর। শুধু আপনার না
dot(A,B) = |A| * |B| * cos(angle)
আপনার আরও একটি সূত্র থাকতে পারে (যার নামটি আমি রাজনৈতিক নির্ভুলতার জন্য তৈরি করেছি):
pseudoCross(A,B) = |A| * |B| * sin(angle)
যেখানে যদি A = (a, b), B = (x, y) হয়, তবে সিউডোক্রসকে (A, B) ক্রস পণ্যটির তৃতীয় উপাদান হিসাবে চিহ্নিত করা হয়েছে (a, b, 0) x (x, y, 0) )। অন্য কথায়:
a*x+b*y = |A| * |B| * cos(angle)
-b*x+a*y = |A| * |B| * sin(angle)
সম্পূর্ণ স্বাক্ষরিত কোণটি তখনই রয়েছে angle=atanfull(-b*x+a*y,a*x+b*y)
(আপনি অ-সাধারণীকৃত মানগুলিতে পাস হলে অ্যাটানফুল বা অ্যাটান 2 ফাংশন আপনাকে ক্ষমা করে দেবে)। যদি এ এবং বিকে স্বাভাবিক করা হয় তবে এটি যদি |A|=|B|=1
কেবলমাত্র:
a*x+b*y = cos(angle)
-b*x+a*y = sin(angle)
আরও গভীর ব্যাখ্যার জন্য নোট করুন যে উপরের সমীকরণগুলি ম্যাট্রিক্স সমীকরণ দ্বারা প্রকাশ করা যেতে পারে:
[ a,b] [x] [cos(angle)]
[-b,a] * [y] = [sin(angle)]
কিন্তু a ও b যেমন প্রকাশ করা যেতে পারে a=cos(ang1)
, b=sin(ang1)
কিছু মান ang1
(নাangle
)। সুতরাং, বামদিকে ম্যাট্রিক্স একটি ঘূর্ণন ম্যাট্রিক্স যা ভেক্টরকে (x, y) -আং 1 দ্বারা ঘোরায়। এটি রেফারেন্সের ফ্রেমে স্যুইচ করার সমতুল্য যেখানে ইউনিট ভেক্টর "এ" ভেক্টর / অক্ষ হিসাবে ধরা হয় (1,0)! সুতরাং কেবলমাত্র এই ফ্রেমে ইউনিট বৃত্ত / ডান ত্রিভুজ অঙ্কন করে আপনি দেখতে পাচ্ছেন যে কেন সেই পণ্যটির ফলস্বরূপ ভেক্টরটি (কোস (কোণ), পাপ (কোণ) হয়।
আপনি যদি মেরু আকারে (ক, খ) এবং (x, y) লিখেন, এবং কোণ পার্থক্য সূত্র প্রয়োগ করেন cos(l)*cos(m)+sin(l)*sin(m)=cos(l-m)
এবংsin(l)*cos(m)-cos(l)*sin(m)=sin(l-m)
, আপনি পুনরায় প্রকাশ করেন যে (এলএম) = কোণ থেকে এই পণ্য দ্বারা সাইন / কোসাইন দেওয়া হয়েছে। বিকল্পভাবে, ident পরিচয়গুলি উপরে বর্ণিত লিনিয়ার পণ্যটি কোনও ভেক্টরকে কেন ঘুরিয়ে দেয় তা দেখতে ব্যবহার করা যেতে পারে।
এই সমস্ত পরিচয়ের অর্থ আপনার খুব কমই কোণ দরকার। যেহেতু কোণগুলি অদ্ভুত হতে পারে - রেডিয়ান / ডিগ্রি, বিপরীত সাইন / কোসিনের জন্য সম্মেলন, তারা প্রতি 2 * পিআই পুনরাবৃত্তি করে - এটি আসলে আরও কার্যকর হতে পারে এবং আপনাকে "যদি (অ্যাঙ্গ <180)" ইত্যাদির যুক্তি দেয় তবে সেগুলি আরও কার্যকর হয়।