Хотелось бы поделится интересным наблюдением, касающимся построения поверхностей из нескольких кривых между которыми имеется G1 (Tangent) уровень непрерывности как например бывает при использовании Fillet. По идее в результате мы должны получить Open Polysurface состоящий из трёх или более поверхностей, однако в результате получается полноценная NURBS поверхность !
Мне кажется, что это заслуга Rhino, который не отталкивается от отношения исходных кривых, а анализирует их совокупность и в случае, когда возможно построение NURBS с отклонениями, укладывающимися в уровень толерантности, установленный по умолчанию - вместо Polyline строится именно NURBS кривая. IMHO это ещё 2 су в копилку Rhino, поскольку кажется позволяет использовать традиционную сплайновую технику, создавая контур при помощи Polyline и сглаживая его в необходимых местах в противовес более сложным манипуляциям с NURBS кривыми высших порядков при работе над прямолинейными формами.
Небольшое дополнение к вышесказанному. Если посмотреть внимательно то отчасти становится понятна причина подобной лояльности Rhino: дело в том, что команды подобные Fillet или Blend, могут использовать в качестве исходного материала кривые первого порядка (D.1) однако арка, создаваемая Fillet или сегмент Blend естественно могут быть представлены кривыми соответственно D.2 и D.3. Остальное определяется особенностью, накладываемой командой Join: так при объединении Join кривых создаваемых Blend или Fillet с исходными D.1 сегментами в процессе выполнения комманды (опция J ) или позже (Join) порядок прямых сегментов наследуется от сегмента Fillet (Blend).
Т.о. в описанном примере прямые сегменты в действительности будут представлены D.2 кривыми. При этом в середину каждого из прямых сегментов добавляется контрольная точка, что немного осложняет последующее редактирование `: ( В качестве компромиса, можно предложить точное расположение контрольных точек в исходной Polyline до применениея Fillet либо отключение опции Join в комманде Fillet с сборкой отдельных сегментов воедино непосредственно перед преобоазованием в поверхность. Кстати после Explode, наследованные повышения порядка так же исчезают. Так, что в целом, vетод работает и если все углы контура преобразрванны в Fillet на выходе получается NURBS Surface.
Ну и напоследок есть ещё один способ эксплуатации данной находки. `🙂
При построении прямолинейных поверхностей вместо Fillet можно просто создавать арку требуемого размера, при помощи кривой из трёх CV, расположенных под прямым углом друг к другу и находящихся на равном расстоянии друг от друга. Отдельный сегмет созданный подобным образом эквивалентен импользованию Fillet, но по моему удобнее. Кроме того, используя комбинацию двух нажатий RMB (см. http://www.render.ru/forum/read.php?f=12&i=1853&t=1853) можно, используя инструмент CV Curve и не обращаясь к тулбару делать практически всё, поскольку порядок создаваемой кривой, а соответственно и её вид будет определяться количеством точек расположенных между нажатиями RMB. Так при создании кривой c D.3 сегмент состоящий всего из двух точек будет иметь D.1 и являтся аналогом Polyline; сегмент из трёх точек, как описанно выше эквивалентен Fillet - D.2; а кривые с большим числом точек работают как обычный инструмент CV Curve.
В итоге при помощи одного инструмента можно создавать как прямолинейгые так и сложные сегменты вместе составляющие требуемый контур. Мне лично удобнее использовать подобный способ чем переключаться между несколькими инструментами или групировать CV как описано в L1 Training guide, а поскольку совокупность кривых независимо от их взаимоотношения (G1-G2) пред построением поверхности, как оказалось, анализируется на предмет возможности построения полноценной NURBS поверхности взамен PolySurface - результатом подобного "дробного" построения вне зависимости от числа сегментов может стать одна или несколько слитных NURBS кривых в зависимости от наличия острых, (не Fillet) углов.
Такое вот наблюдение, мне подобный способ кажется удобным и естественным, возможно пригодится кому либо ещё `🙂
Доступ к резюме доступен только по пакетному доступу HR менеджерам зарегистрированных компаний. Узнать о вариантах корпоративных пакетов можно по ссылке.
Гость
Хотелось бы поделится интересным наблюдением, касающимся построения поверхностей из нескольких кривых между которыми имеется G1 (Tangent) уровень непрерывности как например бывает при использовании Fillet. По идее в результате мы должны получить Open Polysurface состоящий из трёх или более поверхностей, однако в результате получается полноценная NURBS поверхность !
Мне кажется, что это заслуга Rhino, который не отталкивается от отношения исходных кривых, а анализирует их совокупность и в случае, когда возможно построение NURBS с отклонениями, укладывающимися в уровень толерантности, установленный по умолчанию - вместо Polyline строится именно NURBS кривая. IMHO это ещё 2 су в копилку Rhino, поскольку кажется позволяет использовать традиционную сплайновую технику, создавая контур при помощи Polyline и сглаживая его в необходимых местах в противовес более сложным манипуляциям с NURBS кривыми высших порядков при работе над прямолинейными формами.
С Уважением DP.
Гость
Небольшое дополнение к вышесказанному. Если посмотреть внимательно то отчасти становится понятна причина подобной лояльности Rhino: дело в том, что команды подобные Fillet или Blend, могут использовать в качестве исходного материала кривые первого порядка (D.1) однако арка, создаваемая Fillet или сегмент Blend естественно могут быть представлены кривыми соответственно D.2 и D.3. Остальное определяется особенностью, накладываемой командой Join: так при объединении Join кривых создаваемых Blend или Fillet с исходными D.1 сегментами в процессе выполнения комманды (опция J ) или позже (Join) порядок прямых сегментов наследуется от сегмента Fillet (Blend).
Т.о. в описанном примере прямые сегменты в действительности будут представлены D.2 кривыми. При этом в середину каждого из прямых сегментов добавляется контрольная точка, что немного осложняет последующее редактирование `: ( В качестве компромиса, можно предложить точное расположение контрольных точек в исходной Polyline до применениея Fillet либо отключение опции Join в комманде Fillet с сборкой отдельных сегментов воедино непосредственно перед преобоазованием в поверхность. Кстати после Explode, наследованные повышения порядка так же исчезают. Так, что в целом, vетод работает и если все углы контура преобразрванны в Fillet на выходе получается NURBS Surface.
С Уваженим DP.
Гость
Ну и напоследок есть ещё один способ эксплуатации данной находки. `🙂
При построении прямолинейных поверхностей вместо Fillet можно просто создавать арку требуемого размера, при помощи кривой из трёх CV, расположенных под прямым углом друг к другу и находящихся на равном расстоянии друг от друга. Отдельный сегмет созданный подобным образом эквивалентен импользованию Fillet, но по моему удобнее. Кроме того, используя комбинацию двух нажатий RMB (см. http://www.render.ru/forum/read.php?f=12&i=1853&t=1853) можно, используя инструмент CV Curve и не обращаясь к тулбару делать практически всё, поскольку порядок создаваемой кривой, а соответственно и её вид будет определяться количеством точек расположенных между нажатиями RMB. Так при создании кривой c D.3 сегмент состоящий всего из двух точек будет иметь D.1 и являтся аналогом Polyline; сегмент из трёх точек, как описанно выше эквивалентен Fillet - D.2; а кривые с большим числом точек работают как обычный инструмент CV Curve.
В итоге при помощи одного инструмента можно создавать как прямолинейгые так и сложные сегменты вместе составляющие требуемый контур. Мне лично удобнее использовать подобный способ чем переключаться между несколькими инструментами или групировать CV как описано в L1 Training guide, а поскольку совокупность кривых независимо от их взаимоотношения (G1-G2) пред построением поверхности, как оказалось, анализируется на предмет возможности построения полноценной NURBS поверхности взамен PolySurface - результатом подобного "дробного" построения вне зависимости от числа сегментов может стать одна или несколько слитных NURBS кривых в зависимости от наличия острых, (не Fillet) углов.
Такое вот наблюдение, мне подобный способ кажется удобным и естественным, возможно пригодится кому либо ещё `🙂
С Уважением DP.
Гость