Русскоязычный форум закрыт из-за отсутствия активности (доступен только для чтения).
Пожалуйста, пользуйтесь англоязычной его версией. Приносим извинения за неудобства
Добро пожаловать, Гость! Чтобы использовать все возможности Вход. Новые регистрации запрещены.

Уведомление

Icon
Error

Вход


Опции
К последнему сообщению К первому непрочитанному
Offline уни  
#1 Оставлено : 24 октября 2010 г. 15:06:48(UTC)
уни


Статус: Advanced Member

Группы: Registered
Зарегистрирован: 02.06.2009(UTC)
Сообщений: 346
Мужчина
Российская Федерация

Сказал «Спасибо»: 50 раз
Поблагодарили: 156 раз в 105 постах
Чтобы не придумывать как в Mathcad'е различного рода ухищрения для отображения различной информации на графиках, я бы предложил сделать отдельный движок для работы с геометрическими примитивами. Что это означает. Нужно в программе как-то выделять работу с числами отдельно от работы с такими примитивами и ввести типизацию объектов.

Например: выделить отдельно работу с примитивами: точка, многорезок (полилиния) и многогранник. Эти понятия включены друг в друга. Операции с такими объектами нужно переопределить, допустим, при объединении точек получается многорезок, при объединении многорезков - их облако (множество).

точка - вектор координат;
отрезок - это многорезок с двумя точками;
сумма отрезков - это множество из отрезков;
...
должны быть определены такие операции как поворот, сдвиг и масштабирование более простым способом, чем умножение на соотв-щие матрицы, т.е. скрыт тривиальный код геометрических преобразований.

Всё это бы хотелось иметь управляемым, т.е. инструментарий программы должен позволять несложно работать с множествами геометрических примитивов как целым, так и поэлементно. Mathcad не имел таких возможностей.

Когда мы работаем с файлами, мы уже давно не работаем с отдельными байтами, а с целыми структурами и объектами, всё же остальное скрыто в методах чтения, записи и навигации, так и математическая программа должна уже вырасти из простой манипуляции числами, а делать вещи, которые подразумеваются под этими манипуляциями.
Россия навсегда!
Вячеслав Мезенцев
thanks 1 пользователь поблагодарил уни за этот пост.
Ber7 оставлено 30.11.2010(UTC)

Wanna join the discussion?! Login to your Форум проекта SMath forum account. Новые регистрации запрещены.

Offline уни  
#2 Оставлено : 29 октября 2010 г. 17:48:27(UTC)
уни


Статус: Advanced Member

Группы: Registered
Зарегистрирован: 02.06.2009(UTC)
Сообщений: 346
Мужчина
Российская Федерация

Сказал «Спасибо»: 50 раз
Поблагодарили: 156 раз в 105 постах
Для начала можно было бы сделать вот такое. Если 2D компоненту на вход подаётся вектор из вложенных в него матриц, то интерпретировать это как коллекцию линий и отрисовывать каждую линию отдельно от других. Допустим, вот так:
mat(mat(0;0;1;1;2;2);mat(0;0;2;2;2;2);mat(0;0;3;3;2;2);3;1) - это три отдельных отрезка.

То же самое и для 3D, только там три числа для точки.
mat(mat(0;0;0;1;1;1;2;3);mat(0;0;0;2;2;2;2;3);mat(0;0;0;3;3;3;2;3);3;1)

Длина вложенных матриц может быть произвольной - это полилиния (многорезок).

Отредактировано пользователем 29 октября 2010 г. 17:50:49(UTC)  | Причина: Не указана

Россия навсегда!
Вячеслав Мезенцев
Offline уни  
#3 Оставлено : 29 ноября 2010 г. 20:27:32(UTC)
уни


Статус: Advanced Member

Группы: Registered
Зарегистрирован: 02.06.2009(UTC)
Сообщений: 346
Мужчина
Российская Федерация

Сказал «Спасибо»: 50 раз
Поблагодарили: 156 раз в 105 постах
По поводу универсальности графического движка для отображения картинок в 2D. Я понял теперь, что я сам имел в виду. Почитайте описание векторных языков:
Что такое Postscript и PCL?

Postscript для векторной картинки - это тоже самое, что ОПЗ для математического выражения. Если компонент для отображения графики написать как драйвер Postscript, возможности по отображения графики могут быть просто безграничны, т.е. зависеть от его сложности и мощности процессора. Можно начать с чего-нить по проще, например, HPGL, только конвертирование делать "на лету". Имея такой "движок" для рисования 2D изображений, наращивать функционал в программе, т.е. посредников в виде функций, будет гораздо проще.

Всегда приятней отталкиваться от чего-то уже готового, т.е. от стандарта. Внутри программы посчитанное векторное графическое изображение можно хранить как "текст" на языке ps, pcl, hpgl.

П.С. Хотя создание картинки с такого языка вроде дело не быстрое, но для простых геометрических примитивов, думается мне, можно будет реализовать это дело в реальном времени. Основная мысль - универсальный подход к описанию объектов, т.е. не изобретать велосипед. Тогда, возможно, будет проще разрабатывать функции, типы или структуры для работы с такими данными.

Отредактировано пользователем 29 ноября 2010 г. 20:36:46(UTC)  | Причина: Не указана

Россия навсегда!
Вячеслав Мезенцев
thanks 1 пользователь поблагодарил уни за этот пост.
zhuk оставлено 02.12.2010(UTC)
Пользователи, просматривающие эту тему
Guest
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.