Finding coordinates of a point from bisector of two lines
조회 수: 6 (최근 30일)
이전 댓글 표시
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
채택된 답변
Star Strider
2025년 6월 19일
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
Star Strider
2025년 6월 19일
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.
참고 항목
카테고리
Help Center 및 File Exchange에서 Assembly에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

