Why are those lines not drawn?

4 views (last 30 days)
I am using the following code to draw a triangle ABC and the medians AD1, BD2, CD3. A1, B1, C1 are points along each median that are 1/3 away from the angle the median starts from. I use line to draw the ABC triangle and the medians, but Matlab refuses to draw two of the medians. I did check the values by hand and they seem fine. All of the D and [ABC]1 points seem to be right were I want them.
Why aren't all three medians drawn?
A = [1; 0.8384];
B = [1; 1];
C = [0.8384; 1];
D1 = (B + C)/2;
D2 = (A + C)/2;
D3 = (A + B)/2;
A1 = A + (D1 - A)/3;
B1 = B + (D2 - B)/3;
C1 = C + (D3 - C)/3;
line(A,B);
hold on;
line(B,C);
line(C,A);
% Draws medians
line(A,D1);
line(B,D2);
line(C,D3);
plot(D1(1), D1(2), 'kx');
plot(D2(1), D2(2), 'kx');
plot(D3(1), D3(2), 'kx');
plot(A1(1), A1(2), 'kx');
plot(B1(1), B1(2), 'kx');
plot(C1(1), C1(2), 'kx');
hold off;
Picture is:

Accepted Answer

Dimitar Slavchev
Dimitar Slavchev on 16 Mar 2021
Edited: Dimitar Slavchev on 16 Mar 2021
OK, glorious user error, as expected.
When using line one shouldn't do:
line(A,B);
But instead put the x values in the first argument and the y values in the second. As in:
line([A(1) B(1)], [A(2) B(2)]);
Unfortunatelly my ABC triangle was drawing right with the wrong data and that threw me off.
I saw the answer in this question:

More Answers (1)

Cris LaPierre
Cris LaPierre on 16 Mar 2021
Check your values again.
line(A,D1); appears as expected
line(B,D2); is a single point (Both B values are the same, and both D2 values are the same, so no line)
line(C,D3); is the the same as line(A,D1), just in reverse. So it is getting plotted, but on top of an existing line.
  1 Comment
Dimitar Slavchev
Dimitar Slavchev on 10 Apr 2021
I was using line wrong.
I.e. I was expecting that:
line(A,B);
should write a line form A to B, which is wrong.
But instead it should be:
line([A(1) B(1)], [A(2) B(2)]);

Sign in to comment.

Categories

Find more on Mathematics in Help Center and File Exchange

Products


Release

R2018a

Community Treasure Hunt

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

Start Hunting!