马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
- % 定义主应力值
- sigma1 = 100; % MPa
- sigma2 = 50; % MPa
- sigma3 = -33; % MPa
-
- sigma_m1=(sigma1 + sigma3)/2;
- sigma_m2=(sigma1 + sigma2)/2;
- sigma_m3=(sigma2 + sigma3)/2;
- % 计算半径
- r1 = (sigma1 - sigma3) / 2;
- r2 = (sigma1 - sigma2) / 2;
- r3 = (sigma2 - sigma3) / 2;
-
- % 角度范围(从0到2π)
- theta = linspace(0, 2*pi, 1000);
-
- % 计算圆上的点(以sigma_m为中心)
- % 第一个圆
- x1 = sigma_m1 + r1 * cos(theta);
- y1 = r1 * sin(theta);
-
- % 第二个圆
- x2 = sigma_m2 + r2 * cos(theta);
- y2 = r2 * sin(theta);
-
- % 第三个圆
- x3 = sigma_m3 + r3 * cos(theta);
- y3 = r3 * sin(theta);
-
- % 绘制应力圆
- figure;
- hold on;
- plot(x1, y1, 'b', 'LineWidth', 2); % 蓝色表示第一个圆
- plot(x2, y2, 'r', 'LineWidth', 2); % 红色表示第二个圆
- plot(x3, y3, 'g', 'LineWidth', 2); % 绿色表示第三个圆
-
- % 添加主应力点
- plot(sigma1, 0, 'kx', 'MarkerSize', 10, 'MarkerFaceColor', 'k'); % σ1点
- plot(sigma2, 0, 'kx', 'MarkerSize', 10, 'MarkerFaceColor', 'k'); % σ2点
- plot(sigma3, 0, 'kx', 'MarkerSize', 10, 'MarkerFaceColor', 'k');
复制代码 |