Finding coordinates of a point from bisector of two lines
    7 Ansichten (letzte 30 Tage)
  
       Ältere Kommentare anzeigen
    
    Gaetano Pavone
 am 17 Jun. 2025
  
    
    
    
    
    Kommentiert: Star Strider
      
      
 am 19 Jun. 2025
            I have two points, P1 and P2. Starting from M1 (middle point among P1 and the origin), I want to know the coordinates of the point Q1 as shown in the picture.
How can I do this?

0 Kommentare
Akzeptierte Antwort
  Star Strider
      
      
 am 19 Jun. 2025
        Sure!  
Fortunately, I kept the code ... 
clear
close all
xq = [-1000 0 -200 -1000 -1000];
yq = [-450 0 -1000 -1000 -450];
a21 = atan2d(-450, -1000);
a23 = atan2d(-1000, -200);
a123 = a21 - a23;
ab = a123/2 + a23;
lineb = 1200*[cosd(ab); sind(ab)];
slopeb = lineb(2)/lineb(1);
len12 = hypot(-450, -1000);
xpt = interp1([0 -1000], [0 -450], -500);
ypt = interp1([0 -450], [0 -1000], xpt);
B = [0 1; lineb(2) 1] \ [0; lineb(1)];
slope_orth = -B(1);
intcpt_orth = ypt-slope_orth*xpt;
slope23 = -1000/-200;
xint = intcpt_orth/(slope23-slope_orth);
yint = slope_orth*xint+intcpt_orth;
figure
plot(xq, yq, DisplayName='Quadrilateral')
hold on
plot([0 lineb(1)], [0 lineb(2)],'-r', DisplayName='Bisector')
scatter(xint, yint, 25, 'red','filled', 's', DisplayName='Q1')
plot([0 -600], [0 -600]*slope_orth+intcpt_orth, '-m', DisplayName='Orthogonal Line')
hold off
text(xint+50, yint,"Q1 ("+xint+","+yint+")", Horiz='left', Vert='middle', FontWeight='bold')
axis('equal','padded')
legend(Location='NW')
As a general rule, I delete my answers if they are not accepted.  
.
5 Kommentare
  Star Strider
      
      
 am 19 Jun. 2025
				Thank you.  
I'll delete it again, since as I noted prevously, I usually delete my answers if they are not accepted.  
It will remain posted if you accept it, not otherwise.  
Siehe auch
Kategorien
				Mehr zu Assembly finden Sie in Help Center und File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

