eccstartup
V2EX  ›  问与答

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

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