% 圆的半径
r = 6;

% 定义弧长数据
Arc_Length_Y = [458.9  422.8 457.3 464.3 457.5]/100;
Arc_Length_Z = -1*[389.5  392.2 461.7 368.2 401.1 389.1 498.6]/100;

% 分别计算累加弧长
Cumulative_Arc_Length_Y = cumsum(Arc_Length_Y);
Cumulative_Arc_Length_Z = cumsum(Arc_Length_Z);

% 初始化 XY 坐标数组
XY_Y = zeros(2, length(Cumulative_Arc_Length_Y));
XY_Z = zeros(2, length(Cumulative_Arc_Length_Z));

% 计算 Arc_Length_Y 每段弧长对应的平面 XY 值
for i = 1:length(Cumulative_Arc_Length_Y)
    % 计算圆心角
    theta = Cumulative_Arc_Length_Y(i) / r;
    
    % 计算 XY 坐标
    XY_Y(1, i) = r * cos(theta);
    XY_Y(2, i) = r * sin(theta);
end

% 计算 Arc_Length_Z 每段弧长对应的平面 XY 值
for i = 1:length(Cumulative_Arc_Length_Z)
    % 计算圆心角
    theta = Cumulative_Arc_Length_Z(i) / r;
    
    % 计算 XY 坐标
    XY_Z(1, i) = -r * cos(theta);
    XY_Z(2, i) = r * sin(theta);
end

% 提取 X 和 Y 坐标
X_Y = XY_Y(1, :);
Y_Y = XY_Y(2, :);
X_Z = XY_Z(1, :);
Y_Z = XY_Z(2, :);

% 绘制 X、Y 位置
figure;
plot(X_Y, Y_Y, 'ro-', 'DisplayName', 'Arc_Length_Y'); % 'ro-' 表示红色圆形标记并用线连接
hold on;
plot(X_Z, Y_Z, 'go-', 'DisplayName', 'Arc_Length_Z'); % 'go-' 表示绿色圆形标记并用线连接

% 绘制圆作为参考
t = linspace(0, 2*pi, 100);
x_circle = r * cos(t);
y_circle = r * sin(t);
plot(x_circle, y_circle, 'b--', 'DisplayName', 'Reference Circle'); % 'b--' 表示蓝色虚线

hold off;

% 设置坐标轴比例相等
axis equal;

% 添加标题和坐标轴标签
title('弧长对应的平面 XY 位置');
xlabel('X');
ylabel('Y');

% 显示网格线
grid on;

% 显示图例
legend;