V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
eccstartup
V2EX  ›  问与答

计算机是如何表示 Python 等绘图命令的图像的?

  •  
  •   eccstartup · 2017-01-28 15:06:33 +08:00 via iPhone · 2773 次点击
    这是一个创建于 2848 天前的主题,其中的信息可能已经有所发展或是发生改变。
    一些语言有 plot 函数,执行后会在屏幕上显示一条曲线,表示函数曲线的样子。比如 matlab 或 python 语言有这些功能。
    那么,这些曲线是如何表达的?
    请教 v 友给指点下,有什么关键词或者参考资料,或是工具给推荐下。
    13 条回复    2017-02-01 20:03:28 +08:00
    learnshare
        1
    learnshare  
       2017-01-28 15:08:51 +08:00
    翻翻源码呗
    bxb100
        2
    bxb100  
       2017-01-28 15:12:10 +08:00 via Android
    图形学
    eccstartup
        3
    eccstartup  
    OP
       2017-01-28 15:12:18 +08:00 via iPhone
    @learnshare 距离读源码的水平甚远,或许理论性的东西和你容易懂,愿意试试
    canautumn
        4
    canautumn  
       2017-01-28 15:36:19 +08:00   ❤️ 1
    都是矢量图。不同的软件有不同的实现,有些甚至可以选择,比如 matplotlib 这一个 python 库,绘图的后台就可以选 qt 、 tk 、 wx 或者操作系统自己的实现比如 aqua 、 gtk (具体可能有差错,不太记得)。一些新的库则是用 HTML5 等。每一种实现具体的表达都不一样,但画出的图起来是类似的(都是矢量图)。他们一般都可以兼容导出 eps 、 svg 之类的通用格式,可以从了解这些通用格式开始。
    linhua
        5
    linhua  
       2017-01-28 19:23:34 +08:00   ❤️ 1
    图像不是存在 图像文件(bmp, jpg , png , svg 等格式)中的吗。可以是位图,也可以是矢量图。但最终绘制在显示屏上的都是以位图的形式,因为显示屏是基于像素的。 你可以当成两步,先用 matlab , python 程序生成这些 图像文件 ,然后用 图像显示软件(看图软件)来在显示屏上展示图像文件。可能 4 楼中说的 绘图的后台 就是 “看图软件”
    eccstartup
        6
    eccstartup  
    OP
       2017-01-28 20:10:11 +08:00
    @canautumn
    @linhua 我比较关心如何显示在屏幕上的问题。“看图软件”那部分
    lll9p
        7
    lll9p  
       2017-01-28 20:16:46 +08:00 via Android
    @eccstartup 每个像素给一个颜色,不就画出来了吗。
    learnshare
        8
    learnshare  
       2017-01-28 20:17:37 +08:00
    @eccstartup 矩阵嘛,(x, y, color)
    xuboying
        9
    xuboying  
       2017-01-28 20:26:41 +08:00 via Android
    贝尔赛曲线?
    misaka19000
        10
    misaka19000  
       2017-01-28 20:41:04 +08:00 via Android
    @learnshare 不太理解你想问什么,如果是为什么显示器能显示出这些东西的话,使用的是 OS 提供的接口(系统调用),更本质的就是修改显存中的数据就可以了
    canautumn
        11
    canautumn  
       2017-01-29 03:14:51 +08:00
    @eccstartup 那就 qt 、 tk 、 wx 、 aqua 、 gtk 、 HTML5 随便挑一个研究一下
    linhua
        12
    linhua  
       2017-01-29 18:49:33 +08:00
    应用最底层是使用 系统 API (绘图的 API ),可以操纵任意像素。 你可以研究一下, bmp 文件的存储格式,然后利用 Windows 的绘图 API ,将 bmp 图像文件,显示出来。 更低层的,就是 显卡驱动提供的函数,然后是 BIOS 固件提供的中断方法。 然后是 BIOS 固件提供的中断。
    siriussilen
        13
    siriussilen  
       2017-02-01 20:03:28 +08:00
    当然是调用显卡 API233333
    想起了上学期用 C 画元跑自动机的图 23333
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2811 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 02:22 · PVG 10:22 · LAX 18:22 · JFK 21:22
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.