Search code examples
geometrytriangulation

How to find the third vertices of a triangle when lengths are unequal


I have two vertices of a triangle and the lengths are unequal. How to find the third vertex?Reference


Solution

  • function [vertex_1a, vertex_1b] = third_vertex(x2, y2, x3, y3, d1, d3)
    
       d2 = sqrt((x3 - x2)^2 + (y3 - y2)^2); % distance between vertex 2 and 3
    
       % Orthogonal projection of side 12 onto side 23, calculated unsing 
       % the Law of cosines:
       k = (d2^2 + d1^2 - d3^2) / (2*d2);   
       % height from vertex 1 to side 23 calculated by Pythagoras' theorem:
       h = sqrt(d1^2 - k^2);
    
       % calculating the output: the coordinates of vertex 1, there are two solutions: 
       vertex_1a(1) = x2 + (k/d2)*(x3 - x2) - (h/d2)*(y3 - y2); 
       vertex_1a(2) = y2 + (k/d2)*(y3 - y2) + (h/d2)*(x3 - x2);
    
       vertex_1b(1) = x2 + (k/d2)*(x3 - x2) + (h/d2)*(y3 - y2); 
       vertex_1b(2) = y2 + (k/d2)*(y3 - y2) - (h/d2)*(x3 - x2);
    
    end