Первый вопрос, который нужно задать для чего будет использоваться построенная поверхность. Некоторые из возможных применений поверхности, а также требования к ним указаны в таблице 1.
Таблица 1
Применение поверхности и требования к ней
Применение поверхности | Требования |
Конструирование (линий, шпангоутов, раскрой листов) | Готовая поверхность должна быть очень гладкой. Поэтому, если поверхность точно удовлетворяет ординатам, ординаты должны быть очень точными. Иначе, поверхность следует сглаживать при условии, что ординаты сняты неточно. |
Расчёт промежуточных результатов, например, анализ конечных элементов или расчёт гидростатики, где гладкость не очень важна | Поверхность должна точно удовлетворять ординатам, не обращая внимания из скольких вершин состоит контрольная сеть, описывающая поверхность, т.к. гладкость не является определяющим фактором. |
Проектирование, где форма корпуса может изменяться в процессе работы. | Гладкость поверхности более важна, чем точное соответствие ординатам, т.к. корпус всё равно будет изменяться. Контрольная сеть не должна быть слишком плотной, т.к. чтобы ей можно было пользоваться в дальнейшем. |
Отсюда возникает два важных вопроса:
1. Должна ли поверхность точно удовлетворять ординатам или лучше чтобы она хорошо сглаживалась? В следующем разделе мы рассмотрим эту проблему.
2. Насколько плотной допускается быть контрольной сетке? Если поверхность будет использоваться только для промежуточных действий (расчёт сечений, расчёт гидростатики, расчёт элементов поверхности, раскрой листов и расстановка шпангоутов), и не будет изменяться в дальнейшем, то допустима плотная сетка. В противном случае, сетка должна содержать разумное количество вершин.
Важно знать, откуда взялись ординаты и каково их качество, а также имеется ли возможность посмотреть таблицу ординат в оригинале для проверки и получения дополнительной информации.
Качество ординат. Качество ординат, находящихся в работе, очень важно в процессе создания корпуса. Сняты ли ординаты измерением с реального судна или взяты из плазовой книги? Если это так, то было бы неразумным подгонять их очень точно. С другой стороны, если ординаты сняты с масштабированного чертежа судна, то поверхность не обязательно скрупулёзно сглаживать. В этом случае вы, возможно, не захотите очень точно подогнать поверхность, а захотите иметь что-то похожее на имеющееся судно. Другими словами, гладкость поверхноти-величина относительная.
Часто книга или файл с ординатами содержат ошибочные данные. Эти данные нужно удалить или исправить, чтобы ошибка не повлияла на результат работы. В этом случае очень важно иметь доступ к источнику взятых ординат.
Часто подгоняемые ординаты являются шпангоутами. Шпангоутов бывает достаточно, чтобы описать форму корпуса в районе мидель-шпангоута, где ватерлинии обычно параллельны диаметральной плоскости. Но в оконечностях, где форма судна резко меняется при переходе в нос или корму, шпангоуты - не лучший способ описания формы корпуса. Форму форштевня и ахтерштевня очень трудно определить с помощью шпангоутов. По возможности, таблица ординат, с которой вы работаете, должна содержать профиль судна по диаметральной плоскости, окончания ватерлиний в оконечностях судна, точки слома на корпусе, а также характерные линии корпуса, такие как плоские участки бортов и днища. Компьютер сам не сможет отобразить эти особенности, если они не заданы явно.
Время, потраченное на подготовку ординат к работе, не будет потеряно зря. Удостоверьтесь, что ваши данные не содержат ошибок, и что форма судна хорошо определяется ординатами, особенно если это является определяющим фактором. Пусть лучше ваш натреннированный глаз легко проинтерполирует кривую, определяющую форму корпуса, по небольшому числу ординат, т.к. компьютер не сможет этого сделать.
Существует много программ и алгоритмов для создания поверхностей по ординатам, включая основные CAD системы, такие как ProEngineer™, Autodesk’s AutoSurf®, Intergraph EMS™, а также другие программы конструирования корпусов. Почему бы не нажать кнопку одной из этих программ и не получить результат? Это классический пример, “когда вещь слишком хороша, чтобы быть правдой’.
Первая проблема этого метода в том, что он полагает, что ординаты полностью определяют корпус, и что они совершенно гладкие (на самом деле, очень редкий случай). Даже если ординаты совершенно гладкие и полностью определяют корпус, они обычно представлены в виде шпангоутов, т.е. не совсем равномерно распределены по корпусу, особенно в оконечностях. Это может вызвать неестественное искажение поверхности.
Вторая проблема состоит в том, что полученная в результате этого поверхность достаточно плотно составлена, чтобы допустить какие-либо изменения вручную (в крайнем случае, поверхность можно создать, если присвоить каждой ординате свою вершину). Так что если по каким-либо причинам вы захотите изменить поверхность, вы практически не сможете этого сделать.
Наконец, как уже говорилось, при автоматическом методе очень сложно отобразить топологические особенности, такие как сломы, касательные и т.д. Эти особенности формы корпуса обычно теряются при автоматичесском методе.
Почему эти автоматические методы неуспешны? Чтобы лучше разобраться в проблемах построения поверхностей будет полезно сравнить эту работу с обычным и более понятным процессом построения аналитических кривых по точкам.
Известно, чтобы построить кривую нужно иметь набор точек. Возможно, это является пережитком школьных времён, когда ученику давалась упорядоченные пары чисел для изображения на плоскости. Было упущено из вида, что точки расставлены в определённой последовательности, показывая, таким образом, связь между точками. Если при проведении кривой по точкам затрагивается вычислительная сторона, то этот процесс называется монотонным возрастанием параметра. Здесь студент начинает размышлять о том, чего не дано в задании. Как минимум, он должен ответить на следующие два вопроса:
· Какого рода функцию нужно использовать для интерполяции между данными точками?
· Как значения параметра должны соответствовать заданным точкам?
Часто для этой цели используются многочлены и сплайны из-за того, что их можно неоднозначно провести в пространстве, их хорошо известных свойств и вычислительной эффективности. В отдельных случаях, когда уже известна функциональная зависимость между точками, можно применить её. Подобных функций в данном случае имеется несколько в наличии, выбирается та, чьи параметры наиболее точно подходят.
Математически единственным требованием является то, чтобы значения параметра монотонно возрастали при переходе по кривой в заданном направлении.
Существует лучший, более практичный метод создания модели по ординатам. В FastShip заложены некоторые инструменты, которые сделают этот процесс как можно более и эффективным. Эти инструменты можно подразделить на две категории: ручной подгонки и полуавтоматической подгонки. Хотя эти инструменты не являются автоматическим, мгновенным решением проблемы, они способны достаточно реально и эффективно решать проблему построения модели по существующим ординатам.
Основной метод создания модели по ординатам заключается в следующем: вручную создать поверхность, сравнить её данными ординатами, а затем сглаживать её до тех пор, пока не будет достигнуто удовлетворительных результатов. Применяя этот подход, конструктор сам строит поверхность с нужной топологией (сломы, скуловые радиусы, конические формы, цилиндрическая вставка и т.д.), не надеясь, что программа автоматически различит эти особенности по ординатам. Важной особенностью этого процесса является то, что конструктор может работать с ординатами, не обращая внимание на гладкость, и наоборот.
Для этой работы в FastShip имеются следующие инструменты:
· Возможность видеть ординаты и/или маркеры, наложенные на поверхность.
Любые ординаты можно показать на экране, наложив их на поверхность, а также сечения поверхности, проведённые в местах расположения ординат. Это позволяет сразу увидеть разницу между ординатами и построенной поверхностью.
· Редактирование в реальном времени.
· Использование нескольких видовых экранов
· FastShip позволяет проектировщику измерить координаты любой точки на поверхности, а также измерить расстояние между ординатой и точкой поверхности. Также можно вычислить элементы гидростатики, чтобы знать имеет ли судно соответствующие водоизмещающие свойства. Можно также измерить кривизну поверхности и кривизну любого сечения
· Функция двойной сетки
Иногда случается, что на каком-то участке поверхности нужно большее количество вершин, чтобы более точно подогнать поверхность по ординатам. В процессе проектирования в любое время можно добавить ряд или столбец в контрольную сетку. Однако, в некоторых случаях это может причинять неудобства. Чтобы решить эту проблему, FastShip предусматривает функцию удвоения числа столбцов или рядов поверхности, не меняя при этом формы поверхности. Данную функцию можно использовать вместе с функцией split-net, которая позволяет расщепить поверхность на две части, и рассматривать их как самостоятельные. Т.о. эта функция применяется, чтобы не загромождать модель.