You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MATLAB极坐标系下两条曲线围成区域着色问题求助

MATLAB极坐标曲线及围成区域着色实现方案

核心思路

先确定两条极坐标曲线的交点,分区间处理不同区域的内外关系,通过直角坐标转换完成区域填充(MATLAB的fill函数在直角坐标系下更易精准控制填充范围)。

完整代码

% 生成高精度θ采样点,保证曲线平滑
theta = linspace(0, 2*pi, 1000);
r1 = 3*sin(theta);
r2 = 1 + sin(theta);

% 计算两条曲线的交点θ值:π/6 和 5π/6
theta_intersect1 = pi/6;
theta_intersect2 = 5*pi/6;

% -------------------------- 分区间处理填充区域 --------------------------
% 区间1:0 → π/6,r2在r1外侧,填充r1到r2之间的区域
theta_1 = linspace(0, theta_intersect1, 200);
r1_1 = 3*sin(theta_1);
r2_1 = 1 + sin(theta_1);
% 极坐标转直角坐标
x1_1 = r1_1 .* cos(theta_1);
y1_1 = r1_1 .* sin(theta_1);
x2_1 = r2_1 .* cos(theta_1);
y2_1 = r2_1 .* sin(theta_1);

% 区间2:π/6 → 5π/6,r1在r2外侧,填充r2到r1之间的区域
theta_2 = linspace(theta_intersect1, theta_intersect2, 200);
r1_2 = 3*sin(theta_2);
r2_2 = 1 + sin(theta_2);
x1_2 = r1_2 .* cos(theta_2);
y1_2 = r1_2 .* sin(theta_2);
x2_2 = r2_2 .* cos(theta_2);
y2_2 = r2_2 .* sin(theta_2);

% 区间3:5π/6 → 2π,r2在r1外侧,填充r1到r2之间的区域
theta_3 = linspace(theta_intersect2, 2*pi, 200);
r1_3 = 3*sin(theta_3);
r2_3 = 1 + sin(theta_3);
x1_3 = r1_3 .* cos(theta_3);
y1_3 = r1_3 .* sin(theta_3);
x2_3 = r2_3 .* cos(theta_3);
y2_3 = r2_3 .* sin(theta_3);

% -------------------------- 绘制图形 --------------------------
polarplot(theta, r1, 'k', 'LineWidth', 1.5);
hold on;
polarplot(theta, r2, 'b', 'LineWidth', 1.5);

% 填充三个区间的重叠区域,设置透明度方便观察
fill([x1_1, fliplr(x2_1)], [y1_1, fliplr(y2_1)], 'r', 'FaceAlpha', 0.3);
fill([x2_2, fliplr(x1_2)], [y2_2, fliplr(y1_2)], 'r', 'FaceAlpha', 0.3);
fill([x1_3, fliplr(x2_3)], [y1_3, fliplr(y2_3)], 'r', 'FaceAlpha', 0.3);

% 配置图表元素
legend('r=3sinθ', 'r=1+sinθ', '围成区域', 'Location', 'northoutside');
title('极坐标曲线及围成区域着色');
hold off;

关键说明

  1. 交点计算:解方程3sinθ = 1+sinθ得sinθ=0.5,对应θ=π/6和5π/6,这是两条曲线的主要交点。
  2. 直角坐标转换:极坐标转直角坐标公式为x=r*cosθ、y=r*sinθ,负r值会自动对应到θ+π方向的点,无需额外处理。
  3. 区域填充逻辑:
    • 0到π/6、5π/6到2π区间:r2始终大于r1,填充r1到r2的环形区域。
    • π/6到5π/6区间:r1大于r2,填充r2到r1的环形区域。
  4. 平滑性保障:使用linspace生成足够多的采样点(如1000个),避免曲线出现锯齿。

内容的提问来源于stack exchange,提问作者confused coder

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 07:08:21