Как сделать программу, быстро выводящую графики?

avatar denton

592

12

denton

Пользователь

Регистрация: 31.10.2017

Сообщения: 21954

Рейтинг: 7023

Нарушения: 1000

denton

Регистрация: 31.10.2017

Сообщения: 21954

Рейтинг: 7023

Нарушения: 1000

img

График в миллион точек. Массив миллион значений.

vahantov

Пользователь

Регистрация: 31.03.2015

Сообщения: 115

Рейтинг: 38

vahantov

Регистрация: 31.03.2015

Сообщения: 115

Рейтинг: 38

Используй python и библиотеки numpy + mapplotlib. Хватит с головой.

SSLPWNZ

Пользователь

Регистрация: 17.01.2019

Сообщения: 220

Рейтинг: 34

Нарушения: 1000

SSLPWNZ

Регистрация: 17.01.2019

Сообщения: 220

Рейтинг: 34

Нарушения: 1000

тебя в гугл забанили?


напиши язык программирования хотя бы

denton

Пользователь

Регистрация: 31.10.2017

Сообщения: 21954

Рейтинг: 7023

Нарушения: 1000

denton

Регистрация: 31.10.2017

Сообщения: 21954

Рейтинг: 7023

Нарушения: 1000

img
SSLPWNZ сказал(а):

тебя в гугл забанили?


напиши язык программирования хотя бы

Нажмите, чтобы раскрыть...

Питон, либо свой по желанию.

Главное, хочу узнать, есть ли способ сделать так, чтобы работало максимально быстро.

SSLPWNZ

Пользователь

Регистрация: 17.01.2019

Сообщения: 220

Рейтинг: 34

Нарушения: 1000

SSLPWNZ

Регистрация: 17.01.2019

Сообщения: 220

Рейтинг: 34

Нарушения: 1000

все будет сильно зависеть от языка и реализации, например

Массив - это совокупность однотипных данных, расположенных непрерывно в памяти. Доступ к элементу осуществляется по индексу заO(1)- мы обращаемся непосредственно к нужному участку памяти.


Например в некоторых языках массивы хранятся в оперативке, думаю не стоит говорить про тормоза от 100кк записейRaphiOhMy.png Поэтому для таких реализации лучше лист, и библиотеки с поддержкой листа

Lambda-chan

Пользователь

Регистрация: 26.07.2012

Сообщения: 4613

Рейтинг: 8626

Lambda-chan

Регистрация: 26.07.2012

Сообщения: 4613

Рейтинг: 8626

На opengl будет быстро и приемлимо по сложности написания

Berglol

Пользователь

Регистрация: 20.09.2013

Сообщения: 934

Рейтинг: 1737

Berglol

Регистрация: 20.09.2013

Сообщения: 934

Рейтинг: 1737

SSLPWNZ сказал(а):

Например в некоторых языках массивы хранятся в оперативке

Нажмите, чтобы раскрыть...

а в остальных где? я просто не разбираюсь, но мне очень интересно

Trinarium

Пользователь

Регистрация: 14.02.2016

Сообщения: 3412

Рейтинг: 2734

Trinarium

Регистрация: 14.02.2016

Сообщения: 3412

Рейтинг: 2734

Mooneater сказал(а):

На opengl будет быстро и приемлимо по сложности написания

Нажмите, чтобы раскрыть...

опенгл это же в играх,как директ икс и вулкан

FreeM@n

Пользователь

Регистрация: 06.03.2013

Сообщения: 2034

Рейтинг: 4287

FreeM@n

Регистрация: 06.03.2013

Сообщения: 2034

Рейтинг: 4287

Berglol сказал(а):

а в остальных где? я просто не разбираюсь, но мне очень интересно

Нажмите, чтобы раскрыть...

А в остальных наверное по умолчанию сериализуются и сторятся в файловой системе Ye.gif?1542825806

Lambda-chan

Пользователь

Регистрация: 26.07.2012

Сообщения: 4613

Рейтинг: 8626

Lambda-chan

Регистрация: 26.07.2012

Сообщения: 4613

Рейтинг: 8626

Trinarium сказал(а):

опенгл это же в играх,как директ икс и вулкан

Нажмите, чтобы раскрыть...

Ну да, и раз даже игры делают, то просто точки нарисовать не должно быть большой проблемой

saw_tooth

Пользователь

Регистрация: 20.08.2013

Сообщения: 5550

Рейтинг: 3287

saw_tooth

Регистрация: 20.08.2013

Сообщения: 5550

Рейтинг: 3287

denton сказал(а):

График в миллион точек. Массив миллион значений.

Нажмите, чтобы раскрыть...
denton сказал(а):

чтобы работало максимально быстро

Нажмите, чтобы раскрыть...

Никто в здарвом уме этого делать не будет. Потому что...

Ширина адекватного екрана 4096 точек, при условии что у тебя функция прямоугольная синусоида(наихудший вариант), необходимо иметь один пиксель между екстремумом графика, то есть точек уже статовится в два раза меньше 2048.
тогда размах по ширине для каждого екстремума составит 1000000 / 2048 ~ 490 точек, то есть при прочих равных из графика ты получишь просто прямоугоьную область 4096 Х 490, что графиком назвать как то сложно, естественно при огромных значениях производной применяют простую аппроксимацию на отрезках, при этом ты получаешь хорошую точность, которую можно увеличить, просто на нужном отрезке подставив нужный для точности полином, хотя очень часто даже метода наименьших квадратов хватает.

T1eru

Пользователь

Регистрация: 08.11.2012

Сообщения: 9392

Рейтинг: 5762

T1eru

Регистрация: 08.11.2012

Сообщения: 9392

Рейтинг: 5762

1С быстро графики выводит

CryOmega

Пользователь

Регистрация: 22.06.2020

Сообщения: 183

Рейтинг: 80

CryOmega

Регистрация: 22.06.2020

Сообщения: 183

Рейтинг: 80

img

matlab PepeRofl.png