Calculate angles correctly between two vectors using the dot product. (2024)

26 views (last 30 days)

Show older comments

LH on 4 Jan 2024

  • Link

    Direct link to this question

    https://support.mathworks.com/matlabcentral/answers/2066481-calculate-angles-correctly-between-two-vectors-using-the-dot-product

  • Link

    Direct link to this question

    https://support.mathworks.com/matlabcentral/answers/2066481-calculate-angles-correctly-between-two-vectors-using-the-dot-product

Answered: Torsten on 4 Jan 2024

Open in MATLAB Online

Hi all,

As shown below in the figure, I have two vectors, Calculate angles correctly between two vectors using the dot product. (2)and Calculate angles correctly between two vectors using the dot product. (3), and I want to calculate the angle with the norm,Calculate angles correctly between two vectors using the dot product. (4) andCalculate angles correctly between two vectors using the dot product. (5), between each of these vectors with respect to vector L using the dot product.

Calculate angles correctly between two vectors using the dot product. (6)

Here is a simple code to calculate these angles:

close all;

clear all;

%define the reference vector

L = [-0.5 -0.5];

%v1

v1 = [-0.6788 0.3214];

%theta1 with the x axis

theta1 = acos((v1(1)*L(1)+v1(2)*L(2))/(sqrt(v1(1)^2+v1(2)^2)*sqrt(L(1)^2+L(2)^2)));

%theta1 with the norm

theta1norm = pi/2 - theta1;

%v2

v2 = [0.3214 -0.6788];

%theta2 with the x axis

theta2 = acos((v2(1)*L(1)+v2(2)*L(2))/(sqrt(v2(1)^2+v2(2)^2)*sqrt(L(1)^2+L(2)^2)));

%theta1 with the norm

theta2norm = pi/2 - theta2;

My question here is that the product produces both angles to be equal, i.e., Calculate angles correctly between two vectors using the dot product. (7). However, and as shwon in the figure, it is clear that Calculate angles correctly between two vectors using the dot product. (8), i.e., Calculate angles correctly between two vectors using the dot product. (9)and Calculate angles correctly between two vectors using the dot product. (10). How can I caulcate these angles correctly using the dot product?

Thanks.

1 Comment

Show -1 older commentsHide -1 older comments

Dyuman Joshi on 4 Jan 2024

Direct link to this comment

https://support.mathworks.com/matlabcentral/answers/2066481-calculate-angles-correctly-between-two-vectors-using-the-dot-product#comment_3017596

  • Link

    Direct link to this comment

    https://support.mathworks.com/matlabcentral/answers/2066481-calculate-angles-correctly-between-two-vectors-using-the-dot-product#comment_3017596

"However, and as shwon in the figure, it is clear that Theta2n = Theta1N + pi/2"

How exactly is that clear or shown?

"How can I caulcate these angles correctly using the dot product?"

Utilize these functions - dot, norm

Sign in to comment.

Sign in to answer this question.

Answers (3)

Hassaan on 4 Jan 2024

  • Link

    Direct link to this answer

    https://support.mathworks.com/matlabcentral/answers/2066481-calculate-angles-correctly-between-two-vectors-using-the-dot-product#answer_1383341

  • Link

    Direct link to this answer

    https://support.mathworks.com/matlabcentral/answers/2066481-calculate-angles-correctly-between-two-vectors-using-the-dot-product#answer_1383341

Open in MATLAB Online

% Close all figures and clear variables

close all;

clear all;

% Define the reference vector

L = [-0.5 -0.5];

% Define the first vector v1 and calculate the angle with L

v1 = [-0.6788 0.3214];

% Dot product of v1 and L

dot_v1_L = dot(v1, L);

% Norms of v1 and L

norm_v1 = norm(v1);

norm_L = norm(L);

% Angle theta1 with the x axis

theta1 = acos(dot_v1_L / (norm_v1 * norm_L));

% Angle theta1 with the norm

theta1norm = pi/2 - theta1;

% Define the second vector v2 and calculate the angle with L

v2 = [0.3214 -0.6788];

% Dot product of v2 and L

dot_v2_L = dot(v2, L);

% Norms of v2

norm_v2 = norm(v2);

% Angle theta2 with the x axis

theta2 = acos(dot_v2_L / (norm_v2 * norm_L));

% Angle theta2 with the norm

theta2norm = pi/2 - theta2;

% Convert angles to degrees

theta1_degree = radtodeg(theta1);

theta2_degree = radtodeg(theta2);

theta1norm_degree = radtodeg(theta1norm);

theta2norm_degree = radtodeg(theta2norm);

% Display the results

disp(['Theta1: ', num2str(theta1_degree), ' degrees']);

Theta1: 70.3367 degrees

disp(['Theta2: ', num2str(theta2_degree), ' degrees']);

Theta2: 70.3367 degrees

disp(['Theta1 from the norm: ', num2str(theta1norm_degree), ' degrees']);

Theta1 from the norm: 19.6633 degrees

disp(['Theta2 from the norm: ', num2str(theta2norm_degree), ' degrees']);

Theta2 from the norm: 19.6633 degrees

The functions dot and norm are used to calculate the dot product and the magnitude of the vectors, respectively, and acos computes the arccosine of the given value to obtain the angle in radians. The function radtodeg converts the angle from radians to degrees.

------------------------------------------------------------------------------------------------------------------------------------------------

If you find the solution helpful and it resolves your issue, it would be greatly appreciated if you could accept the answer. Also, leaving an upvote and a comment are also wonderful ways to provide feedback.

Professional Interests

  • Technical Services and Consulting
  • Embedded Systems | Firmware Developement | Simulations
  • Electrical and Electronics Engineering
0 Comments

Show -2 older commentsHide -2 older comments

Sign in to comment.

James Tursa on 4 Jan 2024

  • Link

    Direct link to this answer

    https://support.mathworks.com/matlabcentral/answers/2066481-calculate-angles-correctly-between-two-vectors-using-the-dot-product#answer_1383366

  • Link

    Direct link to this answer

    https://support.mathworks.com/matlabcentral/answers/2066481-calculate-angles-correctly-between-two-vectors-using-the-dot-product#answer_1383366

Edited: James Tursa on 4 Jan 2024

Also see this related link for a robust method using atan2 that can recover small angles:

https://www.mathworks.com/matlabcentral/answers/101590-how-can-i-determine-the-angle-between-two-vectors-in-matlab?s_tid=srchtitle

0 Comments

Show -2 older commentsHide -2 older comments

Sign in to comment.

Torsten on 4 Jan 2024

  • Link

    Direct link to this answer

    https://support.mathworks.com/matlabcentral/answers/2066481-calculate-angles-correctly-between-two-vectors-using-the-dot-product#answer_1383396

  • Link

    Direct link to this answer

    https://support.mathworks.com/matlabcentral/answers/2066481-calculate-angles-correctly-between-two-vectors-using-the-dot-product#answer_1383396

Open in MATLAB Online

I think an intuitive way is to compute the angles between the positive x-axis and the respective vector counterclockwise first (the result will be between 0 and 360) and then make the necessary subtractions.

theta1 = cart2pol(L(1)/norm(L),L(2)/norm(L))*180/pi

if theta1 <=0

theta1 = 360 + theta1;

end

theta2 = cart2pol(v1(1)/norm(v1),v1(2)/norm(v1))*180/pi

if theta2 <=0

theta2 = 360 + theta2;

end

theta3 = cart2pol(v2(1)/norm(v2),v2(2)/norm(v2))*180/pi

if theta3 <=0

theta3 = 360 + theta3;

end

0 Comments

Show -2 older commentsHide -2 older comments

Sign in to comment.

Sign in to answer this question.

See Also

Categories

MATLABProgramming

Find more on Programming in Help Center and File Exchange

Tags

  • matlab
  • vectors
  • dotproduct
  • angles
  • cosine

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

An Error Occurred

Unable to complete the action because of changes made to the page. Reload the page to see its updated state.


Calculate angles correctly between two vectors using the dot product. (15)

Select a Web Site

Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .

You can also select a web site from the following list

Americas

  • América Latina (Español)
  • Canada (English)
  • United States (English)

Europe

  • Belgium (English)
  • Denmark (English)
  • Deutschland (Deutsch)
  • España (Español)
  • Finland (English)
  • France (Français)
  • Ireland (English)
  • Italia (Italiano)
  • Luxembourg (English)
  • Netherlands (English)
  • Norway (English)
  • Österreich (Deutsch)
  • Portugal (English)
  • Sweden (English)
  • Switzerland
    • Deutsch
    • English
    • Français
  • United Kingdom(English)

Asia Pacific

  • Australia (English)
  • India (English)
  • New Zealand (English)
  • 中国
  • 日本Japanese (日本語)
  • 한국Korean (한국어)

Contact your local office

Calculate angles correctly between two vectors using the dot product. (2024)
Top Articles
Who is Yusuf Dikec, the Turkish shooter who went viral at the 2024 Olympics?
Genshin Impact Codes – 4.8 Codes! (August 2024)
Matgyn
Craigslist St. Paul
Sprinter Tyrone's Unblocked Games
Maria Dolores Franziska Kolowrat Krakowská
What happens if I deposit a bounced check?
Katie Boyle Dancer Biography
Does Pappadeaux Pay Weekly
Max 80 Orl
Blue Ridge Now Mugshots Hendersonville Nc
Nichole Monskey
Aquatic Pets And Reptiles Photos
What’s the Difference Between Cash Flow and Profit?
Mid90S Common Sense Media
Edible Arrangements Keller
Https //Advanceautoparts.4Myrebate.com
A Guide to Common New England Home Styles
Samantha Lyne Wikipedia
Cambridge Assessor Database
Aspen Mobile Login Help
TBM 910 | Turboprop Aircraft - DAHER TBM 960, TBM 910
Faurot Field Virtual Seating Chart
The best firm mattress 2024, approved by sleep experts
Mj Nails Derby Ct
Craigslist Rome Ny
Feathers
Gopher Hockey Forum
Core Relief Texas
In hunt for cartel hitmen, Texas Ranger's biggest obstacle may be the border itself (2024)
Mawal Gameroom Download
Lininii
Metro By T Mobile Sign In
2015 Chevrolet Silverado 1500 for sale - Houston, TX - craigslist
Craigslist Com Humboldt
The Mad Merchant Wow
Domino's Delivery Pizza
Craigs List Stockton
8005607994
3302577704
Verizon Outage Cuyahoga Falls Ohio
Gregory (Five Nights at Freddy's)
Fedex Passport Locations Near Me
Citizens Bank Park - Clio
Television Archive News Search Service
Walmart 24 Hrs Pharmacy
Tlc Africa Deaths 2021
Greg Steube Height
Pas Bcbs Prefix
San Diego Padres Box Scores
French Linen krijtverf van Annie Sloan
Raley Scrubs - Midtown
Latest Posts
Article information

Author: Jeremiah Abshire

Last Updated:

Views: 5373

Rating: 4.3 / 5 (74 voted)

Reviews: 89% of readers found this page helpful

Author information

Name: Jeremiah Abshire

Birthday: 1993-09-14

Address: Apt. 425 92748 Jannie Centers, Port Nikitaville, VT 82110

Phone: +8096210939894

Job: Lead Healthcare Manager

Hobby: Watching movies, Watching movies, Knapping, LARPing, Coffee roasting, Lacemaking, Gaming

Introduction: My name is Jeremiah Abshire, I am a outstanding, kind, clever, hilarious, curious, hilarious, outstanding person who loves writing and wants to share my knowledge and understanding with you.