Волошинов Денис Вячеславович


Фото

Город: Санкт-Петербург
Организация: Санкт-Петербургский государственный университет телекоммуникаций им. проф. М.А.Бонч-Бруевича
Ссылка на публикации в предыдущих конференциях КГП

Список опубликованных докладов:

Список комментариев:

АВТОМАТИЗАЦИЯ ПРОЕКТИРОВАНИЯ ПОВЕРХНОСТЕЙ НА ОСНОВЕ КОНСТРУКТИВНЫХ ГЕОМЕТРИЧЕСКИХ МОДЕЛЕЙ, Волошинов Денис Вячеславович, Казначеева Екатерина Сергеевна , Хайбрахманова Екатерина Сергеевна
(30 марта 2017 г. 11:48)

Здравствуйте, Алексей Александрович! Благодарю Вас за комментарий и высокую оценку статей!

Хочу в своем ответе дать небольшую справочную информацию.

Все коллеги, кто хочет познакомиться с системой Симплекс более подробно, могут загрузить ее с сайта http://dww.no-ip.org/simplex/. Система представляет собой всего один файл Spw.exe, который можно просто разместить в любом каталоге, например, C:/Spw, создать ярлык на файл Spw.exe и пользоваться программой. Никакой дополнительной установки не требуется.

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

Обновления версий происходят довольно часто. Это связано с тем, что Симплекс постоянно развивается, и в нем почти ежедневно устраняются обнаруженные неточности. К сожалению, иногда бывает так, что внесенное изменение может привести к изменениям в работе других функций. Поэтому, если возможно, было бы неплохо "иметь в запасе" копию последней рабочей версии. При замене версий Симплекс переименовывает устаревший файл Spw.exe в Spw.old.

Научиться решать задачи в Симплексе несложно. Для того, чтобы начать им пользоваться, можно выполнить несколько несложных примеров, а затем все становится ясно и без посторонней помощи. Конечно, это не отменяет необходимость умения решать задачи. Примеры использования системы можно найти на странице http://dww.no-ip.org/simplex/Examples/index.htm. Первые восемь примеров относятся к относительно старым версиям, остальные, начиная с задачи Аполлония, использовались как методические указания в работе факультатива по конструктивной геометрии, речь о котором шла на прошлогодней конференции. Сразу хочу извиниться перед коллегами за то, что материал на страницах представлен так "как есть". Безусловно, ему нужна была бы серьезная методическая проработка, стилистическая правка и проч. Но на это пока не хватает времени и сил. Надеюсь, что все коллеги, кто сочтет для себя возможным познакомиться с системой, найдут для себя в этом материале что-то полезное.

Некоторую справку об интерфейсе системы можно получить со страницы http://dww.no-ip.org/simplex/CONTENTS/index.htm. Там тоже очень много недоделок. Постараюсь обращать на заполнение информацией этих страниц бОльшее внимание.

Новая версия Симплекса с поддержкой экспорта информации в GIF файлы и передачей поверхностей в OBJ формате будет размещена примерно в середине апреля. Функции работоспособны, но требуют разработки более достойного интерфейса, что сейчас и делается. Вероятно, к этому времени будет готова и передача алгоритмов в 3D Studio Max через скрипты языка Max Script. Экспериментальная версия функций передачи уже работает. Хочу также отметить, что в Симплексе есть функция передачи геометрических построений в "родной" формат данных системы CorelDraw. Передача осуществляется через буфер Clipboard. Это позволяет готовить многовариантные чертежи для заданий, контрольных мероприятий с очень высокой эффективностью, поскольку один и тот же алгоритм при некоторых позиционных изменениях исходных данных будет порождать совершенно непохожие друг на друга чертежи. Передавая их в CorelDraw из Симплекса, можно получать множество необходимых чертежей за кратчайшее время. Столь же быстро можно готовить иллюстрации для пособий, подбирая наиболее выразительные с эстетической и методической точки зрения геометрические построения.

Что касается книги (учебника), о геометрической машине (и о Симплексе, вероятно, тоже). Я принял решение начать работу над ней (ними). Не могу обещать, что получится быстро. Первый самиздатовский вариант справочного руководства по Симплексу, составленный в 1997 году, насчитывал 950 страниц текста. Конечно, справочник - не учебник, но вся эта работа имеет смысл лишь в том случае, если теория, практика и инструмент будут рассматриваться как единое целое. Но, видимо, пришла пора, когда эту работу нужно выполнить. Я абсолютно убежден в том, что осознание конструктивной геометрии как информационной технологии и умение применять к ее задачам соответственные инструменты, дадут новую жизнь тому богатейшему геометрическому наследию, которое сейчас пылится на наших книжных полках и не находит должного применения. А научные труды, которые сейчас кажутся непонятными и непостижимыми, станут доступными, и их результаты начнут приносить нормальную практическую пользу.

С уважением,

Денис Волошинов

АВТОМАТИЗАЦИЯ ПРОЕКТИРОВАНИЯ ПОВЕРХНОСТЕЙ НА ОСНОВЕ КОНСТРУКТИВНЫХ ГЕОМЕТРИЧЕСКИХ МОДЕЛЕЙ, Волошинов Денис Вячеславович, Казначеева Екатерина Сергеевна , Хайбрахманова Екатерина Сергеевна
(28 марта 2017 г. 17:41)

Здравствуйте, Александр Олегович!

Спасибо Вам за высокую оценку моих трудов и добрые пожелания. Да, как я уже написал Николаю Андреевичу, мысли такие есть. Сложность только в том, что с трудом удается уделять время написанию статей и книг. Работа заведующего кафедрой, к сожалению, не очень к тому располагает, поскольку, в основном, приходится заниматься организацией работы кафедры, вести учебную нагрузку на 950 часов и проч. На науку остаются небольшие часы свободного домашнего времени. И на саму программу уходит очень много времени. Как-никак - это 330000 строк.

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

Есть мысли о том, чтобы создать электронный учебник, позволяющий решать задачи, как это делается в Симплексе, прямо в сети через Интернет-страницы. В принципе, сделать это не очень сложно. Можно написать переводчик алгоритмов Симплекса на что-то типа Java-script, и интерактивные чертежи заработают прямо в браузерах. Хочу попытаться провести такой эксперимент, подключив к нему заинтересованных студентов. Если это получится, то можно будет принципиально изменить формат лекций по НГ, сделать практические занятия интерактивными, дистанционными и т.п. Фантазия здесь может уходить очень далеко.

И еще: я очень надеюсь на сотрудничество. Я постарался изложить и показать свои мысли в максимально простой форме, надеюсь, что так это и воспринято коллегами. Не нужна избыточная сложность там, где именно сама идея должна стать ясной. А все остальное - оно придет.

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

С уважением,

Денис Волошинов

 

АВТОМАТИЗАЦИЯ ПРОЕКТИРОВАНИЯ ПОВЕРХНОСТЕЙ НА ОСНОВЕ КОНСТРУКТИВНЫХ ГЕОМЕТРИЧЕСКИХ МОДЕЛЕЙ, Волошинов Денис Вячеславович, Казначеева Екатерина Сергеевна , Хайбрахманова Екатерина Сергеевна
(28 марта 2017 г. 17:19)

Здравствуйте, Николай Андреевич!

Я подумаю над Вашим предложением об учебнике. Мысль о том, что надо сделать обобщение полученных результатов, меня посещала. И не раз. Но всегда ей мешает ощущение, что не все задуманное еще сделано. Видимо, надо где-то остановиться, иначе так может продолжаться бесконечно.

Николай Андреевич, Вашу книгу сейчас изучаю. В ней очень много интересного! О своих соображениях напишу Вам чуть позже. К сожалению, работа отнимает много времени от дел интересных и нужных, а надо-бы сконцентрироваться.

С уважением,
Денис Волошинов

АВТОМАТИЗАЦИЯ ПРОЕКТИРОВАНИЯ ПОВЕРХНОСТЕЙ НА ОСНОВЕ КОНСТРУКТИВНЫХ ГЕОМЕТРИЧЕСКИХ МОДЕЛЕЙ, Волошинов Денис Вячеславович, Казначеева Екатерина Сергеевна , Хайбрахманова Екатерина Сергеевна
(28 марта 2017 г. 16:08)

Здравстуйте, Елена Владимировна!

Большое спасибо за теплые слова и пожелания, высказанные Вами в комментарии к статье!

Ждем Вашего сына в Бонче: шестой класс - это уже достаточно близко к поступлению в ВУЗ. Большой привет от меня Людмиле Анатольевне!

С уважением,
Денис Волошинов

АВТОМАТИЗАЦИЯ ПРОЕКТИРОВАНИЯ ПОВЕРХНОСТЕЙ НА ОСНОВЕ КОНСТРУКТИВНЫХ ГЕОМЕТРИЧЕСКИХ МОДЕЛЕЙ, Волошинов Денис Вячеславович, Казначеева Екатерина Сергеевна , Хайбрахманова Екатерина Сергеевна
(26 марта 2017 г. 16:35)

Здравствуйте, Яна Андреевна!

Благодарю Вас за отзыв и добрые слова! Да, труда в Симплекс вложено много. Но не только в него, в концепцию, конечно, тоже.

Визуализация сейчас сделана путем передачи данных о твердотельной модели из Симплекса в 3DsMax. В Симплексе есть средство визуализации, но в настоящее время сильно уступает Max'у. Видимо, придется этим заняться, так как есть задумки создать транслятор геометрических моделей для использования под управлением WebGL. Тогда можно было бы создавать активные Web-страницы с графикой, управляемой конструктивными моделями. Особо сложного в этом ничего нет, но нужно время. Думаю, что скоро появятся первые результаты.

Принцип построения твердотельных моделей в Симплексе довольно простой. Как и в других задачах, пользователь синтезирует алгоритм путем установления взаимосвязей между геометрическими объектами. В этом алгоритме обязательно присутствуют две величины - параметры, которым изначально присваиваются какие-нибудь значения, чтобы на выходе появились две точки - проекции точки, принадлежащие моделируемой поверхности. Условно, конечно, один из них называется "медленным" - это тот, который перемещает образующую по направляющей, и "быстрый", перемещающий точки-проекции по направляющей. С одной из таких точек будем получать координаты x и z (c фронтальной проекции), а с другой x и y (с горизонтальной проекции). Естественно, один x избыточен.

Теперь этот алгоритм нужно применить m на n раз, чтобы получить сетку граней твердотельной модели. В принципе, можно формировать и другие структуры, например, сплайновые данные для SoliWorks, но это уже другой вопрос. Перед тем как приступать к многократному исполнению этой процедуры, система выполняет предварительный анализ состава команд алгоритма, подразделяя их на те, которые совсем не зависят от обоих параметров - следовательно, объекты, входящие в состав этих команд, можно рассчитать только один раз, на те, что зависят от "медленного" параметра (тогда они могут пересчитываться только внутри внешнего цикла, перемещающего образующую) и на те, что зависят от обоих параметров. Такая сортировка выполняется автоматически, поскольку команды Симплекса по сути представляют собой факты логической программы, и эта формальная процедура не требует постороннего вмешательства, и сделана она для того, чтобы существенно ускорить работу алгоритма. В противном сучае, производились бы напрасные неизменяемые вычисления. Вот такая оптимизация расчета.

Когда формирование гранной структуры в Симплексе закончено, она готова к тому, чтобы быть переданной через какой-либо формат в другие программы. В настоящее время реализована передача через dxf и obj. Все так и работает, но, безусловно, недостатком этого метода является то, что мы не можем обеспечить динамическое поведение моделей в других программах, и анимацию в 3dsMax приходится пока собирать по кадрам. Но из этой ситуации есть выход. В Симплексе возможна трансляция модели в эквивалент, выраженный языками программирования через вызовы процедур. Сейчас работает формирование программы на языке Pascal, что позволяет очень быстро создавать новые необходимые в работе системные функции и не программировать их внутри системы, как процедуры. Этим способом Симплекс и прирастает своим функциональным составом: сначала идет эксперимент с моделью, а потом, когда становится ясно, что она удовлетворяет требованиям задачи, она переводится в системный вид через среду Delphi. Но такой же подход можно применить, например, при формировании скриптов на языке Max Script. Тогда такой скрипт будет отражать ту функциональность, которая заложена в модели, а работать все это будет в Max'е. Это позволит создавать очень впечатляющие анимации и делать это достаточно просто, поскольку пользователю не нужно будет ничего программировать. Нужно создать модель, оттранслировать ее в скрипт и подгрузить скрипт в 3DsMax. То есть дополнительное программирование исключается.

Многие функции, необходимые для реализации этой идеи, уже написаны. Но не все еще реализовано до конца. Скоро такая возможность появится, и тогда конструктивное моделирование обретет еще один инструмент, который позволит продемонстрировать мощь и красоту геометрии во всех ее проявлениях.

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

С уважением,
Денис Волошинов

ГЕОМЕТРИЧЕСКАЯ ЛАБОРАТОРИЯ. ИНСТРУМЕНТЫ ОРТОГОНАЛЬНОСТИ, Волошинов Денис Вячеславович
(19 марта 2017 г. 15:36)

Здравствуйте, Александр Владиславович!

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

Картинка

Этот пример - классическое построение, показывающее удобство использования преобразования инверсии для построения сопряжений. Требуется: через точку Х провести две окружности, касательные к окружностям a и b. Для этого находим точки пересечения a и b и проводим окружность инверсии (оливкового цвета) произвольного радиуса с центром в одной из найденных точек. Тогда, согласно свойствам инверсии, окружности a и b преобразуются в прямые линии относительно этой окружности, поскольку ее центр находится на каждой из этих окружностей. Точка X также преобразуется в свой образ. В преобразованном виде задача решается проще, поскольку касательные окружности в образах приходится проводить через точку к двум прямым. Решив ее, возвращаем решение в преобразовании инверсии в исходную картину и получаем необходимый результат.

Все это работает до тех пор, пока a и b пересекаются в действительных точках. Но, когда окружности расходятся, оливковая окружность оказывается заданной вещественным радиусом, но мнимым центром. Иллюстрация  показывает, что решение в инверсии должно существовать. На изображении присутствуют точки F1 и F2, которые являются результатом пересечения окружности инверсии и прямой, соединяющей центры окружностей a и b, причем их поведение при плавном переходе окружности инверсии от вещественного к мнимому образу наводит на мысль о том, что никаких исключений здесь нет. Кроме того, под сиреневыми окружностями находится решение, которое рассчитано другим спозобом, без применения преобразования инверсии. И мы видим, что оно также плавно и непрерывно ведет себя при переходе от вещественного образа окружности инверсии к мнимому. Так что решение у этой задачи должно быть, но как все это обосновать, я пока не знаю. Надо думать.

С уважением,
Денис Волошинов

ГЕОМЕТРИЧЕСКАЯ ЛАБОРАТОРИЯ. НОВЫЙ ГЕОМЕТРИЧЕСКИЙ ИНСТРУМЕНТ, Волошинов Денис Вячеславович
(13 марта 2017 г. 8:21)

Дмитрий Евгеньевич!

Большое спасибо за добрые слова! На семинаре обязательно буду.

С уважением,
Денис Волошинов

ГЕОМЕТРИЧЕСКАЯ ЛАБОРАТОРИЯ. НОВЫЙ ГЕОМЕТРИЧЕСКИЙ ИНСТРУМЕНТ, Волошинов Денис Вячеславович
(12 марта 2017 г. 12:20)

Здравствуйте, Александр Владиславович!

Большое спасибо за совет! Я обдумаю, что можно сделать в этом направлении.

Я не считаю, что серьезные результаты, полученные в Симплексе, стоит опубликовывать, используя лишь копии экранов, как сейчас это делаю я. Так приходится поступать только потому, что катастрофически не хватает времени на подготовку нормальных рисунков и чертежей. Изображения в окнах – это технические чертежи, предназначенные, в основном, только для работы с системой.

В Симплексе специально предусмотрены средства для передачи чертежей в систему CorelDraw! в ее нативном формате CMX. Делать это можно, передавая алгоритм построения через Clipboard (команда Shift+F8). Средствами уже этого редактора можно довести чертеж до такого состояния, чтобы он полностью отвечал издательским требованиям. Удобство такого подхода заключается в том, что в Симплексе относительно легко можно подготовить такую геометрическую конструкцию, чтобы она в полной мере удовлетворяла и условию задачи и «эстетическим» требованиям, была бы удобна для восприятия читателем. А доводку изображения можно выполнять в другой системе. Нет никакого смысла повторять в Симплексе функции CorelDraw!, Adobe Illustrator и подобных им систем.

С уважением,

Денис Волошинов

ГЕОМЕТРИЧЕСКАЯ ЛАБОРАТОРИЯ. НОВЫЙ ГЕОМЕТРИЧЕСКИЙ ИНСТРУМЕНТ, Волошинов Денис Вячеславович
(12 марта 2017 г. 12:05)

Здравствуйте, Александр Львович!

Благодарю Вас за комментарий!

Я не знал, что Вы программист с таким большим стажем. Он действительно больше моего.

Да, я решил ряд оригинальных задач. Их достаточно много, далеко не все опубликованы. Симплекс не решает за меня, он мне в этом помогает. Для того чтобы реализовать задачу в Симплексе мне не надо программировать. Его особенность заключается в том, что программу он синтезирует сам, а в AutoCAD я бы должен был программировать на  AutoLisp, прежде чем что-то сделать. Это неудобно. Я бы ничего не смог сделать. Если кто-то может, то Бог в помощь! Симплекс помогает мне экспериментировать с геометрией, он подсказывает мне, на что стоит обращать внимание, а на что нет. Эффективность исследований повышается многократно, и никакого программирования, которое отвлекает от задачи! Я об этом и пишу в этом году. Если кто-то хочет воспользоваться этим методом, то пусть воспользуется, а на нет и суда нет.

Спору нет в том, что на AutoLisp можно выражать задачи проективной геометрии. Вопрос лишь в том: какой ценой и с какой степенью общности. Многие Ваши задачи действительно являются задачами с проективной природой, поэтому и решаются средствами проективной геометрии в десятки раз быстрее и более общо, чем мы пока видим у Вас. Уж простите!

В Симплексе пользователь может запрограммировать необходимые ему функции средствами самого Симплекса и создавать модульные программы. Более того, в Симплексе заложена технология ООП, поэтому в нем можно создавать объекты производной комплексной природы. Например, можно объявить комплексные объект гиперквадрику, гиперплоскость и т.п. и чисто геометрическими методами реализовать операции их взаимодействия, преобразования, отображения, экспорта в другие программы (если надо). Как и в любой Системе у Симплекса есть ограничения, иногда возникает необходимость создать новые функции. Но та же проблема есть и у любой другой системы. Как программист, Вы не можете со мной не согласиться в этом. Симплекс несовершенен, часто сбоит, его приходится править. Но это участь любой программной разработки.

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

Проективная геометрия всеобща. Она не для 2D и не для 3D. Она для любой размерности. То, что меня не интересуют задачи 3D, не соответствует действительности. Я решаю задачи в 2D, 3D, 4D, 1D, 0D,-1D  и -2D. Других пространств пока не затрагивал. Примеры таких задач на конференции уже были опубликованы, будут и еще. Спорить о том, что все решается только методами 3D или 2D я не буду. Это непрофессионально. Модели всех пространств транзитивны, каждый в праве выбирать ту, которая ему более подходит. Могу Вас заверить в том, что моделей таких столь много, что даже представить себе трудно. Мы используем лишь ничтожно малую их часть. Даже плоскость «нашпигована» многомерными объектами, возьмите хотя бы окружность. Для ее однозначного определения нужно три числа, а коль так, ею можно моделировать точки трехмерного пространства. Меня интересуют задачи подобного толка, и я не могу найти такого инструмента, который обеспечил бы мне возможность проводить подобных исследований. Приходится писать свой.

НГ – часть геометрии, но я не борюсь конкретно за нее. Я ее использую и использую эффективно. То, что я действительно делаю, – я отстаиваю геометрический метод, к которому принадлежит и тот класс, задач (с методом, разумеется), которому привержены Вы. Поэтому я ни в коей мере не противостою Вам. Я всем говорю лишь об одном: смотрите на проблему шире, потому что частное видение проблемы лишает человека того потенциала, который у него мог бы быть, если бы он сам на себя не надел «шоры». В этом мой научный и профессиональный долг как доктора технических наук и как педагога. И еще раз напомню – я уже писал – я не знаю решения всех проблем и иногда могу ошибаться и заблуждаться. И не боюсь говорить об этом, потому что преодоление ошибок и избавление от заблуждений движет человека вперед, чего и всем желаю.

С уважением,
Денис Волошинов

ГЕОМЕТРИЧЕСКАЯ ЛАБОРАТОРИЯ. НОВЫЙ ГЕОМЕТРИЧЕСКИЙ ИНСТРУМЕНТ, Волошинов Денис Вячеславович
(10 марта 2017 г. 23:00)

К ответу Александру Львовичу

вместо фразы определение кривой второго порядка (образ бесконечно удаленной прямой в поляритете) следует, конечно, читать определение центра кривой второго порядка (образ бесконечно удаленной прямой в поляритете).

Приношу извинения за опечатку

ГЕОМЕТРИЧЕСКАЯ ЛАБОРАТОРИЯ. НОВЫЙ ГЕОМЕТРИЧЕСКИЙ ИНСТРУМЕНТ, Волошинов Денис Вячеславович
(10 марта 2017 г. 22:32)

Здравствуйте, Яна Андреевна!

Большое спасибо за внимание к докладу и за вопрос.

Вы задаете очень важный вопрос: кто должен заботиться о корректном использовании данных – пользователь или система?

В Симплексе каждая формируемая команда рассматривается как некий элементарный преобразователь информации, у которого есть вход и выход, и за реализацию этого преобразования отвечает некоторая системная процедура, выполняющая необходимые вычисления. Как и любая процедура в обычном декларативном языке программирования, она обладает входными и выходными параметрами. Сама процедура обладает формальными параметрами, которые при ее вызове заменяются фактическими параметрами, которые тем или иным образом указывает пользователь, конструирующий геометрическую конструкцию. Нас сейчас интересуют входные параметры, так как с выходными параметрами, в которых указываются уникальные объекты (такова концепция Симплекса), такой проблемы нет. Безусловно, важно, чтобы входным формальным параметрам процедуры сопоставлялись объекты не только соответствующие по типу (точка соответствует точке, а не окружности, например), но и по семантике, по содержанию. Простой проверки, что на вход процедуры поступила точка, будет недостаточно, потому что эта точка может не удовлетворять ряду других требований (например, она может не быть инцидентной прямой-носителю проективитета, но пользователь может указать ее – и она окажется в параметрах). Некорректное назначение параметров приведет к некорректному решению всей задачи.

Если бы мы программировали задачу, как это было принято много лет назад, без учета идеологии ООП, то мы гарантировано получили бы неправильный результат, потому что вся ответственность за семантику задачи лежит на программисте (пользователе). И, если он не вполне понимает то, что делает, то вероятность неблагополучного решения задачи очень высока.

То же самое было бы и в Симплексе. Неумелое или ошибочное использование процедур синтеза объектов приводило бы к ошибкам, искать которые было бы очень трудно. Система оказалась бы неспособной защитить решение от таких явных ошибок.

Конечно, если пользователь понимает, что делает, и действует без ошибок, то и проблемы вроде бы не существует. Но все мы «не безгрешны» и ошибаемся. И не во всем сразу разбираемся. Это нормально.

Симплекс, в отличие от того же Автокада, имеет внутри себя ряд подсистем, которые следят за тем, чтобы неправильно подставленные данные не использовались при расчете функций. Механизм их достаточно сложен и не всегда совершенен, но идея его состоит в том, чтобы провести доказательство, подтверждающего  допустимость использования того или иного объекта в операции. К примеру, если два каких-либо объекта пересекаются с образованием точек, то такой факт в Симплексе автоматически регистрируется специальным образом. То есть каждый объект знает не только, кем он был «порожден» и какая функция стала причиной этого события, но и кому он инцидентен. Если такая информация есть, то при начале исполнения новой функции (если она, скажем, требует подтверждения инцидентности), такая проверка будет осуществлена автоматически и пользователь не будет об этом знать. Поэтому, если попытаться подставить в функцию порождения проективитета точку, которая не инцидента с носителем ряда точек, то результатом работы этой функции будет nil-объект, а не проективитет. Такой механизм позволяет в какой-то степени защитить геометрическую конструкцию от явных ошибок. Хотя, конечно, это не панацея. Понятно, что если точка окажется инцидентной носителю, но не той, что надо, то результат будет получен, но ошибочный.

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

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

 

С уважением,
Денис Волошинов

ГЕОМЕТРИЧЕСКАЯ ЛАБОРАТОРИЯ. НОВЫЙ ГЕОМЕТРИЧЕСКИЙ ИНСТРУМЕНТ, Волошинов Денис Вячеславович
(10 марта 2017 г. 19:47)

Здравствуйте, Александр Львович!

Благодарю Вас за комментарий и за вопросы.

Если честно, я не вполне понял, причем тут «маркетинг» – я не рекламирую здесь какой-либо товар, я делюсь своими изысканиями и опытом, причем делаю это совершенно бескорыстно. Это, во-первых.

Во-вторых, я долго раздумывал, делать ли динамические GIFы или нет. С одной стороны, они очень хорошо отражают основную идею Симплекса – геометрическая модель работает, как машина, как преобразователь информации  –  это главное ее назначение, с другой стороны – постоянное мелькание изображения перед глазами, когда его нельзя остановить, раздражает и отвлекает от сути повествования. Решение в пользу динамических изображений было принято лишь на основании того, что мне потребовалось бы десятикратно увеличить количество рисунков к докладу, что попросту недозволительно.

Динамические GIFы создает Симплекс. Еще позавчера он этого не мог делать. Пришлось посидеть часа полтора, запрограммировать эту операцию. Теперь делает.

У Ирины Дмитриевны разрешения не спрашивал. В редакторе докладов разрешено прикреплять файлы любых форматов, GIFы не исключение. Надеюсь, я никого не ущемил своим решением. Понятно, что в бумажной версии, динамики не будет. Это, кстати, один из тех факторов, который затрудняет тормозит процесс изучения геометрии по традиционным учебникам. В электронном издании учебника все будет работать, если GIFы внедрить в документ или оставить ссылки на сайт, на котором они сейчас размещены. Сейчас они находятся у меня дома на моем сервере.

Я не оспариваю первенства использования GIFов в AutoCAD. Пусть себе используют, сколько захотят.

Ребят зря отговорили, намучаются они с языком AutoLisp. Это я Вам как программист с сорокалетним стажем говорю и как человек, перерешавший не одну сотню геометрических задач. Решать задачу с применением какого-либо языка программирования неестественно для человека, который серьезно занят геометрией. Я не утверждаю, что так делать нельзя, но эффективность достижения результата падает многократно.  К цели будут идти либо очень долго, либо их обойдут. Говорю это с сожалением, при всем моем уважительном отношении к молодым ученым, с которыми я беседовал на конференции.

Про велосипед я бы сказал так. Вот сейчас опубликовано два моих доклада. Планируется еще штук шесть (простите за нескромность), если успею. Я пока не рассказал ничего сложного – элементарный теоретический базис. Я понимаю, что всю математику (элементарную), о которой шла речь, можно запрограммировать на Autolisp. Мне не верится в то, что это кто-то когда-то сделает. Возможно, я ошибаюсь.

Отличие Симплекса от AutoCAD состоит именно в том, что он, во-первых, не обладает мировой известностью и лидерством, а во-вторых, не подразумевает использования никаких языков программирования. Он предназначен для решения конструктивных геометрических задач и не предназначен для проектирования сборочных чертежей.

Системой AutoCAD пользуются тысячи людей с хорошим математическим образованием, может быть, даже десятки или сотни тысяч – я не знаю. Но все равно много. Но почему-то доказательство того, что центр гиперболы находится в бесконечности, а не «между ветками» этой кривой, было сделано в Симплексе. С использованием Симплекса было показано, что у гиперболы нет мнимого диаметра, но есть никому не известная действительная бесконечно удаленная ось, что во всех учебниках проективной геометрии некорректно указано определение кривой второго порядка (образ бесконечно удаленной прямой в поляритете). Никто не показал, что задача Аполлония – задача проективной геометрии и прекрасно решается без использования гипербол или преобразования инверсии. Никто не заглядывал в AutoCADе в пространство четвертой размерности и в пространства отрицательных размерностей, а Симплекс позволяет это делать. Я не хочу сказать, что все это в AutoCAD невозможно. Возможно, если захотеть, но делать это будет крайне неудобно. Собственно, поэтому и нет таких результатов. Симплекс специализирован под решение таких задач, а AutoCAD – нет.

С уважением,

Денис Волошинов

ГЕОМЕТРИЧЕСКАЯ ЛАБОРАТОРИЯ. НОВЫЙ ГЕОМЕТРИЧЕСКИЙ ИНСТРУМЕНТ, Волошинов Денис Вячеславович
(10 марта 2017 г. 19:05)

Здравствуйте, Евгений Викторович!

Большое спасибо за комментарий и высокую оценку моей работы!

Пользуйтесь Симплексом сколько хотите и где хотите. Буду очень рад, если он поможет Вам вести образовательный процесс. Он действительно помогает во многих геометрических проблемах разобраться быстрее и надежнее, а самое главное – геометрия становится разновидностью визуального программирования и средством исследования мира, что не может не быть интересным. Надеюсь, мои доклады и опубликованные, и будущие, продемонстрируют, насколько увлекательным и познавательным может быть изучение геометрии, если к ней относиться не как к нудной рутине, а как к исследовательской работе.

 

С уважением,
Денис Волошинов

 

ГЕОМЕТРИЧЕСКАЯ ЛАБОРАТОРИЯ. НОВЫЙ ГЕОМЕТРИЧЕСКИЙ ИНСТРУМЕНТ, Волошинов Денис Вячеславович
(10 марта 2017 г. 18:58)

Здравствуйте, Александр Владиславович!

Да, у меня была задумка реализовать хотя бы какую-то часть Симплекса на мобильных устройствах, в первую очередь, под iOS. Кое-что уже начало получаться, и первые кнопки появились на iPad, но дело закончилось тем, что у меня на Макинтоше отказался подтверждаться сертификат разработчика. Попытки связаться с Apple, чтобы они исправили положение, к успеху не привели - они давали разные советы, которые реанимировать сертификат так и не смогли. Потом они "пожали плечами" и сказали, что так не бывает, но оно было и есть. Общаться впустую надоело, поэтому проблема не решена до сих пор. Несколько обидно платить деньги за право разрабатывать программы, но не иметь этой возможности.

Вторая причина состоит в том, что для разработки серьезного приложения нужен и серьезный инструмент. Симплекс написан на лицензионной Delphi 2007 и поныне развивается на этой системе, чтобы избежать юридических проблем. Для разработки под мобильные устройства нужно приобрести лицензионный Delphi старших версий с поддержкой технологии создания программ под мобильные устройства. И это можно было бы сделать, хотя и дороговато получается, но, если бы это было кому-то надо и на Симплексе шла серьезная научная работа. Симплекс и так уже давно "висит" в Интернете, скачивается абсолютно бесплатно и безвозмездно, но пользуются им лишь единицы моих коллег. Получается, что я делаю его, в основном, для самого себя.

Симплекс никогда не будет распространяться платно, я этого не хочу.

Честно признаюсь, я никогда не задавался вопросами лицензирования Симплекса. Списали - и списали, пользуйтесь на здоровье! Но я понимаю, что это неправильно. Такой подход может оказаться неприемлемым для тех коллег, которые были бы и не прочь воспользоваться программой, но не испытывать при этом каких-либо "угрызений совести". Надо, видимо, что-то делать. Я не в курсе того, как это делается. Если Вы знакомы с подобными процедурами юридического характера, подскажите, пожалуйста, что нужно сделать. Я постараюсь исправить это положение.

А так - пользуйтесь, пожалуйста, программой, если она вам полезна, публикуйте рисунки, решайте задачи. Я буду только рад этому.

За высокую оценку программы - спасибо!

С уважением,
Денис Волошинов

ГЕОМЕТРИЧЕСКАЯ ЛАБОРАТОРИЯ. ЗАКЛАДЫВАЕМ ОСНОВЫ, Волошинов Денис Вячеславович
(8 марта 2017 г. 16:06)

Здравствуйте, Евгений Викторович! Большое спасибо за комментарий! Разумеется, способов выразить одно и то же может быть много. Я описываю в своих статьях те результаты, которые работают в моей системе. Возможно, не все они оптимальны. Для этого и следует делиться мнениями, исправлять то, что, возможно, было сделано неудачно или неправильно.

С уважением,

Д.Волошинов

ГЕОМЕТРИЧЕСКАЯ ЛАБОРАТОРИЯ. ЗАКЛАДЫВАЕМ ОСНОВЫ, Волошинов Денис Вячеславович
(7 марта 2017 г. 1:13)

Здравствуйте, Александр Владиславович!

Большое спасибо Вам за комментарий! Полностью с Вами согласен. Есть много сфер приложения разных технологий к тому, чтобы совершенствовать вычислительные системы. Действительно, символьные вычисления могут оказать в этом огромную помощь. Не раз задумывался над тем, чтобы в Симплексе заработали именно такие механизмы. Собственно для этого в него встроен интерпретатор Пролога, который пока, к сожалению, не используется на всю мощь. Именно для того и раскрываю механизмы работы своей системы (я, кстати, отношусь к ней весьма сдержанно - в ней полно "дыр" и ошибок), чтобы, возможно, кто-то подметил для себя что-то ценное и стал развивать собственные идеи. К сожалению, не все делается так быстро, как хочется. Геометрической мысли нужны инструменты. Разные. Нужны лаборатории и чтобы играть с геометрией, и чтобы решать серьезные прикладные задачи. О чем и хочу продолжить речь дальше.

С уважением,

Д.Волошинов

ГЕОМЕТРИЧЕСКАЯ ЛАБОРАТОРИЯ. ЗАКЛАДЫВАЕМ ОСНОВЫ, Волошинов Денис Вячеславович
(7 марта 2017 г. 1:00)

Сергей Игоревич, большое спасибо за комментарий!

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

Прошу прощения за то, что не упомянул Вас в ссылке по поводу вопросов о причислении начертательной геометрии к информационным технологиям. Конечно, я знаю о Вашей работе. Закрутился. Она (НГ) безусловно - представитель самых современных информационных технологий. При разъяснении студентам идей объектно-ориентированного программирования, например, НГ - один из самых лучших источников, из которых можно черпать примеры для преподавания языков типа C++ и ему подобных. Просто кладезь! Для преподавания Пролога, тоже масса замечательных примеров. Проектирование аппаратных средств на основе НГ - тоже интереснейшая тема. Очень жаль, что не все это понимают.

С уважением,
Д.Волошинов