How to plot the deformed shape of a truss

14 views (last 30 days)
Vlasis Demosthenes
Vlasis Demosthenes on 8 Dec 2018
Answered: Naga on 16 Sep 2024
How can I plot the undeformed and deformed shape of a truss?
The code?

Answers (1)

Naga
Naga on 16 Sep 2024
Hello Vlasis,
To plot the undeformed and deformed shape of a truss, you can follow these steps:
  1. Define the node coordinates and element connectivity.
  2. Calculate the deformed node coordinates based on the displacement vector.
  3. Use plot to draw lines between nodes for both undeformed (solid) and deformed (dashed) configurations.
Below is an example code to achieve this:
% Node coordinates (x, y)
nodes = [0, 0; 1, 0; 1, 1; 0, 1];
% Element connectivity (start node, end node)
elements = [1, 2; 2, 3; 3, 4; 4, 1; 1, 3; 2, 4];
% Displacement vector [u, v] for each node
displacements = [0, 0; 0.1, 0; 0.1, 0.1; 0, 0.1];
% Scale factor for deformation
scaleFactor = 1;
% Deformed node coordinates
deformedNodes = nodes + scaleFactor * displacements;
% Plot
figure; hold on;
for i = 1:size(elements, 1)
n1 = elements(i, 1); n2 = elements(i, 2);
% Undeformed shape (solid blue)
plot(nodes([n1, n2], 1), nodes([n1, n2], 2), 'b-', 'LineWidth', 2);
% Deformed shape (dashed red)
plot(deformedNodes([n1, n2], 1), deformedNodes([n1, n2], 2), 'r--', 'LineWidth', 2);
end
xlabel('X'); ylabel('Y'); legend('Undeformed', 'Deformed');
title('Truss Structure'); axis equal; grid on; hold off;
Adjust the node coordinates, element connectivity, and displacements as required for your specific problem.

Community Treasure Hunt

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

Start Hunting!