Выкройка овального и наклонного конуса

Овальные и наклонные конусыВ статье Выкройка для конуса мы рассмотрели построение выкройки для круглого прямого конуса, то есть конуса, имеющего в основании круг, и ось которого перпендикулярна основанию. Там мы обошлись несколькими простыми формулами.

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

К счастью, такой человек нашелся, придумал алгоритм, запрограммировал его и публикует сегодня в виде новой версии программы Cones. Зовут его Владимир Трунов, и все благодарности — к нему.

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

Понятно, что полученные значения, а стало быть и рисунок, построенный по ним, имеют некоторую погрешность. Эта погрешность тем меньше, чем ближе конус к круглому и прямому. Если отношение большего диаметра эллипса к меньшему не превышает 2, а угол наклона оси (от вертикали) — не более 30 градусов, то погрешность в линейных размерах боковой поверхности выкройки не выйдет за 1%. (В более экзотических случаях погрешность может быть и больше, но в следующих версиях программы алгоритм будет совершенствоваться с целью ее минимизации.)

Обсуждение (14)
  1. Владимир, благодарю за очень хорошие и полезные новости!
    Правильно ли я поняла, что для того, чтобы получить выкройку овального усеченного конуса, достаточно скачать Вашу программу?
    Спасибо за полезную информацию по теме, которой я уже пользуюсь не однократно.
    С уважением, Ирина.

    • Спасибо, Ирина, за благодарности и поддержку сайта!
      Чтобы получить выкройку, нужно скачать архив, распаковать его в одну папку и запустить файл Cones.exe.
      Удачи!

  2. Hoot:

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

    На самом деле программа которая делает то, что мне нужно существует Cone Layout вот только она платная и маловероятно, что автор захочет поделиться своими наработками в этой области. Еще я нашел несколько видео уроков как такие вещи делают в инженерных спец программах для 3D Моделирования и это также мне не чем не помогло, поскольку программы скрывают алгоритм своих действий. А не интересен не столько сам результат, сколько алгоритм его получения программным методом.

    • Спасибо за вопрос.

      Сначала о Вашей задаче. Если круглый конус усечь двумя параллельными наклонными плоскостями, то получится как раз овальный наклонный усеченный конус. То есть, моя программа эту задачу все-таки решает. Проблема только во входных данных: их нужно предварительно вычислить, исходя из параметров конуса и угла наклона плоскостей. В этом Вам как раз поможет школьный курс геометрии. А я постараюсь в следующей версии программы Cones добавить автоматический пересчет входных параметров для такой постановки задачи.

      Об алгоритме. Тут скрывать нечего, Нобелевской премии он не стоит. Я не привел подробного описания только из-за лени: на пальцах этого не расскажешь, надо рисовать иллюстрации, писать формулы, а это всё напряжно, особенно если это вряд ли кому пригодится. Но раз нашелся такой человек, то я думаю описать этот алгоритм в отдельной статье. Однако, не обещаю, что очень скоро: чем ближе Новый год, тем заметнее цейтнот.
      Если не хотите ждать, то, возможно, Вас натолкнет на мысль мое предельно лаконичное описание алгоритма из данной выше статьи: «основой его является разбиение эллипса на множество мелких отрезков и вычисление для каждой вершины полученного многоугольника значений длины образующей конуса и приращения угла развертки».

  3. Hoot:

    Конус усеченный двумя параллельными наклонными плоскостями это вообще не то что меня интересует. А интересует меня как раз наоборот, конус усеченный любыми двумя плоскостями, под разным углом и в разных направлениях. Примерно так cone.png. А нужно это все для проектирования вот таких систем rezonator.jpg.

    • Понял. Действительно, таких задач Cones не решает.
      Попробую чуть подробнее описать алгоритм построения выкройки. Нужно «обойти» конус по кругу (мнимому основанию) с мелким приращением угла. Для каждого значения угла вычислить два параметра: расстояние от мнимой вершины конуса до точки пересечения с наклонной плоскостью и значение угла развертки конуса. Эти два параметра дают точку на плоскости, а совокупность точек — кривую. Вычислить их можно при помощи тригонометрических функций и теоремы Пифагора, если допустить, что синус и тангенс малого угла почти равен значению этого угла в радианах. Чем мельче углы, тем точнее вычисления.

  4. Hoot:

    Спасибо за информацию, буду копать в этом направлении.

  5. Hoot, Ваша задача решается этой программой в два приема. Делим резонатор на два конуса, совмещаем по линии разреза.

  6. Василий:

    Здравствуйте!Классная программка,спасибо!Но выкройка получается не в масштабе.Почему?Сохранил выкройку и открыл её в CorelDRAW.Чтобы получить нужную увеличил со 100 до 126 процентов.

    • Здравствуйте! Я не очень понял, что значит «не в масштабе».
      Простая проверка: постройте любую выкройку в программе и распечатайте. Измерьте ее размеры по горизонтали и по вертикали и затем сравните с теми значениями, которые указаны в нижней строке панели «Выкройка». Они должны совпадать.
      Если же Вы имеете в виду размеры выкройки при импорте в CorelDraw, то Вам нужно обратиться к главе «Импорт выкройки в CorelDraw» файла справки программы (он открывается кнопкой со знаком вопроса или клавишей F1). Там подробно описано, как получить нужный размер выкройки.
      Вообще, советую найти время, чтобы прочитать все разделы справки. На это уйдет не больше пяти минут, но зато отпадут многие вопросы и станут доступны некоторые не сразу очевидные возможности программы.

  7. Михаил:

    Нашел сайт на котором он-лайн строятся развертки конусов http://househand.ru/?view=calc/figure/vol_ys_cone

  8. Александр:

    В разделе наклонного конуса не разобрался с Bx и By на рисунке не указано что это за параметры.

    • 1. При наведении курсора на обозначение любого параметра появляется всплывающая подсказка.
      2. В справке (F1 или кнопка со знаком «?») очень подробно и с рисунками описано всё, что только может заинтересовать пользователя.

Поделитесь своим мнением
Для оформления сообщений Вы можете использовать следующие тэги:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>