疯狂矢量图学家

  1. 3月前

    FatFish

    1楼 4月1日 物理版主, 茶馆馆长, 优秀回答者, 十周年庆典纪念
    3月前FatFish 重新编辑

    我们都知道,在PDF中使用矢量图可以高清的呈现许多线条,由于矢量图根据位置关系现场生成,所以大图要比位图清晰许多。然而如果矢量图过于复杂,会给PDF浏览软件带来极大的负担。如果读者使用一些轻量级浏览软件,例如Chrome 或者Edge,打开复杂矢量图会被卡爆,相比之下,一些专门的PDF编辑软件表现会好很多。但是太严重了也会卡一下。

    而我这里要介绍的几篇神秘论文,作者似乎电脑和软件配置很好,因此毫不在乎的挥毫泼墨,把一些根本没必要的内容渲染成矢量图,卡爆无数无辜读者的电脑。我不知道作者是完全没有优化意识还是有意报复社会,因为这个东西按理来说就不该用矢量图画。你会怀疑自己是不是陷入了一个巨大的愚人节笑话。

    这方面最典型的一篇是 https://arxiv.org/abs/2203.11952 ,作者提出了一种新的微扰算法来计算环绕Kerr黑洞的轨道,不过这里的重点并不在于这个,而在于这篇论文打开之后往下翻翻就会把你卡爆。如果你使用的是Chrome那么基本没救了,我用的Foxit打开都要卡一下,事实上,这是因为作者莫名其妙的选取了矢量图绘制极其精美的数值计算误差曲线
    位图.png
    这些图猛一看人畜无害,但是你如果忍受卡顿随便选一张凑近了看,比如右下角那张,欣赏一下, 你就会见到的误差细节
    Detail.png

    哇,真是太高清了。

    使用PyMuPDF的 page.get_drawings() 函数,我们可以统计一下,这一页上总计出现了将近120万个矢量绘制对象(准确来说,1193007个),毫无疑问作者直接把他的数据自动导出为矢量图了,显然这不是正确展示计算误差的合理方式。

    我很惊讶于审稿人居然没劝他换张图,只能说很多科研人员的电脑配置还真不错。



    另一个没这么重量级的案例是 https://arxiv.org/abs/2509.24593 ,黑洞M87*几年内的观测变化,图上那些曲线是描绘其偏振特征:
    M87.png
    不过这里值得强调的是,后面两排全是矢量图,大家看到的曲线放大了会发现其实是用很短的折线近似出来的、灰度变化是用一个个色块拼的:
    TOO DETAIL.png
    这导致这一页足有近20万个(196886 个)矢量绘制对象,当然和前面的真正重量级比起来这个要低一个数量级。至少我能用Chrome打开,虽然很卡。
    本篇论文附录还有一位高手,各种不同算法重建的偏振对比图,大家看一眼应该可以想象到会发生什么了:
    PipLine.png

    这一页的矢量绘制对象超过26万(共计262527个 ),比正文还离谱,不过整篇论文加起来(524450 个)都没有上一篇能打,所以上一篇到底是怎么被审稿人放过的?

    考虑到黑洞摄影的大众知名度还挺高的,我以为研究组的公共宣传考虑应该更多注意到这个论文读起来容易卡死一些轻度设备,但是显然没有。可见他们默认路人不读论文,而同行的设备都和他们自己的一样好。

    ——即使如此你把这个画成矢量图也太怪了,我觉得画图的是个多种意义上的人才。

  2. 我觉得配上这个矢量图渲染,搞笑程度增加了100倍

  3. @cmdpig

    我觉得配上这个矢量图渲染,搞笑程度增加了100倍

    为什么我在论坛播放您的视频到第 4 秒就会自动暂停?

  4. @Whitesword 为什么我在论坛播放您的视频到第 4 秒就会自动暂停?

    不懂,应该是bug

  5. 京斯

    5楼 4月1日 管理员

    @Whitesword 为什么我在论坛播放您的视频到第 4 秒就会自动暂停?

    @cmdpig 不懂,应该是bug

    可以重现。
    是未知 Chrome bug,火狐无此问题

  6. Adobe Acrobat渲染时直接占了4G内存,Sumatra PDF渲染的倒是还挺快的,吃的资源也不多

  7. SpacetimeCat

    7楼 4月1日 物理版主

     /:) 很多天文学家不知道matplotlib的plot画出来的是矢量对象

  8. SpacetimeCat

    8楼 4月1日 物理版主

    @cmdpig

    我觉得配上这个矢量图渲染,搞笑程度增加了100倍

    什么魔法少女变身动画

  9. 月之寂寥

    9楼 4月3日 十周年庆典纪念
    3月前月之寂寥 重新编辑

    我曾经习惯于导出.svg插图,但后来发现有些图元导出.svg有bug,甚至某些文档编辑软件不支持导入.svg,于是就没有坚持了,可以说差点成了疯狂矢量图学家。另外,在这里讨论一下大家的出图标准,格式、DPI啥的,或许很有益处。

  10. lh1962

    10楼 4月7日 优秀回答者

    我最早尝试用Mma给论文画图的时候意识到了这个问题,默认生成的二维密度图导出后体积巨大。后面发现有人在网上给出了一个解决方案,可以将密度分布本身压缩成标量图,同时保留坐标轴、图示等等其他矢量信息,后面就一直用的这个自定义函数。

    https://pages.uoregon.edu/noeckel/computernotes/Mathematica/rasterDensityPlots.html

  11. 我一般截一遍图再往文章里插

 

后才能发言