Azzera filtri
Azzera filtri

Why are those lines not drawn?

2 visualizzazioni (ultimi 30 giorni)
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:

Risposta accettata

Dimitar Slavchev
Dimitar Slavchev il 16 Mar 2021
Modificato: Dimitar Slavchev il 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:

Più risposte (1)

Cris LaPierre
Cris LaPierre il 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 Commento
Dimitar Slavchev
Dimitar Slavchev il 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)]);

Accedi per commentare.

Prodotti


Release

R2018a

Community Treasure Hunt

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

Start Hunting!

Translated by