Форум программистов, компьютерный форум, киберфорум
Наши страницы
3D моделирование
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
JohnyWalker
194 / 82 / 8
Регистрация: 15.11.2010
Сообщений: 472
1

Языки для описания геометрических тел и фигур

11.05.2017, 21:30. Просмотров 694. Ответов 2
Метки нет (Все метки)

Здравствуйте, форумчане!

Заинтересовал такой вопрос. Существуют ли языки, позволяющие описывать геометрические объекты — тела в пространстве, фигуры на плоскости, всевозможные линии и поверхности? Допустим, во всяких САПР/CAD и программах 3D-моделирования геометрические объекты строит пользователь в визуальном режиме в процессе работы с программой. Действия пользователя по созданию объекта напоминают в этом случае работу с графическим редактором. Меня же заинтересовал вопрос, есть ли языки, позволяющие описывать геометрическую фигуру абстрактно в виде формализованного текста, подобно тому как программист описывает программу на языке высокого уровня или верстальщик, работающий с TeX'ом, записывает текст будущей статьи на специальном языке вёрстки. В этом случае образ фигуры просто представлял бы собой некий текст, хранящийся в одном или нескольких текстовых файлах, этот текст был бы понятен человеку, а для изменения формы фигуры нужно было бы в текстовом редакторе внести изменение в текстовые файлы, описывающие её образ. Хотел узнать, существуют ли подобные языки в мире компьютерных программ?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.05.2017, 21:30
Ответы с готовыми решениями:

Построение фигур для ЧПУ станка
Здравствуйте. Мне нужно нарисовать такие фигуры, высотой 12см для последующей...

Построить систему классов для описания плоских геометрических фигур
Здравствуйте. Прошу помощи) Вот сама задача Построить систему классов для...

Построить систему классов для описания плоских геометрических фигур
Всем привет. Помогите пожалуйста сделать программу, ото совсем не получается и...

Построить систему классов для описания плоских геометрических фигур
Ребята смотрите дана така задача: Построить систему классов для описания...

Построить систему классов для описания плоских геометрических фигур
Построить систему классов для описания плоских геометрических фигур: круга,...

2
xugack
827 / 449 / 84
Регистрация: 17.12.2013
Сообщений: 1,624
12.05.2017, 09:53 2
Есть программа OpenSCAD, там как раз модели строятся на основе написанного скрипта, а не с помощью графического интерфейса.
1
JohnyWalker
194 / 82 / 8
Регистрация: 15.11.2010
Сообщений: 472
12.05.2017, 14:16  [ТС] 3
xugack, посмотрел немножко описание этой программы https://en.wikibooks.org/wiki/OpenSC...nSCAD_Language. Да, в ней действительно воплощён некий геометрический язык программирования. Как я понял, в основу языка положено некоторое количество графических примитивов — прямые, отрезки, окружности, дуги, кубы, цилиндры и т. п., а также некоторе количество простых преобразований и операций — сдвиг, поворот, отсечение, пересечение, соединение тел и др. Все эти графические примитивы, преобразования и операции позволяют построить всё многообразие геометрических тел и фигур.

У меня в связи с этим к форумчанам возник такой вопрос.

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

Я вот хотел узнать у форумчан, может, такой подход уже реализован и существует язык или программная система, позволяющий работать с геометрией именно на таком уровне?
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.05.2017, 14:16

Построить систему классов для описания плоских геометрических фигур
C++ Построить систему классов для описания плоских геометрических фигур:...

Построить систему классов для описания плоских геометрических фигур
ПОЖАЛУЙСТА ПОМОГИТЕ ИСПРАВИТЬ ПРОГРАММУ НА ПАСКАЛЕ!!!!! Var a of Real;...

Написать программу для отображения движения геометрических тел по заданной траектории
Написать программу для отображения движения геометрических тел по заданной...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru