LINUX.ORG.RU
ФорумTalks

Графики функций для консоли (ASCII art)

 , , , ,


0

2

Lightweight terminal-based mathematical function plotter.

Termplot supports vim-like commands, so you can type

:plot sin(x^2)

And it will work. Termplot can also plot implicit functions, like

:plot x^2+y^2 = 1

В зависимостях — termbox (или ncurses)

Скриншот есть по ссылке

https://github.com/gciruelos/termplot

P.S. Мопед не мой.

★★★★★

Последнее исправление: greenman (всего исправлений: 5)

CRT в BP был лучше :(

grem ★★★★★
()
Ответ на: комментарий от greenman

Будет кошерная векторная графика. Если хочешь ascii, то:

set term dumb
beastie ★★★★★
()

Знатный упорин. Когда сделают чтение из stdin, попробую по фану использовать в ряде случаев вместо matplotlib. :-)

Axon ★★★★★
()

vim-like

ex-like

а так норм выглядит

f1u77y ★★★★
()

Ты не поверишь, но когда-то у Matlab были версии для DOS, и в них можно было рисовать графики в ASCII-art. Что-то около середины 80-х.

i-rinat ★★★★★
()

Неплохо, но проще так:

> cat sing.c
#include <curses.h>
#include <math.h>

int main(){
        int i;
        float x;
        initscr();
        noecho();
        for(i = 0; i < COLS; i++) mvaddch(LINES/2, i, '-');
        for(i = 0; i < LINES; i++) mvaddch(i, COLS/2, '|');
        mvaddch(LINES/2, COLS/2, '+');
        mvaddch(0, COLS/2, '^');
        mvaddch(LINES/2, COLS - 1, '>');
        for(x = 0; x < COLS; x++) mvaddch(LINES/2 - sin((x - COLS/2) * 6 / LINES) * LINES/6, x, '.');
        refresh();
        getch();
        endwin();
        return 0;
}
> cat spiralg.c
#include <curses.h>
#include <math.h>

int main(){
        int i;
        float t;
        initscr();
        noecho();
        for(i = 0; i < COLS; i++) mvaddch(LINES/2, i, '-');
        for(i = 0; i < LINES; i++) mvaddch(i, COLS/2, '|');
        mvaddch(LINES/2, COLS/2, '+');
        mvaddch(0, COLS/2, '^');
        mvaddch(LINES/2, COLS - 1, '>');
        for(t = 0; t < 500; t += 0.01) mvaddch(LINES/2 - t * sin(t), COLS/2 + t * cos(t), '.');
        refresh();
        getch();
        endwin();
        return 0;
}

saahriktu ★★★★★
()

Это какое-то нищебродство.

bbk123 ★★★★★
()
13 августа 2017 г.
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.