Определение неизвестных размеров по имеющимся чертежам и известным размерам

Задача найти размеры и другие геометрические характеристики, значений которых нет в таблицах ТТХ, в общем-то тривиальна. Берется чертеж самолета на бумаге в известном масштабе, линейка и вперёд - измерил, умножил на масштаб, получил результат. Но в век цифровых технологий так просто уже ничего не делается. Во-первых, сам чертеж самолета это чаще всего растровое компьютерное изображение. Его, конечно, можно распечатать и дальше действовать по описанной выше схеме. Но зачем, когда всё можно сделать прямо на компьютере?! А линейкой можно отгонять мух.
Для удобства определения различных геометрических характеристик (размеры, углы) по имеющимся чертежам и известным размерам была использована программа 2D-проектирования (черчения) LibreCAD v2.0.0 beta1.
Окно About программы LibreCAD

Программа LibreCAD бесплатная, с открытым исходным кодом. Функциональные возможности LibreCAD, по видимому, меньше чем у распространенной платной системы AutoCAD, однако они вполне достаточны даже для профессионального использования, имеются все необходимые инструменты. Интерфейс программы прост, легко изучаем и интуитивно понятен (это, по личному субъективному мнению, относится к версии 2.0.0 и в меньшей степени к более ранним).
Хочется выразить благодарность автору цикла статей "Путь безвестности: осваиваем LibreCAD" (e-mail автора kyzic@jabber.bks-tv.ru), размещенных по адресу http://obscurityway.blogspot.ru/2013/05/librecad.html , в которых очень просто и доходчиво разъяснены основы работы с программой.

Идея метода:
LibreCAD, как и другие программы компьютерного проектирования, позволяет произвести измерение любого элемента чертежа. Идея проста - загрузить имеющееся растровое изображение самолета в LibreCAD и дальше измерять все что потребуется. Проблема состоит в том, что при вставке растрового изображения в чертеж, размеры полученного изображения на чертеже будут иметь не размеры реального объекта, а размеры в каком-то неизвестном масштабе. Поэтому после вставки растровое изображение сначала нужно правильно отмасштабировать и уже потом проводить измерения.

Общее описание метода:
- чертеж в электронном виде (растровое изображение) загружается в LibreCAD;
- загруженное изображение, масштабируется таким образом, чтобы измеряемый LibreCAD размер изображенных на нем объектов равнялся реальному размеру этих объектов. Например, если известно, что размх крыла самолета 30 метров (30000 мм), то после масштабирования размах крыла на изображении в LibreCAD тоже должен быть 30000 мм;
- элементы, которые нужно измерить очерчиваются линиями с которых и снимаются необходимые размеры.

Детальное описание метода:
- Открываем программу LibreCAD 2.0.0 и создаем в ней новый документ
Внешний вид LibreCAD

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

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

Масштаб изображения объектов на получившемся чертеже будет произвольным и нам предстоит привести его к значению 1:1. Для этого необходимо в первую очередь выяснить текущий размер на чертеже для какого-либо объекта с зараннее известным истинным размером. У самолета, пожалуй, лучше всего измерять размах крыла. Во-первых, истинное значение этого параметра почти всегда известно. Во-вторых, при его измерении не бывает неоднозначностей. Если при замере длины самолета можно учитывать или не учитывать длину штанги ПВД, а при определении высоты возникает вопрос со стойками шасси (считать вместе с ними или без, а если с ними, то с обжатыми аммортизаторами или нет), то с размахом крыла все предельно ясно. По крайней мере, если на концах крыла нет винглетов, ракет или подвесных баков.
Итак, измеряем текущий размах крыла на чертеже:
Делаем активным слой sizes.
активация слоя sizes
Отключаем режимы привязки отключая в меню Привязка все пункты кроме Привязка->FreeSnap и Привязка->Restrict Nothing.
Внешний вид панели инструментов при отключенных привязках
Внешний вид панели инструментов при отключенных привязках
Выбираем рисование прямой линии по двум точкам (пункт меню Черчение->Линия->2 Точки)
Выбор рисования линии по двум точкам
Выбор рисования линии по двум точкам

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

Включаем привязку к конечным точкам (меню Привязка->Snap on Endpoints)
Выбираем рисование размера: меню Размер->Выровненный и рисуем размер сначала подводя курсор к одному концу нарисованной линии и нажимая левую кнопку мыши, затем к другому и, наконец, отведя курсор от линии и третий раз нажав левую кнопку. Получившаяся размерная линия и сам размер показаны на рисунке.

размерная линия


Число, обозначающее размер может быть выведено очень мелким шрифтом по сравнению с  изображением самолета, что неудобно. Чтобы увеличить шрифт, нужно зайти в меню Правка->Текущие настройки чертежа и в открывшемся окне "Параметры чертежа" выбрать вкладку "Размеры". Число в поле ввода "Высота текста" определяет высоту шрифта, используемую в размерах, это число нужно увеличить и нажать кнопку Ок. Если шрифт все равно окажется слишком мелким надо повторно зайти в окно "Параметры чертежа" и снова увеличить высоту текста.
окно "Параметры чертежа"
шрифт числа увеличен
Число, обозначающее размер, может накладываться на изображение самолета. В этом случае удобно будет временно скрыть изображение, чтобы число было хорошо различимо. Для этого нужно справа, в окошке "Список слоев" нажать на изображение глаза напротив слоя image_back
отключение видимости слоя
чертеж с отключенным слоем image_back

Теперь мы отчетливо видим величину размаха крыла, которую имеет изображение самолета в текущем масштабе. В нашем случае это 638,7 мм.
Сравним с размахом крыла реального самолёта. В приведенном примере (самолет Baade VEB-152) реальный размах крыла равен 26,4 м или 26400 мм. Значит, чтобы размер на чертеже был реальным, нужно увеличить изображение в (26400 / 638,7), т. е., в 41,33 раза. К большому сожалению, работа с растровым изображением, соответствующим по размерам настоящему самолету, требует от компьютера значительных ресурсов и в случае их нехватки LibreCAD не сможет отобразить чертеж. Если такое происходит, то можно перейти к работе с изображением в масштабе 1:10, в этом случае размеры на чертеже, определяемые в милиметрах будут соответствовать истинным размерам в сантиметрах. В нашем случае чтобы перейти от текущего масштаба к масштабу 1:10 потребуется увеличить изображение в 4,133 раза.
Чтобы увеличить изображение и размерные линии, их надо прежде всего выделить. Включим видимость слоя image_back. Теперь виден и растровый чертеж и размер. Удобнее всеего выделять объекты когда они полностью помещаются на экран, этого легко добиться с помощью приближения/отдаления (пункты меню Вид->Приблизить и Вид->Отдалить). Если при этом чертеж уходит из поля зрения, его можно вернуть с помощью полос прокрутки.
объекты полностью помещаются на экран
Выделяем объекты мышью. Выбираем пункт меню "Изменение->Масштабировать"
пункт меню "масштабирование"
В панели команд, в нижней части окна, появится приглашение выбрать объекты для масштабирования (Select to scale).
запрос Select to scale
Так как объекты у нас уже выбраны, просто нажимаем Enter. Причем, следует нажимать кнопку Enter на основной части клавиатуры, на кнопку Enter находящуюся  в  нижнем правом углу (на Numpad) программа не реагирует.
В ответ на нажатие Enter программа выдает запрос базовой точки для масштабирования ("Укажите базовую точку").
запрос базовой точки 
Наводим курсор на какую нибудь точку, для определенности, на верхний левый угол чертежа и один раз нажимаем левую кнопку мыши. Появится окно "Параметры масштабирования".
окно параметров масштабирования
В этом окне устанавливаем следующие параметры:
- в группе "Число копий" выбираем "Удалить оригинал"
- галочку "Изотропное масштабирование" включаем
- в поле "X" вводим наш коэффициент масштабирования (4,133)
- галочку "Использовать текущие атрибуты" устанавливаем
- галочку "Использовать текущий слой" сбрасываем
Нажимаем кнопку Ок.
Чертеж будет смасштабирован. Скорее всего, новое изображение окажется за пределами видимости. Чтобы его найти, проще всего выбрать пункт меню Вид->Показать всё, после чего по необходимости приблизить изображение используя пункт меню Вид->Приблизить и полосы прокрутки. В итоге мы получим  чертеж в нужном нам масштабе.
отмасштабированное изображение
Прежде чем продолжить, пару слов о командах Вид->Приблизить и Вид->Отдалить. Вместо выбора этих пунктов в меню, можно использовать либо команды на клавиатуре (Ctrl-"+" и Ctrl-"-" соответственно), либо вращение колеса мыши. Последний вариант, возможно, самый удобный, но во многих других программах (MS Visio, LibreOffice Draw и даже некоторых WEB-браузерах) принята другая логика использования колеса мыши. Простое вращение колеса перемещает изображение вверх/вниз (как вертикальная полоса прокрутки), а вращение колеса с нажатой кнопкой Ctrl приближает/удаляет изображение. В LibreCAD - наоборот. Попытки перенастроить LibreCAD под более привычное поведение не привели к успеху. Вариант с самостоятельным исправлением исходного кода программы несмотря на статус Open Source показался не слишком эффективным. Вместо этого была найдена внешняя программа, позволяющая переназначать действие колеса мыши так, чтобы в LibreCAD  оно вело себя как и в большинстве офисных программ. Это программа Key Manager компании ATNSOFT. Сайт программы http://www.atnsoft.com/rus/keymanager/. Программа коммерческая, но ее цена невысока. Приобретенная домашняя лицензия на один компьютер стоила 500 рублей (лето 2013 г.).
ATNSOFT Key Manager
Вернемся к чертежу. Теперь он отмасштабирован и необходимо убедиться в том, что его размеры соответствуют истинным в соотношении 1:10. Для этого может снова потребоваться увеличение шрифта, которым выводится размер, и скрытие слоя image_back. Это делается уже описаными выше методами.
размер масштабированного чертежа      размер масштабированного чертежа
Размер получился 2639,8927 (см), то есть, разница с размахом крыла настоящего самолета (26,4 метра) составляет 1,1 милиметра - достаточная точность для наших целей.
Чтобы наши дальнейшие построения случайно не повредили отмасштабированный растровый чертеж, мы можем заблокировать слой в котором он находится. Для этого в окне "Список слоев" надо нажать на изображение замка напротив названия слоя image_back.
защита слоя от изменений
Теперь можно использовать полученный чертеж для определения различных размеров и других геометрических характеристик самолета.
В качестве примера найдем длину концевой хорды крыла.
Концевой хордой в данном случае будем считать отрезок прямой, проходящий вдоль конца крыла, паралельно оси симметрии и ограниченный точками пересечения с линиями передней и задней кромок крыла.
концевая хорда крыла
Нарисуем линию вдоль конца крыла. Перед началом рисования включаем видимость всех слоев, делаем активным слой sizes, отключаем все привязки и приближаем ту область чертежа, где будет рисоваться линия. Выбираем в меню Черчение->Линия->2 точки. Дальше ставим курсор на прямой впереди конца крыла, нажимаем один раз на левую кнопку мыши, потом устанавливаем курсор позади конца крыла и еще раз нажимаем кнопку. Несколько раз нажимаем клавишу Escape чтобы выйти из режима рисования (вообще, в LibreCAD для завершения многих операций достаточно несколько раз нажать Escape). Линия нарисована, но она могла получиться не точно проходящей вдоль конца крыла, возможно потребуется её коррекция.
линия нарисована неточно, требуется коррекция
Сама по себе корреция элементарна - нужно выделить редактируемую линию, один раз щелкнув по ней  левой клавишей мыши и тогда  на концах линии появятся маленькие точки, за которые линию можно "тянуть" мышкой. Но когда линия находится на фоне растрового изображения, выделить ее обычно не получается, во всяком случае, в данной версии LibreCAD. В этом случае помогает такой метод: сначала скрываем (делаем невидимым) слой image_back, потом выделяем нужную линию и потом снова делаем слой image_back видимым. Редактируемая линия останется выделенной и за точки на концах можно будет скорректировать её положение. Этим приемом мы будем пользоваться всегда, когда потребуется выделить элемент находящийся над растровым изображением.
выделение линии на фоне растрового изображения
скорректированное положение линии
Положение линии скорректировано
Аналогичным образом нарисуем линии передней и задней кромок крыла.
нарисованы линии передней и задней кромок крыла
Теперь осталось узнать расстояние между точками пересечения построенных линий. В LibreCAD есть привязка к точкам пересечения и мы ей воспользуемся, но она также не срабатывает на фоне видимого растрового изображения. Поэтому, перед построением размера слой image_back снова надо будет сделать невидимым. Скрываем слой, после этого выбираем пункт меню Привязка->Snap Intersection
включение привязки к пересечениям
Теперь уже описанным ранее способом строим размер: выбираем пункт меню Размер->Выровненный, подводим курсор к первой точке пересечения (благодаря привязке точка сама выделится когда курсор будет находиться поблизости), один раз нажимаем левую клавишу мыши, подводим курсор ко второй точке пересечения, снова нажимаем левую клавишу, отводим курсор от измеряемой линии и еще раз нажимаем клавишу мыши. Для выхода из  режима измерения несколько раз нажмем Escape. Размер построен. В нашем случае он оказался равен 340,5 см, то есть, примерно 3,4 метра.
размер найден

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

корневая хорда крыла

Чтобы найти корневую хорду построим пользуясь описанной выше методикой сначала осевую линию, а затем линии, продолжающие переднюю и заднюю кромки крыла. Помним, что все виды привязки при построении этих линий следует отключить.
построения для нахождения корневой хорды       построения для нахождения корневой хорды
Теперь убрав видимость слоя image_back и включив привязку к пересечениям (Привязка->Snap Intersection) строим размер корневой хорды.
размер корневой хорды
Размер найден. Он составляет 677,3 см, то есть 6,77 метра. Теперь мы можем расчитать среднюю хорду и площадь крыла.
Средняя хорда равняется (3,405 + 6,773) / 2 = 5,089 м. Площадь крыла равна 5,089 * 26,40 = 134,35 м2. Сравним с табличными данными:
по данным сайта www.airwar.ru (адрес страницы http://www.airwar.ru/enc/aliner/veb152.html), площадь крыла самолета VEB 152 составляет 138 м2. У нас вышло почти на 4 м2 меньше В процентах разница составляет 2,65%, что может быть весьма существенно. Правда, согласно другим данным, приведенным на сайте en.wikipedia.org (адрес страницы http://en.wikipedia.org/wiki/Baade_152), площадь крыла для варианта 152/II V4 составляет 136 м2, то есть, разница между нашими расчетами и реальным значением составляет 1,65 м2 или 1,21%. Это уже смотрится как более менее приличный результат. В целом, разница между нашим замером и табличным значением сравнима с диапазоном самих табличных значений, приводимых в разных источниках. Вот только находится оно не внутри диапазона, а за его пределами. Но мы не гордые, потерпим. Что такое жалкие 1-2% по сравнению с современными процентами по ипотечным кредитам! Да вообще ни о чём. Короче, считаем результат удовлетворительным, а метод измерения приемлемым для наших целей.