

























以前曾经在数学纪录片《维度-数学漫步》中,听数学大神解释说复数的作用,可以引起图像的缩放和旋转,感觉挺神奇,一直想用代码实现,今天借助 KIMI 算是完成了心愿了。
交互式教学演示:把每个像素坐标 $(x, y)$ 看作复数 $z$ $=$ $x$ $+$ $yi$,乘以复数 $c$ $=$ $a$ $+$ $bi$,实时观察变换效果
$z$ $\times$ $c$ $=$ $(x + yi)$ $\times$ $(a + bi)$ $=$ $(xa - yb)$ $+$ $(xb + ya)i$
几何意义:旋转 $|c|$ 的幅角角度,缩放 $|c|$ 的模长倍数 | 极坐标:$c$ $=$ $|c|$ $\cdot$ $e^{i\theta}$
极坐标形式
$1.00 · e^{i·45.0°}$
当前状态:复数 $c$ $=$ $0.71$ $+$ $0.71i$,模长 $|c|$ $\approx$ 1.00,幅角 $\arg(c)$ $\approx$ 45°。
每个像素点绕图像中心逆时针旋转约 45°,缩放倍数约 1.00 倍(基本不变形)。
试试拖动滑块或点击预设按钮,观察不同复数带来的旋转和缩放效果!
把像素坐标 $(x, y)$ 看作复数 $z$ $=$ $x$ $+$ $yi$,乘以另一个复数 $c$ $=$ $a$ $+$ $bi$:
$z$ $\times$ $c$ $=$ $(x + yi)$ $\times$ $(a + bi)$ $=$ $\mathbf{(xa - yb)}$ $+$ $\mathbf{(xb + ya)}$$i$
新坐标的实部 $xa-yb$ 和虚部 $xb+ya$ 正好对应二维旋转矩阵的运算!
用极坐标看更直观:若 $c$ $=$ $|c|$ $\cdot$ $e^{i\theta}$,则:
所以复数乘法天然携带旋转基因——这是欧拉公式 $e^{i\theta}$ $=$ $\cos\theta$ $+$ $i\sin\theta$ 的馈赠。
| 按钮 | 复数 $c$ | 模长 $|c|$ | 幅角 | 效果 |
|---|---|---|---|---|
| $\times$1 | $1 + 0i$ | 1.00 | 0° | 完全不变 |
| $\times$i | $0 + 1i$ | 1.00 | 90° | 逆时针转 90° |
| $\times$(−1) | $-1 + 0i$ | 1.00 | 180° | 上下左右全颠倒 |
| $\times$(−i) | $0 - 1i$ | 1.00 | −90° | 顺时针转 90° |
| $\times$$e^{i\frac{\pi}{4}}$ | $0.707$ $+$ $0.707i$ | 1.00 | 45° | 转 45°,大小不变 |
| $\times$1.5 | $1.5 + 0i$ | 1.50 | 0° | 放大 1.5 倍 |
| $\times$$e^{i\frac{\pi}{3}}$ | $0.5 + 0.866i$ | 1.00 | 60° | 转 60°,大小不变 |
| $\times$$e^{i\frac{3\pi}{4}}$ | $-0.707 + 0.707i$ | 1.00 | 135° | 转 135°,大小不变 |
💡 关键观察:只要 $a^2$ $+$ $b^2$ $=$ $1$(模长为 $1$),就只有纯旋转,不会缩放变形。
网上说的"图片乘以复数",通常指频域操作:
本质上是同一套数学:复数乘法 = 旋转(改相位)+ 缩放(改幅度)
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。