plotTruss1.m
function plotTruss1(x0, A, N)
% zeichnet ein Fachwerk
% Parameter:
% x0 Gleichgewichtskoordinaten aller Punkte
% A Verbindungsmatrix (symmetrisch, auf der Diagonalen 0)
% N Zahl der beweglichen Massen
xp = x0(1,:);
yp = x0(2,:);
M = length(xp);
% zeichne Knoten
plot(xp, yp, "ko")
axis([-0.5 3.5 -1.5 2.5])
set(gca, "XTick", [], "YTick", [])
% zeichne Verbindungen
hold("on")
for I=1:M
for J = 1:(I-1)
if A(I,J) ~= 0
plot([xp(I) xp(J)], [yp(I) yp(J)], "k-")
end
end
end
% markiere fixierte Knoten
for I=N+1:M
plotSquare(xp(I), yp(I))
end
hold("off")
% mache Achsensystem quadratisch
axis("equal")
%--------------------------------------------------------------------
function plotSquare(x, y)
% zeichnet ein kleines rotes Rechteck um (x,y)
d = 0.2;
xi = [x-d, x+d, x+d, x-d, x-d];
yi = [y+d, y+d, y-d, y-d, y+d];
plot(xi, yi, "r-")