Формирование математической модели корпуса теплохода-площадки в программе FastShip6

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

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 24.03.2010
Размер файла 656,0 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

1

TEМА: Формирование математической модели корпуса теплохода-площадки в программе FastShip6

СОДЕРЖАНИЕ:

Введение

1. Приступая к работе

1.1 Назначение работы

1.2 Описание программы

2. Анализ процесса построения поверхности по ординатам

2.1 Введение

2.2 Математика поверхности

2.3 Описание проблемы

2.3.1 Назначение модели

2.3.2 Ординаты

2.3.3.Формат ординат

2.4 Методы автоматического создания поверхности

2.5 Ручной и полуавтоматические методы

2.5.1 Ручная подгонка/сглаживание

2.5.2 Полуавтоматическая подгонка/сглаживание

2.6. Итоги

3. Основные сведения из теории NURBS

3.1 Что такое NURBS

3.2 Терминология NURBS

3.3 Пример простого кубического В-сплайна

3.4 Пример простого квадратичного В-сплайна

3.5 Пример простого линейного В-сплайна

3.6 В-сплайн кривые против традиционных кривых интерполирования

3.7 Дополнительный контроль

3.8 Что значит “рациональный”?

3.9 От кривых к поверхностям

3.10 Граничные условия и сломы

3.11 Итоги главы. Основные свойства NURBS.

4. Построение теоретической поверхности судна

4.1 Построение плоского листа поверхности

4.2 Скругление форштевня. Передвижение точек в FastShip

4.3 Получение трёхмерной модели

4.4 Изображение поверхности с помощью сечений.

4.5 Изображение ординат на экране

4.6 Построение поверхностей бака и юта

4.7 Получение слома поверхности

4.8 Сглаживание поверхности

Заключение

Используемая литература

ВВЕДЕНИЕ

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

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

Работа FastShip основана на применении передовой области математики - математики NURBS, хорошо зарекомендовавшей себя при построении поверхностей.

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

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

Исходными данными для выполнения работы послужили таблица основных ординат судна и теоретический чертёж.

1. ПРИСТУПАЯ К РАБОТЕ

1.1 Назначение выполняемой работы

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

1). Уточнения положения пазов и стыков

2). Уточнение и оптимизация размеров листов для изготовления корпуса

3). Плазовые данные для выпуска (перевыпуска) шаблонов, каркасов для сборочно-сварочных постелей.

4). Плазовые данные для выпуска сборочных лесов.

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

1.2 Описание программы

Программа FastShip6, созданная фирмой Proteus Engineering, предназначена для создания поверхностей судовых корпусов любой сложности. Сочетая в себе простоту работы и дружественный интерфейс, FastShip6 позволяет создать математическую поверхность корпуса судна с достаточной степенью надёжности.

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

В отличие от предыдущих версий программы, FastShip6 выделяется своим приятным интерфейсом, что заметно облегчает работу пользователя. Шестая версия программы также отличается от предыдущих наличием некоторых команд, отсутствующих в более ранних версиях (зуммирование в реальном времени, простановка ординат на поверхности, позволяющая увидеть отклонение поверхности от нужной формы и др.). Для опытных пользователей с хорошим знанием программирования в FastShip6 имеется язык программирования Perl.

2. АНАЛИЗ ПРОЦЕССА ПОСТРОЕНИЯ ПОВЕРХНОСТИ ПО ОРДИНАТАМ

2.1 Введение

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

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

2.2 Математика поверхности

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

Поэтому следует сфокусировать внимание на использовании математики NURBS, где поверхность определяется с помощью “контрольной сетки', а вместе с тем и узлового вектора. Контрольная сетка NURBS-это сетка, состоящая из вершин, представленных в виде строк и столбцов, которые в явном виде задают форму поверхности.

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

2.3 Описание проблемы

2.3.1 Назначение модели

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

Таблица 1

Применение поверхности и требования к ней

Применение поверхности

Требования

Конструирование (линий, шпангоутов, раскрой листов)

Готовая поверхность должна быть очень гладкой. Поэтому, если поверхность точно удовлетворяет ординатам, ординаты должны быть очень точными. Иначе, поверхность следует сглаживать при условии, что ординаты сняты неточно.

Расчёт промежуточных результатов, например, анализ конечных элементов или расчёт гидростатики, где гладкость не очень важна

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

Проектирование, где форма корпуса может изменяться в процессе работы.

Гладкость поверхности более важна, чем точное соответствие ординатам, т.к. корпус всё равно будет изменяться. Контрольная сеть не должна быть слишком плотной, т.к. чтобы ей можно было пользоваться в дальнейшем.

Отсюда возникает два важных вопроса:

Должна ли поверхность точно удовлетворять ординатам или лучше чтобы она хорошо сглаживалась? В следующем разделе мы рассмотрим эту проблему.

Насколько плотной допускается быть контрольной сетке? Если поверхность будет использоваться только для промежуточных действий (расчёт сечений, расчёт гидростатики, расчёт элементов поверхности, раскрой листов и расстановка шпангоутов), и не будет изменяться в дальнейшем, то допустима плотная сетка. В противном случае, сетка должна содержать разумное количество вершин.

2.3.2 Ординаты

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

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

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

2.3.3 Формат ординат

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

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

2.4 Методы автоматического создания поверхности

Существует много программ и алгоритмов для создания поверхностей по ординатам, включая основные CAD системы, такие как ProEngineer™, Autodesk's AutoSurf®, Intergraph EMS™, а также другие программы конструирования корпусов. Почему бы не нажать кнопку одной из этих программ и не получить результат? Это классический пример, “когда вещь слишком хороша, чтобы быть правдой'.

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

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

Наконец, как уже говорилось, при автоматическом методе очень сложно отобразить топологические особенности, такие как сломы, касательные и т.д. Эти особенности формы корпуса обычно теряются при автоматичесском методе.

Почему эти автоматические методы неуспешны? Чтобы лучше разобраться в проблемах построения поверхностей будет полезно сравнить эту работу с обычным и более понятным процессом построения аналитических кривых по точкам.

Известно, чтобы построить кривую нужно иметь набор точек. Возможно, это является пережитком школьных времён, когда ученику давалась упорядоченные пары чисел для изображения на плоскости. Было упущено из вида, что точки расставлены в определённой последовательности, показывая, таким образом, связь между точками. Если при проведении кривой по точкам затрагивается вычислительная сторона, то этот процесс называется монотонным возрастанием параметра. Здесь студент начинает размышлять о том, чего не дано в задании. Как минимум, он должен ответить на следующие два вопроса:

Какого рода функцию нужно использовать для интерполяции между данными точками?

Как значения параметра должны соответствовать заданным точкам?

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

Математически единственным требованием является то, чтобы значения параметра монотонно возрастали при переходе по кривой в заданном направлении.

2.5 Ручной и полуавтоматический методы

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

2.5.1 Ручная подгонка/сглаживание

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

Для этой работы в FastShip имеются следующие инструменты:

Возможность видеть ординаты и/или маркеры, наложенные на поверхность.

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

Редактирование в реальном времени.

Использование нескольких видовых экранов

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

Функция двойной сетки

Иногда случается, что на каком-то участке поверхности нужно большее количество вершин, чтобы более точно подогнать поверхность по ординатам. В процессе проектирования в любое время можно добавить ряд или столбец в контрольную сетку. Однако, в некоторых случаях это может причинять неудобства. Чтобы решить эту проблему, FastShip предусматривает функцию удвоения числа столбцов или рядов поверхности, не меняя при этом формы поверхности. Данную функцию можно использовать вместе с функцией split-net, которая позволяет расщепить поверхность на две части, и рассматривать их как самостоятельные. Т.о. эта функция применяется, чтобы не загромождать модель.

Использование макросов для сообщения о несоответствии поверхности ординатам

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

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

2.5.2 Полуавтоматическая подгонка/сглаживание

FastShip имеет функцию fit-surface для автоматической подгонки контрольной сетки под ординаты. Проектировщик сперва создаёт поверхность, близкую по форме к ординатам, с необходимыми топологическими особенностями (сломы и т.д.). Эта функция корректно работает в той области поверхности, которая не содержит сломов и может давать непредсказуемые результаты у края поверхности, так что проектировщик вынужден вручную управлять краями поверхности и её сломами. Эти области можно исключить из работы функции fit-surface путём выполнения функции freeze-net, перед тем, как продолжать выполнение функции fit-surface. Функция fit-surface ни добавляет, ни удаляет ряды или столбцы поверхности; она только двигает существующие вершины. Она сохраняет плотность поверхности, т.е. не создаёт слишком загромождённой поверхности. Функция fit-surface может выборочно применяться к одному участку поверхности, не затрагивая остальной поверхности.

Команду fit-surface особенно эффективно применять при итерационных процессах, чередуя сглаживания проектировщика с подгонкой машины. Поэтому гладкость всё-таки остаётся делом проектировщика с обычными инструментами для её измерения. Если результат работы команды fit-surface точно удовлетворяет ординатам, но по мнению проектировщика поверхность не гладка, операцию можно отменить командой undo. Лучший метод заключается в следующем: вручную создаётся поверхность с нужной гладкостью, а затем снова запускается команда fit-surface (команда fit-surface может занять от 3 до 20 секунд, в зависимости от вашего компьютера, плотности ординат и сложности поверхности). Этот процесс может продолжаться настолько долго, пока не будет найдено оптимального соотношения между гладкостью поверхности и её схожести ординатам.

2.6 Итоги

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

Решение задачи с помощью сплайнов имеет тенденцию загромождать модели, которые могут содержать осцилляции, трудно удаляемые даже вручную. К тому же они могут сглаживать или терять отличительные особенности поверхности. По этой причине сплайны не находят применения при решении задач подобного рода. NURBS поверхности также страдают при автоматическом методе и теряют топологические особенности поверхности. Лучшим решением данной задачи является применение полуавтоматического метода с использованием NURBS поверхностей, когда проектировщик сам создаёт поверхность с нужной ему топологией, которую затем обрабатывает компьтер для получения более точного соответствия поверхности ординатам. Важно, чтобы проектировщик понимал качество снятых ординат и знал, нужно и возмоно ли точно подогнать поверхность по ординатам. Если поверхность нужна лишь для промежуточных расчётов или для расчёта гидростатики, то гладкости можно не уделять большого внимания, а точность не слишком важна, пока не будут точно установлены водоизмещение, центр величины и т.д. В любом случае гладкость стоит на первом месте перед точностью, т.е. ординаты могут быть и не подогнаны точно. В этом случае ручной и полуавтоматические методы более продуктивны и обеспечивают лёгкость и надёжность метода.

3. ОСНОВНЫЕ СВЕДЕНИЯ ИЗ ТЕОРИИ NURBS

3.1 Что такое NURBS

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

3.2 Терминология NURBS

Сперва поговорим о кривых‚ заданных параметрически и не параметрически. Возвращаясь к урокам математики в школе‚ вспомним‚ что кривую в пространстве можно определить параметрически и не параметрически. В простейшем случае прямой линии на плоскости можно определить её двумя способами:

Непараметрически: y=ax+b

Параметрически: x=g(u); y=h(u)

Явное непараметрическое задание функции‚ указанное выше‚ кажется простым и удобным в использовании и иногда так оно и есть. Имея значение x‚ можно вычислить значение функции f‚ а вместе с тем и значение y. Однако‚ что получится‚ если мы имеем не прямую‚ а какую-то кривую‚ для которой по данному значению х можно несколько разных значений у‚ как показано на рис.1.1? Теперь становится понятным как подобное явное задание функции легко может сбить с толку компьютерную программу‚ для которой не допускается многозначимость. Чтобы избежать этой проблемы FastShip использует параметрическое задание функции‚ для которого х и у (а также и z для случая в пространстве) являются независимыми функциями некоторого параметра u. В данном случае ограничением для u является его монотоное возрастание или убывание при движении по участку кривой. Параметр u это просто математическое “изобретение” и в действительности не имеет физических свойств по отношению к кривой.

Хотя выгода от использования параметрического задания налицо‚ оно имеет и свои недостатки. Возвращаясь к приведённому выше примеру‚ первый недостаток заключается в следующем: чтобы оценить местоположение точки‚ лежащей на линии ‚в пространстве нужно использовать два уравнения‚ а не одно‚ как в случае явного задания прямой. Поэтому в вычислительном отношении параметрическое задание сложнее. Второе‚ мы часто хотим вычислить у по данному х или х по данному у и ничего не знать про параметр u. При параметрическом задании сперва вычисляется u по заданному х‚ а потом уже у. Это не всегда является кратчайшим путём.

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

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

Обратите внимание на сходство форм определяющего многоугольника и кривой. В некотором отношении определяющий многоугольник можно рассматривать как карикатуру или увеличенное изображение кривой, которую он определяет. Обретя небольшой опыт, вы сможете легко отличать В-сплайн от определяющего многоугольника. Кроме того, вершины - это ручки, которые позволяют пользователю управлять формой кривой. Управляя положениями вершин можно управлять формой кривой. Хотя это не совсем строго , иногда для начинающих пользователей полезно думать о кривой, как о присоединённой к вершинам магнитами.

Следующая концепция, которой нужно уделить внимание для полного рассмотрения математики NURBS, касается узлового вектора. Проще говоря, узловой вектор - это перечень значений параметра u, который служит для определения положения вершин определяющего многоугольника в параметрическом пространстве. Для кривой в примере 3.2 значения узлов обозначены кружочками на кривой. Имеется множество способов, которыми можно рассматривать значимость узлового вектора. Значения узлового вектора определяют границы интервалов кривой, то есть те места кривой, где заканчивается интервал одного многочлена и начинается интервал другого. Для В-сплайна четвертого порядка (кубического) на рис.3.2, часть кривой с левого края до первого внутреннего узла - кубическая кривая, в то время как часть от этого узла до следующего - совсем другая кубическая функция. И напоследок отметим ещё одну деталь. Зачастую вызывают затруднения термины порядок и степень кривой. В контексте нашего рассуждения, степень кривой - это самая высокая целая степень многочлена, задающего кривую. Порядок - это степень плюс один и происходит из того, что в простейшей функции многочлена типа f (x) = ax3 + bx2 + сх + d число неизвестных коэффициентов на одно больше, чем самая высокая степень многочлена, из-за того что постоянная d имеет нулевую степень. Следовательно, кубический В-сплайн имеет третью степень, но - четвертый порядок.

3.3 Пример простого кубического В-сплайна

В качестве первого примера возьмём кубический (четвёртого порядка) В-сплайн, показанный на рис.3.3. Определяющий многоугольник состоит из четырёх вершин, обозначенных В012 и В3 ,соединённые пунктирными линиями.

Что можно определить по этой кривой? Давайте ответим на несколько вопросов по этой кривой. Первый, сколько нужно точек, чтобы задать кубическую кривую? Выясняется, что нужно столько точек, каков порядок кривой. Для задания линии нужно две точки, параболы - три точки, для кубической кривой нужно четыре точки. Т.к. в нашем определяющем многоугольнике четыре точки, то можно предположить, что в этом примере всего один кубический интервал.

Рис.3.3 Пример простого кубического В-сплайна

Как выглядит параметрическое пространство этой кривой, т.е. как изменяется параметр u вдоль кривой? Мы вправе назначить любой интервал изменения параметра u, но с тем условием, чтобы на этом интервале кривая монотонно возрастает при переходе из начала в конец кривой. Кроме того, нам важны не сами значения параметра, а его изменения вдоль кривой. Для удобства примем, что u изменяется от 0 до 1 при переходе из одного конца кривой в другой.

Затем, что такое узловой вектор для данной кривой? Т.к. мы знаем, что кривая состоит из единственного кубического интервала и что значения узлового вектора определяют границы интервалов, то можно догадаться, что узловой вектор выглядит как [0, 1]. Близко, но не совсем правильно. В текущей версии FastShip используется т.н. открытый узловой вектор (противопоставление периодическому узловому вектору, использовавшемуся в FastShip 3 и более ранних версиях). Открытый узловой вектор имеет свойство, заключающееся в том, что существует многозначность узловых значений в начале и в конце узлового вектора. Т.о. узловой вектор в данном примере имеет вид [0,0,0,0,1,1,1,1]. Значение многозначности узлов - сделать так, чтобы первая и последняя вершины многоугольника и начало и конец кривой соответственно совпадали. Сформулируем это важное свойство для В-сплайнов с открытым узловым вектором: кривая интерполирует между крайними точками определяющего многоугольника.

Наконец, как можно вычислить значение точки кривой по данным определяющему многоугольнику и узловому вектору? Чтобы продемонстрировать это, давайте вычислим значение точки при значении u=0.5. Этот процесс состоит из серии повторяющихся линейных интерполяций. Т.к. кривая третьей степени, то потребуется три серии последовательных интерполяций. Сперва проинтерполируя каждую из трёх наклонных определяющего многоугольника посередине длины (потому что данное значение параметра лежит посередине наклонной), получим три новых точки, отмеченные ромбиками на рис.3.3. Теперь проинтерполируем две новых наклонных, образованные соединением трёх точек, посередине длины и получим две новые точки. И, наконец, проинтерполируем наконную, полученную соединением двух точек, и получим искомое значение при u=0.5.

3.4 Пример простого квадратичного В-сплайна

Рассмотрим пример другого В-сплайна. Рассмотрим квадратичный (третьего порядка) В-сплайн, показанный на рис.3.4, определённый тремя вершинами определяющего многоугольника. Как мы уже поняли из предыдущего примера, чтобы определить квадратичную кривую нужно три точки, и что в данном случае существует единственный квадратичный интервал. Открытый узловой вектор будет иметь вид [0,0,0,1,1,1]. Возможно, вы заметили, что существует связь между числом вершин определяющего многоугольника и числом узлов узлового вектора. Для В-сплайнов в общем случае, число узлов равняется числу вершин определяющего многоугольника плюс порядок кривой. Как было замечено в предыдущем примере, многозначность узлов нужна для того, чтобы концы кривой совпадали с крайними вершинами определяющего многоугольника

Рис.3.4 Пример простого квадратичного В-сплайна

Вычислим значение кривой при параметре u=0.5. Как уже упоминалось, этот процесс состоит из серии линейных интерполяций. Проинтерполируем первую наклонную посередине длины. То же самое проделаем и со второй наклонной. Получим две точки. Соединяя их, получим новую наклонную. Проинтерполируем ёе посередине длины, получим значение кривой при u=0.5. Заметьте, что пришлось всего две интерполяции, чтобы вычислить значение кривой, и в общем случае нужно столько интерполяций, какова степень кривой. Подобную процедуру можно провести для вычисления значения кривой при любом значении u. Конечно, это всего лишь графический метод решения подобной задачи. Существуют также математические методы для решения этой проблемы (такие как метод Кокса-ДеБура), которые и используются в FastShip. Однако, графический метод полезен для более полного понимания математики NURBS, а также для демонстрации ряда важных свойств NURBS.

3.5 Пример простого линейного В-сплайна

Рис.3.5. Пример простого линейного В-сплайна

В качестве последнего примера рассмотрим линейный В-сплайн, показанный на рис.3.5. Определяющий многоугольник состоит из трёх вершин, обозначенных B0, B1, и B2. Что можно сказать об этой линейной кривой? Мы знаем, что нужно две точки, чтобы определить линию, так что здесь должно быть два линейных интервала. В узловом векторе нужно иметь три узла, чтобы определить два интервала, один - в начале, другой - в конце, третий - между первыми двумя. Для многих поверхностей, с которыми вы будете работать в FastShip, используется стандартный узловой вектор. Это значит, что внутренний узел находится на равном расстоянии, как от первого узла, так и от последнего. В дальнейшем мы будем рассматривать нестандартные узловые векторы. Следовательно, в данном примере узловой вектор будет иметь вид [0,0.5,1]. Тогда открытый узловой вектор с соответствующей многозначностью будет иметь вид [0,0,0.5,1,1]. Чтобы вычислить значение кривой при u=0.25 нужно рассмотреть наклоную B0B1, имеющие соответственно значения 0 и 0.5, и интерполировать эту наклонную посередине длины. Выясняется, что фактически для линейного В-сплайна определяющий многоугольник и линейный В-сплайн совпадают.

3.6 В-сплайн кривые против традиционных кривых интерполирования

Интерполирующая кривая

Многие из Вас работали с интерполирующими кривыми в том или ином виде, " кубическими сплайнами ", используемыми во многих приложениях для интерполирования между дискретным набором заданных точек. Чем эти кривые отличаются от В-сплайнов и почему они не используются в FastShip? Этот пункт рассказывает об основных различиях между использованием интерполирующих кривых и В-сплайнов в отношении проектирования.

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

Рис.3.6. Интерполирующая кривая против В-сплайна

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

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

Рисунок 3.6 показывает два В-сплайна, каждый состоящий из пяти контрольных точек, у каждого из них серединная точка смещена вертикально вверх. Заметьте совершенно разные полученные кривые. Интерполирующий сплайн действительно проходит через все контрольные точки, но непредсказуемо колеблется между определяющей линией , в то время как В-сплайн фактически не проходит через контрольные вершины, но более гладко повторяет контрольную сеть. Стоит также отметить, что если бы кривая в примере содержала большее количество контрольных точек на конце кривой, полученный В-сплайн остался бы прежним, в то время как интерполирующий сплайн продолжил бы затухающие колебания вплоть до к конца кривой. Отсюда следует два важных свойства В-сплайнов. Первое, при движении определяющей контрольной сетки В-сплайн может перемещаться только в направлении параллельном движению контрольной точки на величину, зависящую от близости к сдвигаемой контрольной точке. Второе, контрольная точка на кривой имеет ограниченный интервал влияния, т.е. при движении одной контрольной точки изменения в форме кривой будут иметь локальный характер. Этих свойств совершенно нет у интерполирующих сплайнов, которые должны проходить через контрольные точки. Фактически, можно показать, что воздействие от движения одной контрольной точки влияет по всей длине кривой, и что изменения формы кривой колебательны по своей природе. Манипулируя контрольной сетью В-сплайна при движении одной точки сети, сдвигается не один узел. Возвращаясь к рис.3.6, можно увидеть, что серединный узел, соответствующий сдвигаемой контрольной точке, сдвинулся на 2/3 расстояния контрольной точки, а два смежных узла сдвинулись параллельно на 1/6 расстояния. Смещения двух последних узлов оказалось достаточно, чтобы кривая сама устранила осцилляции. Проектировщик, использующий интерполирующие сплайны мог бы создать идентичную кривую, сдвинув три узла в заданные положения, но такая точность нежелательна. Аналогично проектировщик мог бы создать кривую путём интерполирования, используя В-сплайны, но для этого ему потребовалось бы создать колебательную сеть.

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

3.7 Дополнительный контроль

Теперь обратим внимание на проблему дополнительного контроля над В-сплайн кривой или поверхностью.При использовании FastShip часто случается, что пользователь нуждается в дополнительном контроле над формой поверхности. Очевидным средством для дополнительного контроля является добавление вершин в контрольный многоугольник. Как мы уже знаем, этим подразумевается добавление значений к узловому вектору. В FastShip используются два различных подхода для дополнительного контроля над поверхностью. Первый - это функция insert-net, а второй-функция insert-knot . Рассмотрим вкратце каждый из них.

Рис. 3.7. Дополнительный контроль посредством функции insert - net.

Рис.3.7. показывает использование функции insert-net для дополнительного контроля. Рассмотрим кубический В-сплайн, состoящий из четырёх вершин определяющего многоугольника(единственный интервал) и открытый стандартный узловой вектор. Мы хотим вставить точку в определяющую сеть посередине кривой, чтобы лучше контролировать поверхность в данном месте.

Рис.3.8. Дополнительный контроль с помощью функции insert - knot.

Функция insert-net сохраняет все существующие вершины многоугольника на своих позициях и вставляет определённым образом новую вершину в многоугольник, а также добавляет значение узла в узловой вектор, чтобы сохранить стандартность узлового вектора. В данном примере новая вершина была вставлена посередине между второй и третьей вершиной, и было добавлено новое значение узла 0.5. (Заметьте, что в FastShip новый узловой вектор будет иметь вид {0,0,0,0,1,2,2,2,2} т.к. FastShip поддерживает интегральные значения узлов). Теперь, если мы будем использовать уже изученные приёмы для вычисления значения кривой с дополнительным контролем, то обнаружим, что она слегка отличается от исходной кривой. Но мы же дополнительно проконтролировали поверхность. Секрет здесь в том, что команда insert-net не сохраняет форму кривой, но сохраняет стандартность узлового вектора.

Теперь обратимся к рис.3.8. для рассмотрения операции insert-knot дополнительного контроля. Начнём всё с того же В-сплайна, показанного в нижней части рисунка. Пользователь определяет в каком месте он хочет вставить узел, в данном примере при значении параметра 0.75. Узловой вектор соответственно изменяется и добавляется новая вершина. Однако в этом случае некоторые вершины многоугольника перемещаются со своих первоначальных позиций. Используется приём, описанный ранее, когда вершины определяются осреднением узлового вектора и новый многоугольник создаётcя, как показано справа на рисунке. Секрет здесь в том, что insert-knot сохраняет форму кривой, но не сохраняет стандартности узлового вектора. Фактически за исключением отдельных случаев единственного интервала узлового вектора невозможно вставить узел в стандартный многоинтервальный узловой вектор, при этом сохранить его стандартность.

3.8 Что значит “рациональный”?

До сих пор мы рассмотрели все части, которые составляют аббревиатуру NURBS за исключением одного “рациональность”. В-сплайн является рациональным, если каждой вершине его определяющего многоугольника соответствует своё значение веса точки. Вес точки можно рассматривать как силу влияния данной точки на кривую. Рассмотрим рис.3.9.

Рис.3.9. Рациональность В-сплайнов

Здесь мы пытаемся определить дугу круга в 900 используя квадратичный В-сплайн, заданный тремя вершинами многоугольника. Т.к. мы знаем что кривая приближается на своих концах к касательной, проведённой к конечным точкам наклонных, то для того, чтобы получить дугу 900 обе наклонных многоугольника должны быть перпендикулярны. Подгоняя многоугольник, как показано на рисунке, но оставляя веса точек равными 1, получается верхняя кривая, показанная на рисунке, очевидно, не круглой формы. Первым побуждением было бы сдвинуть вниз вершину В1 пока не получится фигура более круглой формы. Хотя этого могло быть и достаточно для приближения к круглой форме, это не может быть правильно по двум причинам. Первая, двигать вниз В1 означает, что две наклонные больше не будут перпендикулярными, т.е. касательные к конечным точкам кривой не могут быть перпендикулярными. Второе, и, возможно, более важное, ранее мы показали, что двигая вершину контрольной сети, все точки кривой двигаются в том же направлении, что и вершина, но на разные расстояния. Здесь же нам нужно, чтобы точки двигались от В1 в радиальном направлении. Это достигается изменением веса вершины В1. В данном примере вес точки уменьшили так, чтобы получился круг. Существует точное распределение весов определяющего многоугольника, которое позволяет получить круг. Хотя в определённых случаях это распределение легко вычисляется, оно не является общим случаем. Для большинства моделей, выполненных в FastShip, достаточным является приближённо построить круговую область, используя вершины со стандартными весами. Курс передового обучения FastShip предоставляет специальные примеры того, как использовать В-сплайны для получения круговых областей.

3.9 От кривых к поверхностям

Рис.3.10. От кривых к поверхностям.

Всё, что уже говорилось о NURBS кривых, справедливо и для NURBS поверхностей. Также существует определяющий многоугольник, но теперь он распространяется на два напраления и называется контрольной сеткой. Теперь мы будем говорить о пространстве двух параметров u-v. Большинство свойств, рассмотренных ранее, подходят и для пространства двух параметров. Кроме того, для поверхностей будет иметь место дополнительное свойство: в любой точке поверхности пересечение двух касательных к поверхности даёт внешнюю нормаль. И, наконец, как показано на рис.3.10, поверхность меньше повторяет форму контрольной сетки, чем кривая. Это является следствием того, что FastShip работает с тензорными поверхностями. Поэтому в случае кривой сдвиг вершины определяющего многоугольника на одну единицу вверх вызывает сдвиг самой кривой на полединицы вверх, а в случае поверхности сдвиг вершины сетки можно рассматривать как сдвиг поверхности на полединицы в каждом направлении, т.е. в итоге на четверть вверх.

3.10 Граничные условия и сломы

зеркальное г.у. конечное г.у. натурального сплайна

Рис.3.11. Граничные условия FastShip

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

Рассмотрим сломы кривых и поверхностей. Мы уже знаем, как можно использовать многозначные вершины или многозначные узлы, чтобы заставить В-сплайн проходить через заданную точку. Подразумевается, чтобы получить слом кривой нужно использовать любой приём, который сделал бы наклонные в этой точке неколлинеарными. Тогда возникает вопрос, что лучше использовать многозначные вершины или многозначные узлы? По этому поводу можно сделать два замечания. Первое, многозначные узлы считаются более предпочтительным вариантом, т.к. они хорошо определяются в рамках NURBS математики и не требуют дополнительной обработки. Знайте, что некоторые приложения, использующие в своей работе математику NURBS, не работают с многозначными вершинами, поэтому если вы планируете переместить свою работу в другое приложение, то возможно столкнетесь с проблемой дополнительной доработки. Второе замечание заключается в следующем: многозначный узел лучше использовать, если слом имеет большую длину, как, например, скуловой слом, а многозначные вершины лучше на локальных сломах, например, транец или палубный слом.

3.11 Итоги главы. Основные свойства NURBS

Подводя итоги, перечислим основные моменты, которые нужно было усвоить в этой главе:

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

Влияние любой вершины в определяющей сети ограничивается расстоянием плюс или минус порядок поверхности, делённый на два в любом направлении.

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

Непрерывность поверхности оценивается по числу равному порядок поверхности минус 2 в каждом параметрическом направлении. Фактически, если нет многозначных вершин или многозначных узлов, то непрерывность поверхности на данном интервале обеспечена.

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

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


Подобные документы

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

    курсовая работа [79,2 K], добавлен 25.06.2011

  • Процесс моделирования работы САПР: описание моделирующей системы, разработка структурной схемы и Q-схемы, построение временной диаграммы, построение укрупненного моделирующего алгоритма. Описание математической модели, машинной программы решения задачи.

    курсовая работа [291,6 K], добавлен 03.07.2011

  • База данных в Microstation. Подключение растрового изображения проекта третьего корпуса СГГА в MicroStation. Создание 3D модели. Горизонтальное сечение этажа. Проекции трехмерной модели. Определение и изменение площади. Поиск объекта по базе данных.

    курсовая работа [2,4 M], добавлен 26.02.2015

  • Алгоритм симплекс-метода. Задача на определение числа и состава базисных и свободных переменных, построение математической модели. Каноническая задача линейного программирования. Графический метод решения задачи. Разработки математической модели в Excel.

    курсовая работа [1,1 M], добавлен 18.05.2013

  • Построение и анализ математической модели игры. Определение вероятности обнаружения кораблей при всевозможном их расположении и различных системах поиска. Разработка алгоритмов для работы искусственного интеллекта. Структура программы и ее компоненты.

    курсовая работа [2,5 M], добавлен 22.12.2012

  • Обзор разновидностей сервоприводов. Проектирование печатной платы устройства средствами P-CAD. Описание схемы драйвера серводвигателя постоянного тока. Разработка чертежей составных частей корпуса и сборочного чертежа. Разработка 3-D модели корпуса.

    курсовая работа [1,6 M], добавлен 04.05.2013

  • Структура математической модели линейной задачи, алгоритм симплекс-метода. Разработка программы: выбор языка программирования, входные и выходные данные, пользовательский интерфейс. Описание программы по листингу, тестирование, инструкция по применению.

    курсовая работа [1,2 M], добавлен 31.05.2013

  • Построение структурной модели в программе RMSRoxar, исследование интерфейса и меню, назначение закладок. Гидродинамическое моделирование и построение соответствующей модели. Особенности построения моделей на разных стадиях изученности месторождения.

    отчет по практике [5,6 M], добавлен 18.12.2014

  • Разработка корпуса системного блока компьютера, обладающего эффективной системой охлаждения и приятным дизайном. Анализ существующих корпусов: "стимпанк", лепка из различных материалов, "техно". Выбор стиля и формы для корпуса системного блока.

    практическая работа [5,5 M], добавлен 06.05.2011

  • Построение математической модели, описывающей движение тела. Составление алгоритма расчёта и визуализации временных диаграмм скорости, пути и движущей силы. Листинг программы, реализующей представленный алгоритм расчёта и построение графиков V, S и F.

    контрольная работа [102,4 K], добавлен 05.11.2012

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.