Назад Go Back

ГЕОМЕТРИЧЕСКАЯ ЛАБОРАТОРИЯ. НОВЫЙ ГЕОМЕТРИЧЕСКИЙ ИНСТРУМЕНТ

English version
Фото Волошинов Денис Вячеславович (Санкт-Петербургский государственный университет телекоммуникаций им. проф. М.А.Бонч-Бруевича)


Аннотация

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



Ключевые слова: Геометрическое моделирование, проективитет, Симплекс, инволюция

Материал статьи [1] был посвящен рассмотрению вопросов о моделировании аналитическими средствами двух самых известных геометрических инструментов – линейки и циркуля. Мы получили аналитические зависимости, которые можно легко превратить в функции компьютерной программы и начать использовать их по назначению, то есть создать хоть и простой, но действующий виртуальный геометрический инструмент.

Несмотря на его простоту уже на самом начальном этапе в него будут заложены «качества», которые существенно отличают его от реальных физических прототипов. Во-первых, он в существенно меньшей степени «стеснен» теми физическими ограничениями, которые присущи реальным геометрическим инструментам – диапазон доступности удаленных точек и точность этого инструмента значительно шире, чем у его физического аналога, хотя и они не безграничны. Второе, более важное качество, заключается в том, что в нем изначально заложена возможность работы с мнимыми элементами плоскости. Безусловно, уравнения, используемые при описании функций виртуальных циркуля и линейки не позволяют решать все задачи комплексной плоскости, поскольку в них использованы только вещественные коэффициенты при степенях переменных. Но на начальном этапе этого будет достаточно, для того чтобы без каких-либо видимых ограничений и технических трудностей решить многие задачи, сформулированные в терминах проективной геометрии, с учетом возникающих в них мнимостей. То, что потребовало бы от человека необходимости прибегнуть к «искусственным» приемам, побудить его мыслить отвлеченными  абстракциями  и выполнять для этого множество трудоемких операций, уйдет в одно мгновение. Обилие всего того дополнительного, что без сомнения мешало применению геометрического метода и в определенной мере отвращало от него, будет скрыто. Более того, внешне не будет заметно никакой принципиальной разницы от использования объектов действительных или мнимых. Разрабатываемые алгоритмы не будут зависимыми от этих различий.

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

Следует сказать, что сознание как-то противится связать воедино геометрическую науку и эксперимент. Геометрия воспринимается, как царство абсолютной логики, абстракций и безупречных доказательств, не допускающих каких-либо эмпирических включений. Однако, по сути это, конечно, не так. Несмотря на всю свою строгость, геометрия возникла из естественных  наблюдений человека за природой, за попытками связать различные проявления всего того, что мы называем формой, в единое целое, что бы позволяло бы делать предсказания на основе модели – средства, заменяющего реальную сущность. В данном случае абстрактного средства. Что и было во всем великолепии когда-то сделано Эвклидом. Но, как всем хорошо известно, казавшиеся в течение двух тысячелетий  неколебимыми устои, рухнули в относительно короткий промежуток времени в результате мысленных экспериментов Я.Больяи и А.Лобачевского, к деятельности которых, кстати, их современники относились весьма скептически. Годы спустя идеям этих мыслителей пришло признание и признание это пришло в немалой степени из-за того, что в природе нашлись явления, которые исключительно хорошо согласовались и описывались теорией, обязанной своим рождением Я.Больяи и А.Лобачевскому, и были подтверждены экспериментально. Стало ясно, что геометрия – наука не только о явно увиденном, а обо всем, что может рассматриваться с позиций исследования и применения категории формы, о качественно-количественных проявлениях природы в ее единстве [2].

Мысленный эксперимент Я.Больяи заставил задуматься о том, что казалось абсурдным и невозможным. Оспаривался простой, казалось бы, факт. Что, якобы, параллельность двух прямых нельзя доказать, исходя из известных аксиом геометрии. Результат неожиданно и качественно изменил отношение к делу и показал абсурдность самого вопроса. На свет появились новые геометрии и новое понимание мироустройства. Поэтому эксперимент в геометрии – мощнейшее средство, мотивирующее движение мысли. А если он может быть проведен не только мысленно, но и физически, то движение мысли может произойти не только в головах ученых, которые годы своей жизни положили на то, чтобы разбираться в «тонкостях геометрической материи», но и в голове каждого, кто найдет для себя в этом практический смысл и интерес. И наша задача этот интерес вызвать.

Именно по этой причине в излагаемом ниже материале будут встречаться некоторые «пустые» места, которые мы разглядим, но которым, возможно, пока не дадим разъяснений. Вероятно, эти разъяснения будут найдены кем-то практически сразу, возможно, они даже уже имеют разъяснения, но остались вне поля зрения автора. Задача, которая ставится, состоит не в том, чтобы оспаривать первенство той или иной геометрической идеи, она заключается в том, чтобы еще раз продемонстрировать  мощь и единство геометрического метода как средства моделирования и цели геометрии как науки, которая была сформулирована Ф.Клейном в Эрлангенской программе в 1872 году [3].

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

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

Обратимся теперь к хорошо известной геометрической схеме, реализующей проективное преобразование и устанавливающей в двух линейных точечных рядах соответствие между точками на основе задания взаимосвязи трех пар точек [4, 5, 6].

Выполним следующие построения: на двух несовпадающих и произвольно расположенных прямых t1 и t2 выберем по три точки (A1-A2), (B1-B2), (C1-C2), которые, как мы будем предполагать, будут соответствовать друг другу в проективном преобразовании. Проведем через точки A1 и A2 прямую линию, на которой в произвольном месте выберем еще две точки – центры S1 и S2. Через S1 и B1 проведем линию b1, а через S2 и B2 проведем линию b2, после чего найдем точку пересечения B прямых линий a1 и b1. Аналогично поступим и с точками S1 и C1, а также с точками S2 и C2, в результате чего будет образована точка C. Через точки B и C проведем прямую линию x, которая носит название оси перспективы. Таким образом, репер (t1, A1, B1, C1, t2, A2, B2, C2) и аппарат преобразования – ось x – заданы. Остается, если выразиться терминами объектно-ориентированного программирования (ООП), в классе «Проективитет» с полями (fields) (t1, A1, B1, C1, t2, A2, B2, C2) и свойством (property) x реализовать метод, преобразующий произвольную точку первого ряда D1 в точку второго D2.

Само по себе это действие исключительно просто: через точки S1 и D1 проведем прямую линию d1 до пересечения с осью x с получением точки D, а затем через только что полученную точку D и точку S2 проведем линию d2, которая в пересечении с прямой линией t2 даст нам ответную точку D2. В этом несложном построении и состоит метод, который в своей работе опирается на поля объекта (t1, A1, B1, C1, t2, A2, B2, C2) и на его свойство x. Соответственное построение показано на рис. 1.

Рис. 1. Общий вид алгоритма построения точки в проективитете

На динамическом рисунке 2 представлена последовательность действий, в результате котоых осуществляется преобразования точки D1 в D2 в проективитете, заданном носителями t1, t2 и точками A1-A2, B1-B2, C1-C2. Рис. 3 демонстрирует непрерывность и однозначность преобразования точек ряда с носителем t1 в точки ряда с носителем t2.

Рис. 2. Последовательность исполнения алгоритма построения точки в проективитете

Рис. 3 Непрерывность и однозначность проективного преобразования

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

Итак, мы сконструировали наш первый виртуальный геометрический инструмент. Как видно из построений, никаких существенно иных инструментов, кроме виртуальной линейки, для реализации проективитета не потребовалось. С только что представленной конструкцией можно провести первые эксперименты. Покажем исключительно визуальными средствами (то есть без геометрических доказательств), что преобразование D1 в D2 в назначенном проективитете инвариантно к расположению точек S1 и S2 (рис. 4).

Рис. 4. Инвариантность алгоритма построения точки в проективитете к выбору центра S1

Для дальнейшего продвижения вперед нам потребуется выполнить еще один важный шаг. Нас будут интересовать инволюционные преобразования в проективитетах с общим линейным носителем, которые нельзя реализовать на носителях несовмещенных. Но тогда нам следует понять, каким образом реализовать преобразование между точечными рядами в том случае, если прямые t1 и t2 не пересекаются, а совпадают (т.е.пересекаются не по точке, а по прямой) [1].

Рассмотрим и испытаем следующую геометрическую схему. Пусть на прямой линии t12, несущий на себе два различных точечных ряда, установлено соответствие трех пар точек (A'–A''), (B'–B''), (C'–C''). Требуется определить проективитет на этих соответствиях и найти преобразование точки D' в точку D''.

Понятно, что в данном случае преобразование, выполненное по ранее рассмотренной схеме, напрямую неприменимо. Поэтому прибегнем к дополнительному построению, чтобы получить пригодную для эксплуатации схему. Зная, что при перепроецировании из различных точечных центров на линейные носители сложное отношение четырех точек сохраняется, проведем в плоскости две произвольные прямые t1 и t2 и спроецируем из произвольного, но не лежащего на t1, t2 и t12 центра S, точки A', B', C', D' на t1 c получением точек A1, B1, C1 и D1, а A'', B'', C'' на t2 c получением точек A2, B2, C2. Нетрудно заметить, что задача свелась к предыдущему случаю, и теперь не составит никакого труда перепроецировать  полученную точку D2 в D'' на t1 (рис. 5,6).

Рис. 5. Алгоритм перехода от случая задания проективного соответствия на едином линейном носителе к общей схеме

Рис. 6. Динамика построения алгоритм перехода от случая задания проективного соответствия на едином линейном носителе к общей схеме

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

Рис. 7. Демонстрация независимости результата построения точки в проективитете от положения центра S

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

Пусть на прямой линии заданы два линейных ряда точек и между ними определено проективное преобразование путем указания соответствия трех пар точек: (A'– A''), (B'– B''), (C'– C''). Для нахождения двойных точек проективитета применим известный алгоритм, основанный на определении соответствия точечных рядов, перепроецированных на окружность.

Начертим где-либо окружность. Выберем на ней в произвольном месте центр проецирования – точку S.  Из S проведем в прямые SA'=a', SB=b', SC'=c', SA''=a'', SB''=b'', SC''=c''. Эти прямые, помимо точки S, будут пересекать окружность d в следующих точках: a'×d=A1, b'×d=B1, c'×d=C1, a''×d=A2, b''×d=B2, c''×d=C2. Соединим точки прямыми в следующей последовательности: a1b2=A1B2,  a1c2=A1C2, a2b1=A2B1,  a2c1=A2C1 и найдем точки пересечения U= a1b2×b1a2 и V= c1a2 ×c1a2.

Теперь через точки U и V проведем прямую uv=UV и найдем точки пересечения этой прямой с окружностью d:  P, Q=uv×d. Нам остается соединить точки P и Q с центром S прямыми PS=p и QS=q и на пересечении этих прямых с прямой-носителем t отметить две точки: P' =p×t и Q'=q×t. Это и есть двойные точки проективитета, переходящие сами в себя.

Рис. 8. Алгоритм построения двойных точек проективитета

Нетрудно теперь поставить геометрический эксперимент и визуально убедиться в том, что именно так и происходит. Проследим внимательно, как себя ведет точечная пара (D–D'). Из динамического рисунка хорошо видно, что точки D и D' совмещаются, когда располагаются над P' и Q' (рис. 9).

Рис. 9. Проявление свойств двойных точек в преобразовании проективитета

А теперь проведем более «тонкий» эксперимент (рис. 10). Пусть точка S является не просто точкой, выбранной на окружности d, а служит результатом пересечения какой-либо окружности m с окружностью d. Проследим за тем, что будет происходить, если радиус окружности m будет уменьшаться и точки S и M ее пересечения с окружностью d  станут в определенный момент мнимыми. Оказывается, что переход точек S и M в  «мнимое состояние» никоим образом не отразится на работоспособности основного алгоритма. Мы по-прежнему будем получать неизменное положение двойных точек проективитета, как это и происходило в действительном случае. Перечеркнутыми квадратиками в вещественной плоскости обозначаются вещественные части комплекснозначных точек. На рис. 11 показана картина происходящего в комплексной плоскости.

Рис. 10. Инвариантность результата действия геометрического алгоритма по нахождению двойных точек по отношению к положению и виду центра S

Рис. 11. Инвариантность результата действия геометрического алгоритма по нахождению двойных точек по отношению к положению и виду центра S, показанная средствами отображения комплексной плоскости

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

Пусть на прямой-носителе заданы только четыре точки: A, B, C, D . Соотнесем их с проективными рядами таким образом, чтобы установилось соответствие: A– B, B– A, C–D. Тем самым нами будет задан специальный вид проективитета, который расставляет точки на прямой в пары, переводящиеся этим проективитетом друг в друга. В нем также обнаружатся две двойные точки, которые могут быть действительными или мнимыми. Более пристальное внимание мы уделим геометрическому построению, которое позволяет установить три принципиально разных вида инволюций путем пересечения прямой линии, проходящей через центры двух окружностей и пересекающих эти окружности в четырех точках, на которых мы и определим эти инволюции.

Итак, первый вариант. Пусть даны две окружности d1 и d2. Найдем их центры – точки c1 и c2, через которые проведем прямую t: t=c1c2. Найдем точки пересечения прямой с окружностью: A, B=t×d1 и C, D=t×d2. Определим инволюцию pr1 на линейном носителе t четверкой точек, взятых в следующем порядке:  A, B, C, D. Найдем двойные точки проективитета P и Q, взяв которые в качестве диаметральных, построим на них окружность j. Центр этой окружности cj лежит на радикальной оси окружностей d1 и d2, а сама окружность j является перпендикулярной к исходным окружностям и прямой линии t, соединяющих их центры (рис. 12) [7]. Более подробное изучение этого случая отложим до следующей статьи, в которой будут обсуждаться проблемы построения радикальных осей к различным типам объектов плоскости.

Рис. 12. Построение инволюции по первому варианту задания соответствия точек

Зададим инволюцию pr1 по-другому. Порядок точек на носителе t будет следующим: A, C, B, D. Найдя двойные точки P и Q этой инволюции, мы убедимся в том, что в данном примере они получились мнимыми (их совпадающие вещественные части обозначены на рисунке перечеркнутыми квадратиками). Проведем через эти точки, взятые как диаметральные, окружность j, которая в данном случае окажется окружностью с мнимым радиусом, и найдем ее центр cj. Центр будет, как уже было показано в статье [1], точкой вещественной. Построив «внутренние касательные» к окружностям d1 и d2 убедимся в том, что эти касательные пересекутся в точке jc (рис.13). (Вопрос построения касательных на базе имеющихся инструментов в статье не рассматривался – это можно легко сделать, но сейчас примем это построение, как данность).  

Рис. 13. Построение инволюции по первому варианту задания соответствия точек

Самое интересное в этой геометрической схеме то, что точка jc будет существовать и в тех случаях, когда проведение вещественных касательных к двум окружностям невозможно, том числе, когда окружности вообще будут вложены одна в другую. Это обстоятельство лишний раз подтверждает то, что формулировки тех или иных положений в терминах проективной геометрии «сильнее», чем их интуитивное представление в методах геометрии аффинной, следовательно, они способствубт тому, чтобы на их основе делались и более общие выводы. В том, что это действительно так, можно убедиться из динамического рисунка. При расположении окружности d2 "хотя бы одной своей точкой" во внутренней области окружности d, окружность j становится действительной. Более того, в этой схеме отчетливо проявляются и свойства инверсии [8] окружностей d1 в d2 (и обратно) относительно окружности j, но это уже тема отдельного разговора.

Рис. 14. Существование вещественного центра cj вне зависимости от результата пересечения и существования касательных, проведенных к исходным окружностям

Третий вариант задания инволюции будем рассматривать по той же схеме лишь с тем отличием, что порядок точек, задающих инволюцию, возьмем следующий: A, C, B, D. Мы вновь сможем убедиться в том, что касательные, только уже «внешние», проеденные к окружностям d1 и d2, пересекутся в центре cj окружности j, построенной на двойных точках этой инволюции.

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

Начертим теперь окружности d1 и d2, а также прямую t, которая будет пересекать эти окружности в точках A, B, C, D, но не будет проходить через их центры. Разумеется, на этих точках можно определить инволюцию, аналогичную первому примеру, построить двойные точки этой инволюции, окружность j и найти центр этой окружности cj. Опять, вынужденно забегая вперед, поскольку подробной речи о радикальных осях еще не было, отметим проявление возникающего свойства просто как визуальный факт: центр окружности jc будет находиться на радикальной оси rx окружностей d1 и d2, а сама окружность j будет перпендикулярной этим окружностям b и радикальной оси rx. Более того, ситуация не изменится, если прямая t не будет явно пересекаться с окружностями d1 и d2. Проективитет pr1 будет определен на мнимых точках A, B, C, D. Геометрическое построение сохранит свою актуальность даже в том случае, если исходные окружности будут иметь мнимые радиусы. Это никак не повлияет на определение проективитета и на существование окружности j, но зато даст нам богатую пищу для рассуждений о том, как используя возможности нового геометрического инструмента без особых хлопот провести окружность, ортогональную к мнимой окружности, то есть к заведомо невизуальному объекту, который нельзя начертить (рис. 15). В примере, приведенном на рис. 16, окружности d1 и d2 заданы мнимыми радиусами, что, однако, не мешает выполнению геометрического построения.

Рис. 15. Универсальный характер инструмента реализации проективного соответсвия, определяемого как на вещественных, так и на мнимых точках

Рис. 16. Построение окружности, ортогональной к двум окружностям, заданным мнимыми радиусами

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

Примеры, представленные в статье, можно загрузить с сайта автора по следующему адресу: http://dww.no-ip.org/KGP2017/2/examples.spx

Система Симплекс, в которой были реализованы эти примеры, доступна по адресу http://dww.no-ip.org/simplex.

Список литературы

1.    Волошинов Д.В. Геометрическая лаборатория. Закладываем основы // Качество графической подготовки: проблемы, традиции и инновации: Материалы VII международной  Интернет-конференции.  Февраль - март 2017 г. Пермь, 2017.
2.    Каган В.Ф. Очерки по геометрии. М.: МГУ, 1963. 572 с.
3.    Смирнов С. Г. Эрлангенская программа: прежде и теперь (к 125-летию программы Кляйна). Учёные записки Института информатизации образования (ИИО РАО), № 2, 1998.
4.    Глаголев Н.А. Проективная геометрия. М.: Высшая школа. 1963. 342 с.
5.    Четверухин Н.Ф. Проективная геометрия. М.: Учпедгиз. 1961. 360 с.
6.    Вольберг О.А. Основные идеи проективной геометрии. Учпедгиз. 1949. 188 с.
7.    Волошинов Д.В. Алгоритм решения задачи Аполлония на основе построения ортогональных окружностей. ГРАФИКОН 2016. Труды 26-Й Международной научной конференции, 2016, с. 284-288.
8.    Бакельман И.Я. Инверсия. М.: Наука. 1966, 79 с.

Вопросы и комментарии к выступлению:


Фото
Селиверстов Александр Владиславович
(10 марта 2017 г. 1:26)

Здравствуйте, Денис Вячеславович!
Я лишь во время этой конференции загрузил Вашу программу Симплекс 3.8.1.14 (для Windows). Первое впечатление хорошее.
В 2012 году Вы писали: "одной из актуальных задач является создание клиент-серверного варианта системы Симплекс, а также разработка аналогов этого приложения для мобильных устройств на платформе Android, операционных систем MacOS и iOS". http://www.mmf.spbstu.ru/mese/2012/35-47.pdf
Удалось ли что-то из этого?
Иногда редакции журналов просят подтверждение прав на использование рисунков или программ, в которых они созданы. На каких условиях распространяется программа? Хорошо бы указать тип лицензии в справочной информации.
Желаю новых успехов! С уважением, А.В. Селиверстов

Фото
Конопацкий Евгений Викторович
(10 марта 2017 г. 2:16)

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

Очень понравился Ваш доклад. Особенно понравились наглядные примеры. Тоже скачал себе Ваш Симплекс. Присоединяюсь к вопросу о лицензии. Его можно использовать в учебном процессе?

С уважением, Конопацкий Е.В.

 

Фото
Хейфец Александр Львович
(10 марта 2017 г. 7:18)

Денис Вячеславович, здравствуйте.

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

На конференции в МИТХТ прошедшей осенью я видел, как после Вашего доклада загорелись глаза у двух молодых преподавателей, которые в Симплексе увидели панацею для решения своей геометрической задачи.   Извините, но я постарался их вернуть на землю, сказав, что все легко реализуется с применением общепринятых методов программирования в AutoCAD’е на языке AutoLisp.  И подобные динамические примеры программирования графических изображений подробно приведены в нашей книге, которую я уже многократно упоминал (тоже маркетинг).  Нужно ли изобретать велосипед. Все это в AutoCAD’е известно и широко применяется.  

Итак, вопрос №2. В чем принципиально новые возможности Симплекса в отличие от возможностей мирового лидера AutoCAD в сочетании с популярным языком программирования AutoLisp.

 А.Л. Хейфец

Фото
Кокарева Яна Андреевна
(10 марта 2017 г. 11:29)

Денис Вячеславович. спасибо за интересный и наглядный доклад!

Извините, скачать сейчас программу нет возможности, поэтому не могли бы Вы объяснить фразу: "Проверку принадлежности фактического объекта, заменяющего формальный объект D1 целесообразно сделать в методе, то есть освободить пользователя от подобных проверок перед использованием метода, однако в этом случае простая, как, казалось бы, математическая процедура начинает обрастать целым арсеналом специальных вспомогательных средств, призванных на основе логической структуры программы, осуществлять проверки подобного рода. Именно поэтому использование вычислительных процедур в виде пакета программ оказывается труднореализуемым делом и весь вычислительный процесс лучше осуществлять в рамках специализированной системы, которую в свете обозначенных проблем легче организовать и поддерживать ее функционирование." В итоге, пользователю надо самому проверять принадлежность, или это делает Симплекс? о какой специализированной системе Вы говорите?

С уважением, Кокарева Я.А.

Фото
Волошинов Денис Вячеславович
(10 марта 2017 г. 18:58)

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

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

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

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

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

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

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

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

Фото
Волошинов Денис Вячеславович
(10 марта 2017 г. 19:05)

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

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

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

 

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

 

Фото
Волошинов Денис Вячеславович
(10 марта 2017 г. 19:47)

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

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

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

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

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

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

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

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

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

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

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

С уважением,

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

Фото
Волошинов Денис Вячеславович
(10 марта 2017 г. 22:32)

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

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

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

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

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

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

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

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

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

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

 

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

Фото
Волошинов Денис Вячеславович
(10 марта 2017 г. 23:00)

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

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

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

Фото
Хейфец Александр Львович
(11 марта 2017 г. 19:06)

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

Вы отметили, что являетесь программистом с 40-летним стажем.

Мой стаж программиста 42-43 года. В 1975 г. работал на “Минск”, диссертацию к.т.н сделал на “Наири”. C 1991 г. перешел на AutoLisp. В 2002 в Москве вышла моя “то-о-лстая” книга по программированию. 425 c. Тираж 5000 экз. Книга в продаже давно закончилась, компьютерную литературу не переиздают, но в библиотеках она есть.

Так вот, как программист – программисту.

Вы пишете, что благодаря Симплекс’у  решили ряд оригинальных задач. Но основой решения является геометрический алгоритм, в данном случае, Ваши алгоритмы. А уж какой программный пакет применить – это предмет личных предпочтений.  Все Ваши задачи, и Вы это не отрицаете, можно решить в AutoLISP’e.  Так, я решил и опубликовал модели основной теоремы аксонометрии Польке-Шварца, где  сплошь проективные преобразования. И все “легко” в AutoLisp.

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

Ваши замечания о высочайшем входном контроле параметров в Симплекс выглядят странно. Такой контроль в полной мере есть и в AutoLisp. А уж специальный контроль – дело программиста.  Он и в Симплекс понадобится, если чуть отклониться от запрограммированных Вами задач.

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

В AutoCAD’e тоже есть скрытое программирование, так наз., параметризация, где пользователь управляет мощными геометрическими программами, не вникая в их содержание.

И последнее. Ваш пакет “заточен” на определенный круг задач проективной геометрии. Это  задачи на плоскости. Видимо, поэтому Вы активный сторонник НГ.  А остальные на Вас “молятся”: доктор наук, программист и за НГ. Причина же в том, что c   алгоритмами 3D Вы не работаете и, поэтому,  Симплекс’у они не нужны.

Впрочем, мы боремся за общее дело: любое программирование – это шаг вперед на кафедрах графики. А там время покажет.

С уважением. А.Л. Хейфец

Фото
Селиверстов Александр Владиславович
(12 марта 2017 г. 1:45)

Здравствуйте, Денис Вячеславович.
Находящееся в открытом доступе (public domain), не может быть присвоено в будущем. Поэтому если заранее объявить, что программа может свободно копироваться и распространяться без каких-либо ограничений (freeware), могут быть трудности при получении государственного свидетельства о регистрации РИД (результата интеллектуальной деятельности). Но получив его, правообладатель может передавать программу по любой лицензии, которая не нарушает права третьих сторон. Обычно тексты лицензий определяются юристами организации, в которой работает разработчик. Если же организация не заинтересована, то можно написать как мера и красота скажут.

Фото
Волошинов Денис Вячеславович
(12 марта 2017 г. 12:05)

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

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

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

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

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

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

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

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

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

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

Фото
Волошинов Денис Вячеславович
(12 марта 2017 г. 12:20)

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

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

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

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

С уважением,

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

Фото
Тихонов-Бугров Дмитрий Евгеньевич
(12 марта 2017 г. 15:48)

Здравствуйте, Денис Вячеславович. Образцовый стиль ведения дискуссии, убедительная аргументация, прекрасный русский язык. Всё это напоминает общение с учёными - представителями старой отечественной научной школы, истинными инеллигентами. Мне посчастливилось неоднократно участвовать во всесоюзных газодинамических семинарах Гинзбурга. Не смотря на жаркие столкновения разных школ, яростные споры и дискуссии, все оставались в соответствующих рамках и никогда не опускались до ёрничания. Спасибо.

Жду Вас на семинаре 21 марта.

  С глубоким уважением, Тихонов-Бугров.

Фото
Волошинов Денис Вячеславович
(13 марта 2017 г. 8:21)

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

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

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


Назад Go Back