|
89 / 89 / 20
Регистрация: 19.02.2010
Сообщений: 966
|
|
Рисовать график05.12.2015, 08:17. Показов 2115. Ответов 10
Метки нет (Все метки)
Здравствуйте, форумчане!
направьте пожалуйста в правильную сторону а то уже несколько дней ломаю голову но не совсем получается... интересует такой вопрос: как можно построит/рисовать нижеприведенный график? если можно поконкретнее. З.Ы. все точки/координаты вычисляется по формулам... заранее спасибо.
0
|
|
| 05.12.2015, 08:17 | |
|
Ответы с готовыми решениями:
10
Рисовать на канве в NetBeans Рисовать при зажатии мыши Класс с помощью которого можно рисовать прямоугольники |
|
89 / 89 / 20
Регистрация: 19.02.2010
Сообщений: 966
|
|
| 05.12.2015, 19:22 [ТС] | |
|
никаких предложений?
0
|
|
|
62 / 44 / 14
Регистрация: 01.07.2009
Сообщений: 145
|
|
| 07.12.2015, 09:36 | |
|
Предлагаю переопределить JPanel, и затем в методе paintComponent(Graphics g) рисовать все что необходимо.
Пример: http://docs.oracle.com/javase/... step3.html
0
|
|
|
89 / 89 / 20
Регистрация: 19.02.2010
Сообщений: 966
|
|
| 07.12.2015, 16:08 [ТС] | |
|
FireOwl, ооо наконец то Спасибо за отклик.
можете подсказать как правильно представить данные чтоб потом из этих смог построит такой график, пока думаю создать матрицу в котором будут хранятся все координаты точек (но не совсем представляю... ), при этом все точки находиться по определенным формулам, которые включают в себе углы поворота и т.д.
0
|
|
|
62 / 44 / 14
Регистрация: 01.07.2009
Сообщений: 145
|
|
| 07.12.2015, 16:19 | |
|
Традиционно - да, точки хранятся в массиве.
Пробегает один цикл вычислений, рассчитывает координаты всех точек на графике, и пишет в массив. Далее вызывается метод repaint() на JPanel, чтобы отрисовать контент. А метод paintComponent() рисует по массиву точек линии и кружки.
0
|
|
|
89 / 89 / 20
Регистрация: 19.02.2010
Сообщений: 966
|
|
| 07.12.2015, 16:27 [ТС] | |
|
FireOwl, думаю до рисование ещё далеко... можете прояснить какой же массив должен использовать? вроде традиционный массив m:n тут не получится или я ошибаюсь?
0
|
|
|
62 / 44 / 14
Регистрация: 01.07.2009
Сообщений: 145
|
|
| 07.12.2015, 16:41 | |
|
Я не знаю какие именно графики вы будете строить, а с такими сетками как на скриншоте вообще на практике не сталкивался.
Поэтому надо поэкспериментировать. Сами точки можно хранить в классе типа Point. Написать самому, или взять например этот: Point2d.Double. Для линейного графика вполне подойдет обычный одномерный массив. Если есть возможность рассчитать заранее число точек на ломаной графика. Если число точек неизвестно - возьмите ArrayList. Сетчатый график можно скорее всего представить как двухмерный массив. Тут надо подумать уже исходя из условия задачи.
0
|
|
|
89 / 89 / 20
Регистрация: 19.02.2010
Сообщений: 966
|
|
| 07.12.2015, 16:46 [ТС] | |
|
FireOwl, я должен построит именно такой график, можно сказать этот график специфический т.к. касается к ж.д. транспорту тут график показывает нагрузку поезда на грунт...
З.Ы. если есть время и возможность можете проконсультировать?
0
|
|
|
62 / 44 / 14
Регистрация: 01.07.2009
Сообщений: 145
|
|
| 07.12.2015, 17:17 | |
|
Сетка на рисунке имеет прямоугольные ячейки. Если мысленно "разъединить" вертикальные оси сходящиеся в точке [0, 0], то получится относительно правильная сетка с неполными рядами ("треугольной" формы).
Я бы наверное отталкивался от этого. Двухмерные Java-массивы позволяют хранить "ступенчатые" ряды, отличающиеся длиной друг от друга. Либо можно построить стандартный прямоугольный массив, а "недостающие" точки заполнить null. P.S. Времени и возможности, к сожалению, только на общение в формате форума.
0
|
|
|
89 / 89 / 20
Регистрация: 19.02.2010
Сообщений: 966
|
|
| 07.12.2015, 19:01 [ТС] | |
|
0
|
|
|
62 / 44 / 14
Регистрация: 01.07.2009
Сообщений: 145
|
|
| 07.12.2015, 23:39 | |
|
Это особенность реализации многомерных массивов в Java.
http://life-prog.ru/view_zam.p... t=4&page=1 Массив в Java - это объект. Многомерный массив - это массив массивов. И никакой механизм не принуждает программиста выравнивать элементы массива по длине. Т.е. вложенные массивы могут быть произвольного размера.
0
|
|
| 07.12.2015, 23:39 | |
|
Помогаю со студенческими работами здесь
11
Как добавить JPanel к JFrame и рисовать на нем рисовать фигуры?
Рисовать график в реальном времени Как в Chart-е рисовать 3D график? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2.
Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
|
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
|
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
|
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2.
Данный документ берёт данные из другого нетипового документа. . .
|
|
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
|
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: реализовать программный контроль на предмет проведения документа. . .
|
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача:
1. Реализовать контроль заполнения реквизита. . .
|
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение:
DISM / Online / Add-Capability / CapabilityName:WMIC~~~~
Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
|