1. Пользоваться форумом на планшетах и телефонах стало удобнее благодаря Tapatalk

Как узнать длину сплайна

Тема в разделе "Cinema 4D", создана пользователем m_arik, 28 июн 2008.

  1. m_arik

    m_arik Активный участник

    С нами с:
    09.04.2007
    Сообщения:
    31
    Симпатии:
    0
    Баллы:
    5
    Подскажите пожалуйста, как узнать длину сплайна.

    Дело вот в чем: создаем, например, любой изогнутый сплайн, дублируем его, пихаем их в Loft Nurbs и создаем поверхность. Потом на эту поверхность кидаем bitmap'ный материал. Но для того, что бы точно знать размеры битмапной картинки необходимо знать длину сплайна, чтобы материал адекватно распределился по нему.

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

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

    Блольше чем уверен, что вопрос этот с длинной бородой, как борода старика Хотабыча. Долго мучил ослика, однако в инете гольняк. Или не там искал?

    Может есть какие-нибудь далекие закоулки синьки, где можно подчерпнуть эту информацию или есть плагины?
     
  2. Владислав (sapiens)

    Владислав (sapiens) Мастер

    С нами с:
    27.10.2005
    Сообщения:
    3.008
    Симпатии:
    0
    Баллы:
    117
    Я извиняюсь, но по-моему, ты ерундой страдаешь. Прямой сплайн по длине адекватно можно глянуть в координатах, а загогулины только на глаз. Ты же не математические модели создаешь, а рекламную байду. Опять же имеет значение для визуальных искажений — в перспективной камере рендер или в параллельной. ¶
     
  3. cinematek

    cinematek Пользователь сайта

    С нами с:
    22.04.2008
    Сообщения:
    9
    Симпатии:
    0
    Баллы:
    2
    дядя-Владя! Позвольте с Вами не согласится.
    Иногда необходимо в длинну сплайна "вбить" анимационный цикл. К примеру цикл хотьбы. В синей отсутствует возможность автоматом определииь соотношение длинны анимационного цикла: кол-во фреймов+длина шага. Поэтому приходится в ручную с помощью калькулятора сделать эти вычесления для того что бы избежать эфекта "лунной походки".
    Поэтому знать длинну сплайна, который применяется для анимации по пути, очень нужно и ВАЖНО.
     
  4. Владислав (sapiens)

    Владислав (sapiens) Мастер

    С нами с:
    27.10.2005
    Сообщения:
    3.008
    Симпатии:
    0
    Баллы:
    117
    Кроме как "несоглашения", я лично не вижу, чем вы человеку помогли в сообщении. Ждём до новой звезды. ¶
     
  5. cinematek

    cinematek Пользователь сайта

    С нами с:
    22.04.2008
    Сообщения:
    9
    Симпатии:
    0
    Баллы:
    2
    дядя-Владя! Так я сам такой же страждущий :). Сам нуждаюсь в ответе на поставвленный вопрос.
    Уповаю на Ваш продолжительный опыт.
     
  6. m_arik

    m_arik Активный участник

    С нами с:
    09.04.2007
    Сообщения:
    31
    Симпатии:
    0
    Баллы:
    5
    Доброго времени суток. Прочитав первые сообщения (перепалку между дядей Владей и cinematek), смеялся минут пять. Потом чуть ли не всплакнул.

    Дядя Владя спасибо вам (прошу прощение за выражение) "за адекватную реакцию" //"- ...я лично не вижу, чем вы человеку помогли в сообщении."// И спасибо cinematek - значит не я один такой.

    Смеялся я по той причине, что вопорс о длине сплайна возникает не только в синиме. На одном форуме по 3D Max одного парня прямо таки загнобили из-за того, что он задает дурацкие вопросы. Дескть "Накой она тебе нужна? Задаешь вопрос, но ради чего?" Парень не смог ответить. С другой стороны, в одном из примеров того-же Макса (http://www.silicontaiga.ru/home.asp?artId=6430) говориться следующее: "Узнайте длину сплайна, который является формой пути для гусеницы. Сделать это просто, достаточно выделить сам сплайн и воспользоваться утилитой Measure (Линейка), находящейся на вкладке Utilities (Сервис) панели управления. Там, в группе Shapes (Формы), будет указана длина сплайна" - длина сплайна требуется для построения размера трака кусеницы, которая будет анимирована по сплайну.

    Я далек от 3D Max (пытался изучить, но после синьки он показался мудреным), однако при всем уважении, не может быть такого, что бы MAXON'овцы не предусматрели такой загвоздки. Пытался мурыжить инструмент Measure & Construction в синьке, по аналогу Макса, но не допер... :(

    Буду презнателен, если эта тема не сгинет на страницах форума, а будет дан конкретный ответ. Если "Да", то как, если НЕТ, значит пора писать ноту протеста в MAXON.
     
  7. Владислав (sapiens)

    Владислав (sapiens) Мастер

    С нами с:
    27.10.2005
    Сообщения:
    3.008
    Симпатии:
    0
    Баллы:
    117
    Видимо, это один из так называемых "проклятых вопросов" (вопросов, не имеющих ответа, вроде: зачем мы живём, откуда мы взялись"). В реальности можно взять гибкий метр для ткани и приложить или приклеить его к криволинейной конструкции, но даже там будет погрешность от изгибания самого измерителя, имеющего, кстати, толщину. Лично я, например, никогда не задавался вопросом "на кой оно мне надо — вымерять криволинейный сплайн?". Сам был бы рад узнать как это возможно в компьютерной программе. Может, в программном обеспечении для станков с ЧПУ это имеется. Там, где нурбс имеет стратегическое значение. ¶
     
  8. Владислав (sapiens)

    Владислав (sapiens) Мастер

    С нами с:
    27.10.2005
    Сообщения:
    3.008
    Симпатии:
    0
    Баллы:
    117
    Итак — вычислите, пожалуйста, длину этого сплайна. ¶
     

    Вложения:

    • 769020.jpg
      769020.jpg
      Размер файла:
      2,5 КБ
      Просмотров:
      244
  9. m_arik

    m_arik Активный участник

    С нами с:
    09.04.2007
    Сообщения:
    31
    Симпатии:
    0
    Баллы:
    5
    Не надо уж так в крайности, дяд Владя. Впрочем ваш рисунок тоже имеет место быть.
    Однако для простейших кривых: круг, овал, дуга, гипербола, парабола и всех еже сними можно было бы вставить функцию вычисления. Куда это все приложить, я уже обрисовал. А погрешность всегда будет, об этом спора нет.
    Насколко я помню из курса вышки. Все решается путем математических формул. На ПК это все сводится к алгоритмам расчета, опять же через те же функии и т.п.
    Вопрос еще можно поставить немного по другому: хватит ли мощностей у машины что бы высчитать всю эту дребедень? С другой стороны в синьке заложены построение поверхности по формулам, да и построение всяких там поверхностей типа Landskape (я не буду лезть совсем в дебри) для синьки не составляет труда.
    Значит разработчики проглядели... И не учли того, что одну и ту же задачу можно решить несколькими способами, пусть и не совсем явными для окружающих (при этом я ни в коей мере не заикаюсь об особенностях программы - в синке это делается так, в максе по другому, а в майя.... :)...

    Будем ждать новой звезды.
     
  10. G-Kir

    G-Kir Знаток

    С нами с:
    17.06.2005
    Сообщения:
    774
    Симпатии:
    3
    Баллы:
    20
    В xpresso есть оператор spline, а в нем параметр Length.
    Собственно этот параметр возвращает длину сплайна.
    Перетаскиваем требуемый сплайн в икспрессо и добавляем выходной порт 'object'
    Вытаскиваем оператор 'spline' (вкладка general) и добавляем оператору выходной порт Length
    Соединяем 'object' нашего сплайна с 'object' оператора 'spline'
    А вот как выковыривать возвращаемое значение -- это каждый может сделать как ему хочется. Можно прямо на вьюпорт в HUD вывести, можно как параметр любого другого объекта (ну например положение по горизонтали), можно присоединить порт Length к оператору Result (тоже вкладка general) и смотреть прямо в редакторе икспрессо, короче говоря на любой вкус.
     
  11. G-Kir

    G-Kir Знаток

    С нами с:
    17.06.2005
    Сообщения:
    774
    Симпатии:
    3
    Баллы:
    20
    Вот, набросал.
     

    Вложения:

    • 769900.jpg
      769900.jpg
      Размер файла:
      37,1 КБ
      Просмотров:
      173
  12. Владислав (sapiens)

    Владислав (sapiens) Мастер

    С нами с:
    27.10.2005
    Сообщения:
    3.008
    Симпатии:
    0
    Баллы:
    117
    Дык сплайн ведь опять-таки жесткий, его и линейкой можно по точкам измерить. А как с криволинейным быть? ¶
     
  13. G-Kir

    G-Kir Знаток

    С нами с:
    17.06.2005
    Сообщения:
    774
    Симпатии:
    3
    Баллы:
    20
    Он любой сплайн мерит.
    Я даже проверил как замеряет длину кривой безье Adobe Illustrator, а потом эту же кривую замерил в синеме. Результат абсолютно идентичный.
    (только надо учесть что при импорте AI-шных файлов, нужно в параметрах ставить коэффициент 0.353)
     
  14. EGGO

    EGGO Мастер

    С нами с:
    29.07.2006
    Сообщения:
    203
    Симпатии:
    0
    Баллы:
    119
    Измерить-то можно криволинейку, тока через другую программку (тот же КАД или Рина) - через экспорт в сплайноваримый формат (dxf например). Вот для прикрепленного сплайна через рину узнал, что длина его 5786 мм (работаю и в рине и в синей в мм). Если заморочиться можно наверное и через Хпрессо нахечить чего, тока в этом уж совсем не силен... Короче вот Вам такой способ, а пользоваться им или нет - Ваша прирогатива... Вообще, по мне он какой-то шибко vyjujryjgrjdsq получается... ;)
     

    Вложения:

    • 769995.jpg
      769995.jpg
      Размер файла:
      60 КБ
      Просмотров:
      163
  15. Владислав (sapiens)

    Владислав (sapiens) Мастер

    С нами с:
    27.10.2005
    Сообщения:
    3.008
    Симпатии:
    0
    Баллы:
    117
    G-Kir, ваш пример работает, только непонятно в каких юнитах. ¶
     
  16. xpycT

    xpycT Активный участник

    С нами с:
    27.12.2006
    Сообщения:
    40
    Симпатии:
    0
    Баллы:
    5
    - что в "юнитах" стоит, то и возвращает.
     
  17. m_arik

    m_arik Активный участник

    С нами с:
    09.04.2007
    Сообщения:
    31
    Симпатии:
    0
    Баллы:
    5
    Премного благодарен.
    Обидные слова в сторону MAXON беру назад - был не прав.
    Прихожу к мысли, что синьку даже и на 1/4 незнаю.
    Раньше тоже думал нафиг мне Xпрессо, однако это мощная штука. Полез искать манулы.
    Учиться, учиться и еще раз учиться. Радует, что ни когда не позно.
     
  18. Владислав (sapiens)

    Владислав (sapiens) Мастер

    С нами с:
    27.10.2005
    Сообщения:
    3.008
    Симпатии:
    0
    Баллы:
    117
    Особенно русскому языку. ¶
     
  19. G-Kir

    G-Kir Знаток

    С нами с:
    17.06.2005
    Сообщения:
    774
    Симпатии:
    3
    Баллы:
    20
    Вот можно бегло ознакомиться:

    http://www.c4d.ru/list.php?c=art.1.3
     

Поделиться этой страницей