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('square')
%--------------------------------------------------------------------
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-')