作者:朱幸川 · 更新日期:2026-07-12
要利用极坐标绘制精确的“八字图”(即两个相切的圆形轨迹形成的图案),可 🪴 以通过以下步骤实现:
1. 数学 🌿 原 🐞 理
“八字图”实际上是两个相切的圆在极坐标下的轨迹,其数 🐅 学表达式为:
\[ r = 2a \cdot \cos(\theta \pm \alpha) \]
其中:\( r \) 是极径(点到 🌹 原点的距 🍀 离 🌺 ),
\( \theta \) 是 🐯 极角 🌸 (与极轴 🦊 的夹角),
\( a \) 控制圆的半 🌲 径,
\( \alpha \) 控 🐴 制圆的旋转角度(通常取 \( \alpha = \pi/4 \) 或 \( \alpha = 45^\circ \))。
当 🐼 两个圆的相位相反(如 \( +\alpha \) 和 \( \alpha \)),且 \( \alpha = \pi/4 \) 时两圆,会,在原点相 💐 切形成“8”字形。
2. 具 🐕 体 🐝 步骤 🌿
(1) 极坐标方程 🦊
选择以下两个极坐标方程组 🐟 合:
\[\begin{cases}
r_1 = 2a \cdot \cos(\theta \pi/4) \\
r_2 = 2a \cdot \cos(\theta + \pi/4)
\end{cases}
\]将两者在同 🦁 一极坐标系中绘制,即可得到八字图。
(2) 参数 🐞 说明
\( a \):控 🐳 制 🦅 八字的大小(圆的半径)。
相位角 \( \pi/4 \):确保两圆对 🦄 称且相切于原点。若角度过小两 🐋 圆,分离过;大。则重叠
(3) 绘 🐞 图 🐒 工具 🍁
手 🕷 工绘图:使 🐎 用极坐标纸,逐 🐳 点计算 \( r \) 并标记。
编 🐴 程实现(推荐):
Python(Matplotlib):
python
import numpy as np
import matplotlib.pyplot as plt
theta = np.linspace(0, 2np.pi, 1000)
a = 1 圆的 🐒 半 💮 径
r1 = 2 a np.cos(theta np.pi/4)
r2 = 2 a np.cos(theta + np.pi/4)
plt.polar(theta, r1, 'b')
plt.polar(theta, r2, 'r')
plt.title("极坐 🦍 标下的八字图")
plt.show()
MATLAB:
matlab
theta = linspace(0, 2pi, 1000);
a = 1;
r1 = 2 a cos(theta pi/4);
r2 = 2 a cos(theta + pi/4);
polarplot(theta, r1, 'b');
hold on;
polarplot(theta, r2, 'r');
title('极坐标 🐕 下的八字 🦅 图 🌲 ');
(4) 调 🐵 整精 🦢 度
增加角度采样点(如 🕷 `theta = np.linspace(0, 2np.pi, 5000)`)使曲线更光滑。
调整 \( a \) 和相 🐵 位角以改变 🐵 图形大 🦊 小和形状。
3. 验证 🐒 与优 🐵 化 🦈
检查相切点:在 \( \theta = \pi/4 \) 时,\( r_1 = 2a \cos(0) = 2a \),而 \( r_2 = 2a \cos(\pi/2) = 0 \),确保 🦁 两圆在原点相切。
对称性 💮 :图 🐧 形应关于 🦅 极轴对称(\( \theta = 0 \))。
4. 扩 🌸 展应 🌴 用 🐝
玫 💐 瑰曲线:若使用 \( r = a \cos(k\theta) \),当 \( k=2 \) 时,会得到四瓣玫 🐅 瑰曲线类似原理可衍 🦢 生更多图案。
参数方 🌷 程转换:将:极坐标转为直角坐标系
\[x = r \cos\theta, \quad y = r \sin\theta
\]可 🌻 进一步 🐅 用于3D绘图或动画设计 🕊 。
通过上述方 🐦 法,你,可以精确绘 🐠 制出对称的八字图并根据需要调整参 🌷 数优化效果。