Формирование математической модели
корпуса гребной лодки Ф. Конюхова и по ней
получение чертежей и расчетов, например,
лодка на волне, на волне-убийце – солитоне, при опрокидывании и т.д.

 

Теоретического чертежа в наличии нет, есть фотографии. По ним в авторской системе Вектор смоделируем лодку. Длина лодки - 9 м,  ширина пока неизвестна. Вес без загрузки – 260 кг.  (600 кг в загрузке).

Лодка почти на 3 метра превышает в длину лодку «УРАЛАЗ», на которой Федор пересек Атлантику, но так как она выполнена полностью из углеволокна (карбон), то по весу не тяжелее 6-ти метровой лодки «УРАЛАЗ».

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

Вес лодки без загрузки – 260 килограмм. Ожидается, что с полной загрузкой вес лодки превысит 600 килограмм.

 

 

 

 

 

 

 

 

 

 

Веслами надо сделать более 3 миллионов взмахов
и поэтому вопрос: выдержат ли уключины? ФФ парочку надо брать запасных

 

Пример, когда лодка может оказаться  в экстремальных ситуациях,
хотя такое не исключение, а постоянное состояние. Ужас!

 

 

Соберем приблизительные главные виды лодки

 

 

 

 

                                    

                                  

Исходные формообразующие линии: бортовую (две проекции), диаметральный батокс задаем в ColelDraw:

 

 

Далее линии  импортируем в систему Вектор (см. скрипт)

 

 

 

Эпюры – проверка гладкости исходных линий (есть небольшая не гладкость по диаметральному батоксу).

По исходным линиям  формируем бортовую поверхность

Площадь = 143.835

Центр = (0.121874, 0.916896, -6.95222e-005)

 

 

Основные виды бортовой поверхности

 

Теоретический чертеж

Развертка

Рассчитать водоизмещение

Зададим поверхность палубы (между бортовыми линиями).

На рисунке палуба приподнята

 

Между палубой и поверхностью корпусом (в той и другой поверхности количество задаваемых сечений должно быть равно) задаем лодку как тело

 

Объём = 92.8155

Центр = (0.363991, 1.14152, -0.000192022)

 

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

 

Объём = 124.15

Центр = (0.361095, 1.03524, -0.000192111)

 

Сетка кривизн (при значениях в диалоговой окне) получилась не совсем удачной (параметры точность вычислений и прочее надо подбирать):

 

 

Резюме: пока смоделировали (размеры пока произвольные) нижнюю часть  лодки. Время затраченное на все про все (в частности, вспомнить весь процесс) ушло два часа.  Кроме того форма корпуса более выпуклая – как  такую получить надо ввести  строевую – точнее линию палубы сдублировать и повернуть.  См. листинг 2

 

Каркас

 

Поверхность

 

Далее в МК надо дублирующую бортовую линию  поджать, чтобы борт был более вертикальный.

 

Ура! Из штаба ФК получили чертеж лодки. Длина 9 м, ширина 1, 72 м. В нашем случае – ширину  взяли намного больше; исправить-пересчитать с помощью МК нет проблем. И надо корму  подрезать (понятно как это сделать).

 

 

     

 

 

 

 

Уменьшить ширину – можно в диалоге системы «Вектор» с помощью масштаба по той или иной оси (например, по ширине взять 0.6)

 

Площадь поверхности уменьшилась, как и надо:

Площадь = 125.557

Центр = (0.334599, 0.743651, -0.000526788)

 

 

Моделируем верхнюю часть лодки  ФК

 

 

 

 

 

Площадь = 136.516

Центр = (-1.73183, 2.31416, -5.76441e-005)

 

 

 

Сборка нижней и верхней частей лодки ФК

 

 

 

Из нижней части лодки и верней сформируем  лодку как тело.

 

 

Объём = 222.508

Центр = (-0.283795, 1.63116, -0.0188448)

 

Зададим первоначальные поверхности-грани как квадратичные и по ним «тело» лодки

 

Получилось не совсем то, однако проверено, что так тоже работает.

Объём = 308.724   (объем получился больше )

Центр = (-0.123836, 1.63471, -0.0490465)

 

 

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

 

Формирования верхней части лодки можно  задать вторым вариантом (однако тело и вычислить объем уже не получиться).

Формообразующие линии (задаем в Coreldraw): Красная линия – вспомогательная – получена  из  растяжки и сжатия линий люка (синия ).  

 

 

 

В системе Вектор получены формообразующие как пространственные линии

 

 

Полиповерхность

 

 

Теоретический чертеж

 

 

 

 

Площадь = 102.552

Центр = (-1.52677, 2.4094, 0.0238849)

 

 

 

 

 

Аксонометрия и развертка

 

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

Пример: экспорт - импорт  кривой в CorelDraw (справа видим  ошибку).

 

Приложение: МК на .vbs, моделируемая  корпус лодки (поверхность палубы сделали в диалоге):

 

Листинг 1. Формирование поверхности по пространственной бортовой линии и батоксу

Vector.Import "C:\A_2013_Верстка\Скрипт\Бортова_xz.dxf", 1

Vector.Import "C:\A_2013_Верстка\Скрипт\Бортова_xy.dxf", 1

Line3d 1,2,1

n91 = LastNmb

Vector.Import "C:\A_2013_Верстка\Скрипт\Д_Батокс_xz.dxf", 1

CurrObjNmb = n91

dubl

Obj.Reflect 1 ' YZ

MoveToGroup 1, 4, "ngr"  ' номера первой и последней линии см в диалоге

n11 = LastNmb

dubl

Set O = Vector.p(0,0,0)

PolyPov.Reset ' Обнулить

Vector.PolyPov.SS O, n11, 51, 51, 0,1,0  ' (последний параметр из группы)

 

Листинг 2. Формирование поверхности по пространственной бортовой линии,
ее дублированию и повороту и батоксу

 

Vector.Import "C:\A_2013_Верстка\Скрипт\Бортова_xz.dxf", 1

Vector.Import "C:\A_2013_Верстка\Скрипт\Бортова_xy.dxf", 1

Line3d 1,2,1

n91 = LastNmb

dubl

Obj.Translate P(0, -1.6, 0)

obj.xAngle=-18

Obj.Translate P(0, 1.6, 0)

SetWidthColor 55, 0, 250, 0

n82 = LastNmb

Vector.Import "C:\A_2013_Верстка\Скрипт\Д_Батокс_xz.dxf", 1

 

CurrObjNmb = n82

dubl

Obj.Reflect 1 ' YZ

CurrObjNmb = n91

dubl

Obj.Reflect 1 ' YZ

MoveToGroup 1, 6, "ngr"  ' номера первой и последней линии см в диалоге

n11 = LastNmb

dubl

Set O = Vector.p(0,0,0)

PolyPov.Reset ' Обнулить

Vector.PolyPov.SS O, n11, 21, 21, 0,1,0  ' (последний параметр линии из группы)

 

Листинг 3. Формирование верха лодки по продольным линиям

 

Vector.Import "C:\A_2013_Верстка\Слава-Заслава\Бортова_xz.dxf", 1

n1 = LastNmb

Vector.Import "C:\A_2013_Верстка\Слава-Заслава\Бортова_xy.dxf", 1

n2 = LastNmb

Line3d n1,n2,1

n91 = LastNmb

Vector.Import "C:\A_2013_Верстка\Слава-Заслава\Верх_xz.dxf", 1

n3 = LastNmb

Vector.Import "C:\A_2013_Верстка\Слава-Заслава\Верх_xy.dxf", 1

n4 = LastNmb

Line3d n3,n4,1

n92 = LastNmb

CurrObjNmb = n92  ' 2

dubl

Obj.Reflect 1 ' YZ

CurrObjNmb = n91 '1

dubl

Obj.Reflect 1 ' YZ

MoveToGroup n91, n91+4, "ngr"  ' номера первой и последней линии см в диалоге

n11 = LastNmb

dubl

Set O = Vector.p(0,0,0)

PolyPov.Reset ' Обнулить

Vector.PolyPov.SS O, n11, 51, 51, 0,0,0  ' (последний параметр из группы)

 

Листинг 4. Второй вариант формирования верхней части лодки

 

Vector.Import "C:\A_2013_Верстка\Слава-Заслава2\Люк_xz.dxf", 1

n1 = LastNmb

'VBSMsg "n1 = " & n1

Vector.Import "C:\A_2013_Верстка\Слава-Заслава2\Люк_xy.dxf", 1

n2 = LastNmb

'VBSMsg "n2 = " & n2

Line3d n1,n2,1

 

Vector.Import "C:\A_2013_Верстка\Слава-Заслава2\Люк2_xz.dxf", 1

n1 = LastNmb

'VBSMsg "n1 = " & n1

Vector.Import "C:\A_2013_Верстка\Слава-Заслава2\Люк2_xy.dxf", 1

n2 = LastNmb

'VBSMsg "n2 = " & n2

Line3d n1,n2,1

 

Vector.Import "C:\A_2013_Верстка\Слава-Заслава2\Люк3d_xz.dxf", 1

n1 = LastNmb

'VBSMsg "n1 = " & n1

Vector.Import "C:\A_2013_Верстка\Слава-Заслава2\Люк3d_xy.dxf", 1

n2 = LastNmb

'VBSMsg "n2 = " & n2

Line3d n1,n2,1

 

MoveToGroup 1, 4, "ngr"  ' номера первой и последней линии см в диалоге

n11 = LastNmb

dubl

Set O = Vector.p(0,0,0)

PolyPov.Reset ' Обнулить

Vector.PolyPov.SS O, n11, 51, 51, 0,0,0  ' (последний параметр из группы)

 

 

Формируем поверхность лодка ФК  при задании формообразующих линий  непосредственно в системе Вектор

без использования CorelDraw (там оказалось ошибка см. выше)

 

Задаем формооразующие линии в масштабе 1:10

Две бортовых линии (по две проекции) и  батокс

 

По плоским проекциям получены пространственные бортовые линии и батокс плоский

Листинг

Vector.Import "C:\A_2013_Верстка\Vector_got\Бортовая_пр_xz.dxf", 1

n1 = LastNmb

Vector.Import "C:\A_2013_Верстка\Vector_got\Бортовая_пр_xy.dxf", 1

n2 = LastNmb

Line3d n1,n2,1

n92 = LastNmb

Vector.Import "C:\A_2013_Верстка\Vector_got\Бортовая_пр2_xy.dxf", 1

n2 = LastNmb

Vector.Import "C:\A_2013_Верстка\Vector_got\Бортовая_пр2_xz.dxf", 1

n3 = LastNmb

Line3d n3,n2,1

n91= LastNmb

Vector.Import "C:\A_2013_Верстка\Vector_got\Батокс.dxf", 1

 

Задаем поверхность

 

Площадь = 15.84

Центр = (-4.29547, 0.311619, 5.14687e-005)

 

 

Теоретический чертеж

 

Развертка

 

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

 

 

Общий листинг МК формирования поверхности нижней части лодки

 

Vector.Import "C:\A_2013_Верстка\Vector_got\Бортовая_пр_xz.dxf", 1

n1 = LastNmb

Vector.Import "C:\A_2013_Верстка\Vector_got\Бортовая_пр_xy.dxf", 1

n2 = LastNmb

Line3d n1,n2,1

n92 = LastNmb

Vector.Import "C:\A_2013_Верстка\Vector_got\Бортовая_пр2_xy.dxf", 1

n2 = LastNmb

Vector.Import "C:\A_2013_Верстка\Vector_got\Бортовая_пр2_xz.dxf", 1

n3 = LastNmb

Line3d n3,n2,1

n91= LastNmb

Vector.Import "C:\A_2013_Верстка\Vector_got\Батокс.dxf", 1

CurrObjNmb = n91 ' 2

dubl

Obj.Reflect 1 ' YZ

 

CurrObjNmb = n92' 2

dubl

Obj.Reflect 1 ' YZ

MoveToGroup 1, 6, "ngr"  ' номера первой и последней линии

n11 = LastNmb

dubl

Set O = Vector.p(0,0,0)

PolyPov.Reset ' Обнулить

Vector.PolyPov.SS O, n11, 21, 21, 0,0,0  

 

 

По формируем верх лодки 

 

 

 

 

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

 

 

 

И без батокса

 

Соответственно имеем два варианта поверхностей верха лодки

 

 

 

 

 

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

 

 

 

Площадь = 22.0315

Центр = (-4.49704, 0.800626, -7.33774e-005)

 

Теоретический чертеж

 

 

Развертка

 

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

 

 

Вычисление выполняем верх и низ в группе

 

Центр = (-4.41273, 0.596096, -2.11598e-005)

Площадь = 37.8714

 

 

 

Объём = 11.383

Центр = (-4.3166, 0.57042, -0.0128936)

 

Выводы. Лодка спроектирована верно: центр тяжести находится на уровне чуть ниже коленей  гребца. Теперь правильно распределить груз. А грузу не слабо – 340 кг будет. Распределить правильно груз - тоже задача интересная. Попробую ее дать курсантам-судоводителям,  программы есть готовые, можно и в системе «Вектор» рассчитать – просто добавить объемы с весом. Четверо курсантов ускоренников: А.Тараненко, В.Максимов, С.Тютюнник, Ю.Глазунов  принимали активное участие в формирование мат модели корпуса  яхты. За что им спасибо и благодарность.

Листинг: формирования нижней части лодки

Vector.Import "C:\A_2013_Верстка\Vector_got\Бортовая_пр_xz.dxf", 1

n1 = LastNmb

Vector.Import "C:\A_2013_Верстка\Vector_got\Бортовая_пр_xy.dxf", 1

n2 = LastNmb

Line3d n1,n2,1

n92 = LastNmb

Vector.Import "C:\A_2013_Верстка\Vector_got\Бортовая_пр2_xy.dxf", 1

n2 = LastNmb

Vector.Import "C:\A_2013_Верстка\Vector_got\Бортовая_пр2_xz.dxf", 1

n3 = LastNmb

Line3d n3,n2,1

n91= LastNmb

Vector.Import "C:\A_2013_Верстка\Vector_got\Батокс.dxf", 1

CurrObjNmb = n91 ' 2

dubl

Obj.Reflect 1 ' YZ

 

CurrObjNmb = n92' 2

dubl

Obj.Reflect 1 ' YZ

MoveToGroup 1, 6, "ngr"  ' номера первой и последней линии см в диалоге

'MoveToGroup n91, n91+4, "ngr"  ' номера первой и последней линии см в диалоге

n11 = LastNmb

dubl

Set O = Vector.p(0,0,0)

PolyPov.Reset ' Обнулить

Vector.PolyPov.SS O, n11, 21, 21, 0,0,0  ' (последний параметр из группы)

 

Листинг: формирования верхней части лодки

 

Vector.Import "C:\A_2013_Верстка\Vector_got\Бортовая_пр_xz.dxf", 1

n1 = LastNmb

Vector.Import "C:\A_2013_Верстка\Vector_got\Бортовая_пр_xy.dxf", 1

n2 = LastNmb

Line3d n1,n2,1

n92 = LastNmb

 

Vector.Import "C:\A_2013_Верстка\Vector_got\Верх_xy.dxf", 1

n2 = LastNmb

Vector.Import "C:\A_2013_Верстка\Vector_got\Верх_xz.dxf", 1

n3 = LastNmb

Line3d n3,n2,1

n91= LastNmb

Vector.Import "C:\A_2013_Верстка\Vector_got\Батокс_верх.dxf", 1

CurrObjNmb = n91 ' 2

dubl

Obj.Reflect 1 ' YZ

CurrObjNmb = n92' 2

dubl

Obj.Reflect 1 ' YZ

n2 = LastNmb

'MoveToGroup 1, 6, "ngr"  ' номера первой и последней линии см в диалоге

MoveToGroup n1, n2+1, "ngr"  ' номера первой и последней линии см в диалоге

n11 = LastNmb

dubl

Set O = Vector.p(0,0,0)

PolyPov.Reset ' Обнулить

Vector.PolyPov.SS O, n11, 21, 21, 0,1,0  ' (последний параметр из группы)

 

Расчет водоизмещения лодки ФК

 

Выполняется в зависимости от ее загрузки

 

Грузовую ватерлинию получаем из поверхности лодки, как сечения заданной плоскостью.

 

 

 

Далее в диалоге формируем две линии – для полуватерлинии  и батокс до ватерлинии линии. Линии экспортируем в .dxf-формат.

Далее делаем макрос формирования подводной части поверхности:

 

Vector.Import "C:\A_2013_Верстка\Vector_got\Ватерлиния_xz.dxf", 1

n1 = LastNmb

Vector.Import "C:\A_2013_Верстка\Vector_got\Ватерлиния_xy.dxf", 1

n2 = LastNmb

Line3d n1,n2,1

n91 = LastNmb

Vector.Import "C:\A_2013_Верстка\Vector_got\Батокс_ватерлиния.dxf", 1

CurrObjNmb = n91 ' 2

dubl

Obj.Reflect 1 ' YZ

MoveToGroup 1, 4, "ngr" 

n11 = LastNmb

dubl

Set O = Vector.p(0,0,0)

PolyPov.Reset ' Обнулить

Vector.PolyPov.SS O, n11, 21, 21, 0,0,0  '

 

 

 

 

 

 

 

Площадь смоченной (подводной поверхности)  = 8.29498

Центр = (-4.73289, 0.129949, -7.45801e-006)

 

Развертка

 

И теперь самое главное, задаем подводную часть как тело и вычисляем его объем (водоизмещение)

 

 

 

Объём (водоизмещение в масштабе: 1:10) = 0.914374

Центр = (-4.45265, 0.164957, 0.00509341)

 

Резюме: Построения-расчет выполнили довольно быстро. Нет автоматизации, например, в зависимости  от осадки автоматически сразу вычислять водоизмещение. Надо смотреть есть ли у нас метод получения сечения  поверхности плоскостью?. Есть: 

Построение плоских сечений и изолиний:

CreateIzolines 5, 3.7 

5-число изолиний

3.7 - уровень, если n = 0

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

То есть построения подводной части судна до ватерлинии и расчет водоизмещения  можно автоматизировать.

 

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

Или придется моделировать по фотографиям и описанию:

          

Для расчета остойчивости есть методика, не рассчитай, то до беды недалеко, перегрузим лодку,  центр тяжести и уйдет вверх и оверкиль обеспечен. Мы летом  не рассчитали катамаран (узкий сделали) и поплатились – на реке Амыл золотишко и нефритовые камни-друзы потопили и все что нажито непосильным трудом, читайте отчет Александра Заики:

http://old.msun.ru/Vector/Main/Amul/Amil_%20zaika.htm

.

А также по дальнейшей работе с лодкой:

 

Остойчивость и метацентрическая высота теория:

http://vm.msun.ru/Cad_ship/Morehod4.html

 

Устойчивость  и остойчивость форм,  расчет метацентрических характеристик судна  практика:

http://vm.msun.ru/Oixt/Cad_cam/Corel_vec4.html

 

Скрипт расчета:

http://vm.msun.ru/Oixt/Cad_cam/Corel_vec4.html

 

Все это и другая теория и тестирование дается по курсу:

Основы художественного конструирования судов

http://vm.msun.ru/Oixt/Cad_cam/Cad_beg.htm

 


 Примечание: К сожалению книга: 

 

И много еще чего, несколько основных и факультативных курсов  из-за недостаточного  ресурса (по мнению администрации сайта МГУ) просто удалены. 

 

Расчет остойчивости  при крене

Определим метацентрические характеристики лодки.
Теоретически для этого необходимо выполнить некоторые построения (см. рисунок): от точки С1 проводим вертикаль до пересечения в т. М с осевой линий мидель-шпангоута. Точка М называется метацентром.

Расстояние С1-M - метацентрический радиус

Расстояние G-M - метацентрическая  высота

Метацентр:
          Mx=5,3
          My=35.2
Метацентрический радиус

r=53.4
Метацентрическая  высота

h=28.7

Величина радиуса r и соответственно форма кривой C0-C1 зависят от обводов корпуса. В общем случае при увеличении крена метацентрический радиус уменьшается, так как его величина пропорциональна четвертой степени ширины ватерлинии.

Автоматизируем   задание  лодки (низ) как одного тела, используя метод:

nbody = CreateLinBody(n1, n2+1)

Входные параметры: 
n1 номер 1-й пов-ти в структуре 
n2 номер 2-й пов-ти в структуре 
Возвращается номер
n тела в структуре.

Тексты макрокоманд при этом объединяем в одну:

Объём = 12.9594 

Центр = (-4.30194, 0.577194, -0.0140057) (точка G)

 

Вычисленный центр – это точка G (см. рисунок вше )

Далее надо вычислить точку G0 – центр подводной части  лодки

 

Чтобы  тело задать между поверхностью лодки до ватерлинии и плоскостью ватерлинии (задаем треугольником)  используем метод:

nBody = CreateLinBodyFrom(n71, Trian, 0)

 Параметры :
1)
n71 - номер пов-ти в структуре 
2)
Trian - объект - треугольник или паралл 
3) если False, то треуг. иначе - паралл 
Возвращается номер тела в структуре 

Объём = 0.764104

Центр = (-4.76076, 0.187456, 0.000117201)  (Точка C0)

 

 

 

 

 

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

Вес и сила поддержания судна равны по величине, направлены в противоположные стороны, а центры их приложения находятся на одной вертикальной линии и в одной продольно-вертикальной плоскости, проходящей посередине вдоль судна — диаметральной плоскости (ДП). Если в какой-либо момент эти точки расположатся иначе, то судно будет получать крен и дифферент до тех пор, пока обе точки не расположатся на одной отвесной линии. В нашем случае судно имеет дифферент в корму.

Исправленный вариант – нос чуть опустили (повернули)

 

Для расчета остойчивости для крена то, что точки ЦТ по длине разнятся, не важно. Создаем крен, например 45 градусов. Судно вращается вокруг прямой пересечения плоскости ватерлинии  и диаметральной плоскости.

 

 

 

Проблема в другом: как вращать точку центра величины (голубая точка), вращающейся по метацентрическому радиусу,  который вычисляется в свою очередь, как величина пропорциональная четвертой степени ширины ватерлинии (см. выше)?! Когда-то над этой проблемой работали. См. здесь: http://vm.msun.ru/Oixt/Cad_cam/Corel_cad8.html.

 

Вокруг какой точки (линии) вращается судно при крене?

 

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

Если судно накренить па один борт на малый угол (5—10°) (рис. 89), ЦВ переместится из точки С в точку С 1. Соответственно сила поддержания, действующая перпендикулярно к поверхности, пересечет диаметральную плоскость (ДП) в точке М.

Точка пересечения ДП судна с продолжением направления силы поддержания при крепе называется начальным метацентром М. Расстояние от точки приложения силы поддержания С до начального метацентра называется метацентрическим радиусом.

Расстояние от начального метацентра М до центра тяжести G называется начальной метацентрической высотой h 0.

Начальная метацентрическая высота характеризует остойчивость при малых наклонениях судна, измеряется в метрах и является критерием начальной остойчивости судна. Как правило, начальная метацентрическая высота мотолодок и катеров считается хорошей, если она больше 0,5 м, для некоторых судов она допустима меньше, но не менее 0,35 м

Резюме: Повернуть  лодку вокруг линии пересечения плоскости ватерлинии и диаметральной не сложно. А вот как найти точку  С1 – остается не ясно.

Эврика! Точку С1 надо искать в пересчете как центр величины подводной части  при крене или деференте или при в том и другом случаях. Это в системе Вектор возможно. Хотя можно и традиционно строить по мидель-сечению.

 

 

 

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

 

Как решить задачу: «Выделить  поверхность, «тело» судна,
чтобы  вычислить его объем и центр тяжести (в судостроение «центр величины»)?

 

 

 

 

На интересует случай: когда поверхность и тело ниже плоскости (площадь, объем, ЦТ) .

 

Вот еще примеры

 

Нужны поверхность и тело ниже  плоскости:

 

Листинг  макроса рисунка выше

Rr=3

Set O = p (0, 0, 3)

Set N = p (0, 0, 1)

Arc.ss O, 0.7*Rr, Rr, 0, 180, N, 0 

n91 = LastNmb

Set O = p (0, 0, 2)

Set N = p (0, 0, 1)

Arc.ss O, 0.85*0.7*Rr, 0.85*Rr, 0, 180, N, 0 

n92 = LastNmb

Set O = p (0, 0, 0)

Set N = p (0, 0, 1)

Arc.ss O, 0.7*Rr, Rr, 0, 180, N, 0 

obj.xAngle= -90

Obj.Translate P(0, 0, 3)

Set O = p (0, 0, 2)

Set N = p (0, 0, 1)

Arc.ss O, 0.85*0.7*Rr, 0.85*Rr, 0, -180, N, 0 

Set O = p (0, 0, 3)

Set N = p (0, 0, 1)

Arc.ss O, 0.7*Rr, Rr, 0, -180, N, 0 

 

MoveToGroup 1, 6, "ngr"  ' номера первой и последней линии см в диалоге

n11 = LastNmb

dubl

Set O = Vector.p(0,0,0)

PolyPov.Reset ' Обнулить

Vector.PolyPov.SS O, n11, 51, 51, 0,0,0  ' (последний параметр из группы)

n93 = LastNmb

obj.All = True

obj.xAngle= -90

Obj.Uniform = 0 ' условия масштабирования по отдельности по x,y,z

' Obj.ScaleX = 2 ' по х не работает???? по y, z - нормально

Set A =p (2,2,4)
            Set B =p (5,
2,2)
            Set C =p (1,2,3)
            Trian.ss A, B, C

' Задаем тело

nBody = CreateLinBodyFrom(n93, Trian, False)

n95 = LastNmb

CurrObjNmb = n95

' ЦТ

'  Set Pc = C6Surfs.Centroid ' не срабатывает, выполнять команду расчета в диалоге 

С этой задачей может справиться только Ю.Роншин – главный программист системы Вектор.

 

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

 

Палыч, привет! То что центр тяжести под яйцами - хорошо. Ну а в принципе все бывает, вот случай:

 

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

Просыпается студент, думает, а хрен ли я с этим придурком лежу, пойду-ка профессорскую дочь навещу. Глядь в одну комнату – две головы из под одеяла торчат, ну то профессор с женой, глядь в другую - одна голова. Дочка! Юрк к ней под одеяло, спят.

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

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

Утро. Просыпается профессор. Один. В комнате студентов. Хм... Заглядывает в одну комнату - там студент с дочкой, в другую - студент с женой. Чешет репу:

- Сколько лет преподаю комбинаторику, но таких перестановок еще не видел !!!

 

Так примерно и мы поступим:  пусть курсанты дальше лодку рассчитывают – им сдавать экзамен, а  не нам – профессорам, у которых  во времена Хрущева зарплата была 500-540 рублей, у лейтенанта милиции в три раза меньше, сейчас лейтенант полиции получает – 60-80 тысяч, профессор 20 тысяч (и еще вдобавок  за звание и степень собираются не платить). А если вспомнить Петровские времена, то кроме заоблачной зарплаты, профессор получал еще и поместье, и дворянское  звание.  Вот тут перестановки  поинтереснее.  И начнем-ка лучше книгу «С Конюховым через Тихий океан» собирать – материала уже достаточно.  Обложка

 

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

Интересно: Математика мореплавателю