鱼眼是拓扑 (并不是)
About and 免责声明
俺, 文盲, 在脑子不太清醒的时候想到了这么个有趣的标题, 不能给浪费了. 绝对不能保证这玩意是否正确合理. 就当是一个蹭热点一样的东西吧.
您就当我在这个故事里面讲的都是在胡说八道吧. (一个是懒得佐证, 一个是懒得查资料, 总之就是不如瞎掰, 嗯, 毫无科学精神.)
嗯, 并且除了胡说八道, 还有牵强附会, 逻辑混乱, 证明不清, 嘶…
所以最好的阅读心态估计就是把这篇文章当作是一个异世界轻小说来看估计也挺好.
一个比较好玩的故事
关于这些, 有些时候感觉学啥要看你去做啥, 一个从室友哪里听来的 \(N\) 手教训: 某学长因为学了一大堆非常高深的理论, 结果最后去做电池了.
但是你要说真的没有用吗? 欧阳钟灿院士给我们上课的时候就说, 因为自己学过相对论, 会用指标和解变分方程, 于是就可以给出红细胞的解析解 (\(\sqrt{2}\), 或者说那个凹下去的形状).
(讲真, 这个是真的牛)
静物素描, 散点透视和全景照片
虽然我没有学过素描, 但是没吃过猪肉, 还没见过猪跑吗 (没准)?
那么假设现在你在画素描, 嗯, 情景扮演一下: 你坐在一个还算比较干净的房间里面, 假如忽略一堆也不算整洁的画材的话, 房间里面就之后你一人, 一个画架, 和一个静物, (没准静物是个人体模特之类的, 当然, 如果很穷的话, 估计是一张照片).
这个时候相当于是在一个固定的视角下去观察一个对象. 你所做的事情相当于是尽可能地将你所看见的东西渲染到一张二维平面的画布上.
这种方法的一个典型的表现就是以 DOOM 为代表的一些早期的 FPS 游戏:
(图片来源于: ssloy/tinyraycaster)
这样的做法其实只是一种非常取巧的渲染方法, 这样的渲染方法有点像是早期人类对光的认识, 认为光是眼睛发出来的像是探针或是触角一样向外探知.
或者用一个非常有趣的说法就是, 道理我都懂, 但是为什么 XXX 会这么大, 近大远小.
虚空画
俺对艺术史没啥了解, 也不知道啥时候看到了类似的一个视频, 现在想引用也找不到来源. 那么就姑且听我胡诌一通吧:
在 17 世纪荷兰的 “大航海时代” (不是海贼王的那个), 说得俗一点就是, 大家突然有钱了, 就像是我们这里的土老板有钱了之后就会去追求一些比较 “高雅” 的东西一样, 在当时的荷兰, 大家就喜欢买画.
大航海时代带来的除了钱, 还有许多异国他乡的奇珍怪物. 但是正如肝帝收集了一堆东西, 在收集的最终是无尽的空虚, 荷兰人大概也有这种除了钱啥也没有的 “空虚感”. 于是就有了一种比较 “摆烂” 的虚空画:
画面中虽然是那种非常满满当当的, 及其精致, 巨无比精细的静物, 但是往往会摆一个骷髅, 或者是苍蝇, 老鼠, 或者会是一个比较 やばい 的一个前夕 (水瓶即将倾覆, 繁花貌似依旧, 猫咪惊恐, 一切不过定格此刻).
不论如何, 最终都像是一种给人溺水身亡的诡谲的感觉.
有钱人的快乐, 我也不是不想体会一下, 但是能不能先让我体会一下有钱 (bushi)
其中有一个画家就是卖得很好, 甚至都是预约一年也预约不到的大佬. (忘了叫啥了)
当然, 除了他很抢手, 还有一个原因就是他的画面内容是需要收集一年四季的水果花卉, 然后照着画 (bushi). 这里就和普通的静物速写有了一些稍微不同的区别, 因为这个时候的静物实际上如何摆放, 如何布局已经是一个类似于人为渲染的过程了.
但是如果突然之间, 你从这个干净的画室里面被丢了出去, 然后被拉到大街上, 或者是被拉到一个行进的小货车上: 人挤人, 没有空调, 空气有些酸臭. 外面是一个变换的街景, 柳树吧, 长在水沟上, 那啥灰绿的瓦草, 黏附在被雨水冲刷得花白的瓦片上, 哦, 门栏上有副对联…
这个时候, 和在素描里面不同的是, 你是在许多不同的机位去观察一个被绘画对象. 这个时候就有点像是线扫描的摄影机 (线阵相机:原理,技术及应用), 就像是多张图被拼接在一起.
当然, 在纵深上的关系虽然也有类似于近大远小, 前后遮挡的感觉, 不过这样的感觉更像是类似于纸雕灯一样的层次感 (纸片人 bushi), 而没有像是素描里面的因为透视产生的侧面的立体感这样的感觉.
(图片来源: Looking at Chinese Landscape Painting)
千里江山图
传说 (至少是我听到的版本 & 我记得的版本), 王希孟接了皇帝甲方的要求, 然后去看了山水几个月画出来了这副画.
如果去看一下这幅画的话, 就会发现这幅画不论从什么地方看, 都会有一种这就是中心的感觉. (不知道这说得对不对), 或者说, 没有像是素描透视一样的视线中心的消失点.
这里就不妨发挥一下 “俺寻思之力”, 来猜测一下为什么古代人会有这样的绘画的选择.
(注: 写这一部分的时候是真的懒得查资料了, 完全真的是胡诌, 我自己都不信的那种, 总之就是写着口嗨用的)
假如去找一些中世纪的壁画, 至少俺寻思在透视上的做法和中国画是差不多的一个感觉: 都类似于是一种较为平面, 没有很明确的透视感觉的绘画.
这是一个什么感觉呢? 就好像绘画是符号概念的堆积, 比如说在这个地方需要画一个人,
那么这个人是啥并不重要, 总之他是个人样. (毕竟中世纪的画家可没真见过上帝,
他们可不可能照着上帝来画, 草, 怎么有一种地狱笑话的感觉; 而中国古代的文人,
也应该并不太能在室外写生, 或者是捉着一只小鸟把它们定住不动来画画, 就是画人,
也不见得能让那个人坐着不动来写生)
那么在这种近乎于符号抽象的感觉, 加上绘画技术的限制, 也许就这样形成了如此的风格吧.
那么是啥使得两种的风格形成了区分呢? 我觉得可能是因为多了那么一个 “照着画” 的过程, 不是有那个达芬奇画蛋的寓言小故事么 (不过可能拿达芬奇收集头骨画解剖学估计会更好).
乐, 有一种经济基础决定上层建筑的感觉了, 因为有钱 (资本), 所以可以开始有一间画室, 有画得像的需求 (需要记录下自己这个个体的更加精细的信息而不只是人这个符号), 于是才需要观察和临摹, 从而最终产生观察临摹相关的理论. (大概? )
而和这种视角不同的绘画方法有点类似但是稍微有点区别的估计就是全景照片了 – 前者是同一个观察角度, 但是观察的位置稍微有点不同; 而后者则是同一个观察位置, 不同的观察角度 (这里指的是旋转摄影设备得到的全景照片).
全景照片和鱼眼
全景照片和散点透视的中国画不同的地方在于, (俺寻思), 山水长卷的展开就像是人走在山中, 随着行走, 看到的角度不同, 景物和观察者的远近距离是差不多的; 而鱼眼的效果, 有点类似于人站在原地, 但是只能通过转动眼珠来尽可能地去观察四周 – 越靠近边缘的地方越难以被观察到, 或者说, 有更大的畸变, 就像是被压缩了一样.
其实说压缩也没啥问题, 因为假如是目视前方的一条平行线, 在边缘的地方距离更远:
DEMO
一段 MMA 代码的演示:
Manipulate[Graphics[{
{ Thick, Dashed, Gray,
Line[{ {-1, 0}, {1, 0} }]},
{ Orange, PointSize[0.05],
Point[{Tan[t], 0}],
Text["Object", {Tan[t], -0.1}] },
{ Black,
Point[{0, 1}],
Text["Viewer", {0, 1.1}] },
{ Gray, Arrowheads[{-.02, 0.02}],
Arrow[{ {Tan[t], 0}, {0, 1} }],
Text["distance: " <> ToString[N[1/Cos[t]]], {Tan[t]/2, 1/2}] }
}], {t, -Pi/4, Pi/4}]
并且除了因为距离变远导致看到的物体变小, 因为距离变远导致看到的内容变多, 就好像是画面在变远有了一个奇怪的 “膨胀”, 但是这个膨胀也仅仅只是被限制在一个比较狭小的空间里面.
鱼眼和映射关系
上面的操作类似于把 \(\mathbb{R}^1\) 映射到了 \((- \frac{π}{2}, \frac{π}{2})\) 上头. 很自然就会想到把它拓展到 \(\mathbb{R}^2\) 上, 类似于在复变函数里面的那个球.
其他的一些映射方法
emmm, 其实也不是不能用别的映射方法, 比如将 \(\mathbb{R}^1\) 和 \(S^1\) 做映射, 总之搞数学的应该对这个比较了解. 把 \(\mathbb{R}^2\) 和 \(S^2\) 做映射.
但是问题来了, 我们虽然做了映射, 但是该如何把它再投到纸上呢? 卧槽, 年轻人, 这是个好问题啊! 做世界地图的人也这么想, 只不过和那帮大佬担心的如何不畸变不同, 在绘制鱼眼效果的时候, 咱要的就是一个畸变 – 欸, 这就是一个地地地道.
可以参考: 截取游戏3D模型并导入Mathematica (zhihu), 更多可以参考 Mathematica 里面的:
Texture
, TextureCoordinateFunction
之类的.
那么画画的事情呢, 怎么画画呢?
淦, 本来这个应该是写来作为社团活动的一个绘画小教程, 中间不知不觉就写成了一个偏见, 幻想, 废话的集合体.
所以画画, 那么就在社团活动上慢慢画吧, 嗯, 烂尾, 启动!