Modeling and editing a curve in the web-application

Моделирование и редактирование кривой в web-приложении

1. Modeling and editing a curve on a base polyline

1. Моделирование и редактирование  кривой на опорной ломаной

2. Modeling and editing a curve on a tangent polyline

2. Моделирование и редактирование  кривой на касательной ломаной

3. Modeling and editing curve on the Hermite geometric determinant

3. Моделирование и редактирование кривой на геометрическом определителе Эрмита

4. Modeling and editing a curve by gb-polygon of NURBzS curve

4. Моделирование и редактирование кривой gb-полигоном NURBzS кривой

5. Modeling and editing a curve by s-polygon of b-spline curve

5. Моделирование и редактирование кривой s-полигоном b-сплайновой кривой

 

Modeling and editing a curve in the web-application

Моделирование и редактирование кривой в web-приложении

 

After the creation of a curve on a base polyline or a tangent polyline on a clean sheet, or reading the curve from of CAD-systems and its improvement can edit a curve, using the 5 types of geometric determinants.

После построения кривой на ломаной или касательной ломаной с чистого листа или считывания кривой из CAD-систем и ее улучшения можно перейти к редактированию кривой с использованием 5-ти типов геометрических определителей.

The basic techniques in web-application is a curve modeling techniques using two types of dual geometric determinants of the 0-th order of fixation (on the classification of prof. V.A.Osipov ) form a base polyline  and tangent polyline. The property of duality of geometric determinants of the form a base polyline  and tangent polyline defining the v-curve derives from the duality properties of geometric determinants of the form 5 points and 5 tangents defining a conical curve. In modeling the curve can take advantage of a tangent polyline to define the shape of the curve, and the base polyline  for positioning a curve. In essence, these two methods represent one method: a method to modeling the curve with the help of the generalized dual determinant of the 0-order fixation.

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

The third type of a geometric determinant  is base  polyline of order 2 fixation (on the classification of prof. V.A.Osipov) or geometric determinant structuring the modeling curve on the Hermite scheme. At each point the tangent, the value of the curvature and the curvature vector  are  defined. The method uses two approximation schemes via geometric rational Bezier cubic spline used to approximate the v-curve. The first scheme allows approximate geometrically exactly the conic curves. The second scheme is approximates with a sufficiently high quality parts of the curves with a sharp change of curvature.

Третьим видом геометрического определителя является опорная ломаная 2-го порядка фиксации (по классификации проф. В.А.Осипова) или геометрический определитель, структурирующий моделируемую кривую по схеме Эрмита. В каждой точке задается касательная, значение кривизны и вектор кривизны. В методе используются 2 схемы аппроксимации посредством геометрического рационального кубического сплайна Безье, применяемые для аппроксимации v-кривой. Первая схема аппроксимации позволяет геометрически точно приближать конические кривые. Вторая схема приближает с достаточно высоким качеством участки кривых с резким изменением кривизны. 

The fourth type of the geometric determinant - a generalized b-polygon  (gb-polygon)  of geometric Bezier spline. Is possible to elevate the degree (to 10th) of spline, to subdivide the specification (gb-polygon)  of the geometric  determinant, to edit control points of gb-polygon. If a geometric spline curve exactly approximates conic (circle or ellipse),  is possible  to convert the geometric spline to real spline curve of the 6th degree, with continuous partial derivatives up to order 5, then elevate the degree (to 10th) and convert geometrically exactly to a rational b-spline curve.

 

Четвертый вид геометрического определителя - обобщенный b-полигон (gb-полигон) геометрического сплайна Безье. Можно повышать степень (до 10-ой) сплайна. Уплотнять спецификацию (to subdivide gb-polygon) геометрического определителя. Редактировать управляющие точки gb-полигона. Если геометрический сплайн точно приближает коническую кривую (окружность или эллипс), то геометрический сплайн можно преобразовать в действительно сплайновую кривую 6-ой степени, непрерывную до частных производных 5-го порядка, а затем повысить степень (до 10-ой) и конвертировать геометрически точно в рациональную b-сплайновую кривую. 

The fifth type of the geometric  determinant - s-polygon of b-spline curve. You can edit the control points of s-polygon, subdivide the specification  (s-polygon)  of the geometric  determinant,  add nodes.

Пятый вид геометрического определителя - s-полигон b-сплайновой кривой. Можно редактировать управляющие точки s-полигона, уплотнять спецификацию (to subdivide s-polygon) геометрического определителя,  локально уплотнять добавлением узловых точек.

 

Preparation of input data

Подготовка исходных данных

 

The initial geometric determinants may be 1) prepared in CAD-systems, and read in the DXF format,  2) were obtained from other pages of creating and editing of curves, 3) read as samples from the list of samples in the current page. 4) were prepared directly on the graphical display by placing of control points.

 

Исходные геометрические определители могут быть 1) подготовлены в CAD-системах и считаны в формате DXF. 2) получены с других страниц построения и редактирования кривых; 3) считаны как образцы из списков образцов на текущей странице. 4) подготовлены непосредственно на графическом экране размещением контрольных точек. 

 

1. Modeling and editing a curve on a base polyline

1. Моделирование и редактирование  кривой на опорной ломаной

 

The curve is created and edited on a base polyline (Fig. 1). The modeling curve exactly passes through the vertexes of  base polyline. The form of the base polyline  isogeometrically (shape preserving) determines the shape of the modeling curve. Is possible equip a base polyline with tangent vectors at the endpoints and at the points of inflection, and with the values ​​and the vectors of the curvature  at the endpoints.

 

Кривая строится и редактируется на опорной ломаной (рис. 1). Моделируемая кривая точно проходит через точки опорной ломаной. Форма опорной ломаной изогеометрически определяет форму моделируемой кривой. Можно оснащать опорную ломаную касательными векторами в концевых точках и в точках перегиба, значениями и векторами кривизны в концевых точках. 

 

 

Fig. 1. Editing a curve on a base polyline.

Рис. 1.  Редактирование кривой на опорной ломаной.

 

In the Edit region the mode is set to edit:

[Segments] - sets the mode for positioning of segment polyline.

[Vertices] - sets the mode to edit control points.

[Tangents] - sets the mode to edit the tangent vectors at the endpoints and at the points of inflection.

[Curvatures] - sets the mode to edit the curvature values ​​at the endpoints of the polyline.

В области Edit устанавливаются режимы редактирования:

[Segments] - устанавливает режим позиционирования сегмента опорной ломаной. 

[Vertices] - устанавливает режим редактирования опорных точек. 

[Tangents] - устанавливает режим редактирования касательных векторов в концевых точках и в точках перегиба кривой. 

[Curvatures] - устанавливает режим редактирования значений кривизны в концевых точках ломаной. 

Edit objects, respectively, set a editing  mode is possible in graphical mode using the pointing device moving the control points and setting the position of the object being edited with the buttons of positioning  [Next],  [Prev], [Change Index],  a text box Set: [ ], and editing the values ​​of the coordinates of the objects by pressing  [Get Params],  [Set Params] and text fields X: [ ], Y: [ ], Z: [ ], Value: [ ]. The text box Value: [] is used to read and set the value of the curvature. With the button [Delete] is removed the current control point.

Редактировать объекты, соответственно установленному режиму, можно как в графическом режиме с помощью устройства указания перемещением контрольных точек, так и установкой позиции редактируемого объекта с помощью кнопок позиционирования [Next],[Prev],[Change Index], текстового поля Set:[ ] и редактированием значений координат объектов с помощью кнопок [Get Params], [Set Params] и текстовых полей X:[ ], Y:[ ], Y:[ ], Value:[ ]. Текстовое поле Value:[ ] используется для считывания и задания значения кривизны. С помощью кнопки [Delete] удаляется текущая контрольная точка

 

Modeling and editing the shape of the curve at the site of inflection

Моделирование и редактирование формы кривой на участке перегиба

 

At modeling curve on a base polyline a points on sites of inflection can be defined explicitly as the inflection points  by setting the tangent vectors (an sample is given on the page Polyline3D in list [Select Sample], Fig. 2).

При моделировании кривой на опорной ломаной точки на участках перегиба можно определять явно как точки перегиба с касательными векторами (такой пример приведен на странице Polyline3D в списке [Select Sample], рис. 2).

Fig. 2. Modeling the curve on a base polyline with inflection sites.

Рис. 2. Моделирование кривой на опорной ломаной с участками перегиба.

 

Is possible to edit  the shape of the site of inflection by using the tangent vector at the point of inflection. Mode is set to [Tangents] and edited the direction of the tangent vectors (Fig. 3, 4).

 

Можно управлять формой участка перегиба с помощью касательного вектора в точке перегиба. Устанавливается режим [Tangents] и редактируются направления касательных векторов (рис. 3, 4)

 

Fig. 3. Editing the tangent vectors.

Рис. 3. Редактирование касательных векторов.

 

Fig. 4. Editing the site of inflection.

Рис. 4. Редактирование участка перегиба.

 

Editing the direction of the tangent vector at the point of inflection possible to get a good graph of the curvature on the site of inflection (Fig. 5).

Редактированием направления касательного вектора в точке перегиба можно добиться хорошего распределения кривизны на участке перегиба (рис. 5).

Fig. 5. The edited site of inflection.

Рис. 5. Отредактированный участок перегиба.

 

Is possible to edit the shape of the curve on the end sites by specifying the tangent vectors (Fig. 6) and the values ​​of curvature (Fig. 7).

Можно управлять формой кривой на концевых участках кривой заданием касательных векторов (рис. 6) и значений кривизны (рис. 7).

 

Рис. 6. Управление формой кривой на концевых участках кривой заданием касательных векторов.

Fig. 6. Editing  the shape of the curve on the end sites by specifying the tangent vectors.

 

Концевые касательные отредактированы на строго горизонтальные касательные.

Установлен режим редактирования кривизны и добавлены кривизны в концевых точках (рис. 7).

 

Fig. 7. Editing  the shape of the curve on the end sites by specifying the tangent vectors and the values ​​of curvature.

Рис. 7. Управление формой кривой на концевых участках кривой заданием касательных векторов и значений кривизны.

 

Then the values ​​of the curvature have changed. At the starting point of the curvature is reduced, at the end point the curvature is increased (Fig. 8).

Затем значения кривизны изменены. В начальной точке кривизна уменьшена, в конечной точке увеличена (рис. 8). 

 

Fig. 8. Editing the values of the curvature at the endpoints of the curve.

Рис. 8. Редактирование значений кривизны в концевых точках кривой.

 

2. Modeling and editing a curve on a tangent polyline

2. Моделирование и редактирование  кривой на касательной ломаной

 

 

The curve is created and edited on a tangent polyline (Fig. 43). The modeling curve is just tangent for the links of a tangent polyline. The form of the tangent polyline isogeometrically (shape preserving) determines the shape of the modeling curve. Is possible equip a tangent polyline with fixed points on links on sites of inflection, and with the values ​​and the vectors of the curvature at the endpoints.

 

Кривая строится и редактируется на касательной ломаной (рис. 43). Моделируемая кривая точно касается звеньев касательной ломаной. Форма касательной ломаной изогеометрически определяет форму моделируемой кривой. Можно оснащать касательную ломаную фиксированными точками на звеньях участков перегиба и значениями и векторами кривизны в концевых точках. 

It is recommended to use together with the base polyline: after curve creation on a base polyline (Fig. 1) can pass to the tangent polyline (Fig. 9) by pressing [To Tangent Polyline]. Geometrically, the curve does not change.

Рекомендуется использовать совместно с ГО вида опорной ломаной: после построения кривой на  ГО вида опорной ломаной (рис. 1) можно перейти к ГО вида касательной (рис. 9) нажатием кнопки [To Tangent Polyline]. Геометрически  кривая не меняется.

 

 

 

Fig. 9. Curve, structured by tangent polyline.

Рис. 9. Кривая, структурированная касательной ломаной.

 

In the Edit region the mode is set to edit:

[Segments] - sets the mode for positioning of segment polyline.

[Vertices] - sets the mode to edit control points.

[FixPoints] - sets the mode to edit fixed points on links of  inflection.

[Curvatures] - sets the mode to edit the curvature values ​​at the endpoints of the polyline.

 

В области Edit устанавливаются режимы редактирования:

[Segments] - устанавливает режим позиционирования сегмента касательной ломаной. 

[Vertices] - устанавливает режим редактирования вершин ломаной

[FixPoints] - устанавливает режим редактирования фиксированных точек на звеньях участков перегиба кривой.

[Curvatures] - устанавливает режим редактирования значений кривизны в концевых точках ломаной. 

Edit objects, respectively, set a editing  mode is possible in graphical mode using the pointing device moving the control points and setting the position of the object being edited with the buttons of positioning  [Next],  [Prev], [Change Index],  a text box Set: [ ], and editing the values ​​of the coordinates of the objects by pressing  [Get Params],  [Set Params] and text fields X: [ ], Y: [ ], Z: [ ], Value: [ ]. The text box Value: [] is used to read and set the value of the curvature. With the button [Delete] is removed the current control point.

 

Редактировать объекты, соответственно установленному режиму, можно как в графическом режиме с помощью устройства указания перемещением контрольных точек, так и установкой позиции редактируемого объекта с помощью кнопок позиционирования [Next], [Prev], [Change Index], текстового поля Set:[… ] и редактированием значений координат объектов с помощью кнопок [Get Params], [Set Params] и текстовых полей X:[ ], Y:[ ], Y:[ ], Value:[ ]. Текстовое поле Value:[ ] используется для считывания и задания значения кривизны. С помощью кнопки [Delete] удаляется текущая контрольная точка

 

Modeling and editing the shape of the curve at the site of inflection

Моделирование и редактирование формы кривой на участке перегиба

 

On a tangent polyline can be edited the curve on inflection sites by a fixed points of inflection on links of a tangent polyline. In the Edit region mode is set [FixPoints], and can be edited the fixed points (Fig. 10).

На касательной ломаной можно редактировать кривую на участках перегиба посредством  фиксированных точек перегиба на звеньях касательной ломаной. В области Edit устанавливаются режимы редактирования [FixPoints]   и выполняется редактирование фиксированных точек (рис. 10).

 

Fig. 10. Editing a curve with inflection sites by editing the fixed points of inflection on the links of a tangent polyline.

Рис. 10.  Редактирование кривой с участками перегиба посредством фиксированных точек перегиба на звеньях касательной ломаной.

 

In this mode, on screen field there are fixed control points on the links of polyline (Fig. 11).

В данном режиме на графическом поле появляются контрольные фиксированные точки на звеньях ломаной (рис. 11).

Fig. 11. Editing the inflection site using the fixed point on the link.

Рис. 11. Редактирование участка перегиба с помощью фиксированной точки на звене.

 

Is possible change the position of the fixed point by pointing and moving the mouse (Fig. 12, 13).

 Можно менять положение фиксированной точки путем указания и перемещения мышью (рис. 12, 13).

Fig. 12. Changing the position the fixed point of inflection on the link of a tangent polyline.

Рис. 12. Изменение положения фиксированной точки перегиба  на  звене касательной ломаной.

 

 

Fig. 13. The edited site of inflection.

Рис. 13. Отредактированный участок перегиба

 

 

3. Modeling and editing curve on the Hermite geometric determinant

3. Моделирование и редактирование кривой на геометрическом определителе Эрмита

 

Editing of the curve is on the page Hermite3D.

The curve is created and edited on a base  polyline, structured according to the scheme of Hermite with tangent vectors, the values of the curvature and the curvature vectors at each point of the base polyline.

Редактирование кривой производится на странице Hermite3D.

Кривая строится и редактируется на опорной ломаной, структурированной по схеме Эрмита касательными векторами, значениями кривизны и векторами кривизны в каждой точке опорной ломаной. 

Is recommended to use for the approximation of analytic curves on the prepared table of coordinates of points, tangent vectors and values and vectors of the curvature (see p. 4).

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

It is also recommended to use for local editing of curves constructed on the base polyline (Fig. 1) and the tangent polyline (Fig. 9). After the conversion curve is approximated by a geometric Bezier spline 6th degree (Fig. 14).

 

Рекомендуется также использовать для локального редактирования кривых, построенных на опорной (рис. 1) и касательной ломаной (рис. 9). После конвертирования кривая аппроксимируется геометрическим сплайном Безье 6-ой степени (рис. 14)


 

Fig. 14. After the conversion curve is approximated by a geometric Bezier spline 6th degree.

Рис. 14. В процессе построения и редактирования кривая аппроксимируется геометрическим сплайном Безье 6-ой степени. 

 

As can be seen from the graphs of the curvature (see Fig. 14) exactly approximated conical curves.

Как видно по графикам кривизны (см. рис. 14) точно приближаются конические кривые. 

Is possible to edit at each base point of the Hermite geometrical determinant the tangent direction (Fig. 15) and the values ​​of curvature (Fig. 16).

Можно редактировать в каждой опорной точке ГО Эрмита направления касательных (рис. 15) и значения кривизны (рис. 16).

Fig. 15. Editing tangent vectors.

Рис. 15. Редактирование касательных векторов.

 

 

Fig. 16. Editing the values of the curvature at base points.

Рис. 16. Редактирование значений кривизны в опорных точках.

 

The Hermite determinant is useful for local editing the shape of the curve (Fig. 17).

Определитель Эрмита удобен для локального редактирования формы кривой (рис. 17).

Рис. 17. The local editing of the shape of the curve.

Рис. 17. Локальное редактирование формы кривой.

 

Edited site 2-3 of the original polyline by adding a point, moving point and increasing the value ​​of the curvature at this point.

The curve on the rest site of the original polyline has not changed. In general, the curve has a second order of smoothness.

Отредактирован участок 2-3 исходной ломаной путем добавления точки, перемещения добавленной точки и увеличения в этой точке значения кривизны.

Кривая на остальных участках исходной ломаной не изменилась.  В целом кривая имеет 2-ой порядок гладкости.

 

4. Modeling and editing a curve by gb-polygon of NURBzS curve

4. Моделирование и редактирование кривой gb-полигоном NURBzS кривой

 

 

After creating the curve on the pages Polyline3D, Tangent3D, converting NURBS curve to  NURBzS curve on the page NURBS3D or reading NURBzS models from CAD systems can pass to its editing on page NURBzS3D (Fig. 18).

После построения кривой на страницах Polyline3D, Tangent3D, конвертирования NURBS кривой в NURBzS кривую на странице  NURBzS3D или считывания   NURBzS модели из CAD системы можно перейти к ее редактированию на странице NURBzS3D (рис. 18).

 

Fig. 18. The transition to editing NURBzS curve.

Рис. 18. Переход к редактированию NURBzS кривой.

 

 

Fig. 18. The transition to editing the site 2-3 on the original polyiline.

Рис. 18. Переход к редактирования участка 2-3 на исходной ломаной.

 

You can raise the degree of the spline to the 10th degree and locally edit a single segment with preservation smoothness of order 2 (do not touch the first 3 and last 3 points) (Fig. 19)

Можно поднять степень сплайна до 10-ой степени и локально отредактировать одну дугу с сохранением 2-го порядка гладкости (не трогать первые 3 и последние 3 точки) (рис. 19) 

Fig. 19. The local editing of Bezier spline segment of 10th degree.

Рис. 19. Локальное редактирование дуги сплайна Безье 10-ой степени.

 

5. Modeling and editing a curve by s-polygon of b-spline curve

5. Моделирование и редактирование кривой s-полигоном b-сплайновой кривой

 

After creating the b-spline curve on the pages Polyline3D (Fig. 20), Tangent3D, converting NURBzS curve to  NURBS curve on the page NURBzS3D or reading NURBS models from CAD systems can pass to its editing on page NURBS3D (Fig. 21).

 

После построения b-сплайновой кривой на страницах Polyline3D (рис. 20), Tangent3D, конвертирования NURBzS кривой в NURBS кривую на странице  NURBzS3D или считывания   NURBS модели из CAD систем можно перейти к ее редактированию на странице NURBS3D (рис. 21).

 

Fig. 20. Creation of b-spline curve of degree m = 10.

Рис. 20. Построение b-сплайновой кривой степени m = 10.

 

Is then executed transferring to page NURBS3D (button [To B-Spline]) (Fig. 21).

Затем выполняется переход на страницу NURBS3D(кнопка  [To B-Spline]) (рис. 21)

 

 

Fig. 21. Editing the b-spline curve on page NURBS3D.

Рис.  21. Моделирование и редактирование b-сплайновой кривой на странице NURBS3D.

 

Closed b-spline curves can be edited in the open, floating format (Fig. 22).

Замкнутые b-сплайновые кривые можно редактировать в открытом, плавающем формате (рис. 22).

 

Fig. 22. Editing the s-polygon in the open, float format.

Рис.  22. Редактирование s-полигона в открытом, плавающем формате.

 

For high-quality editing of end sites of the curve (Fig. 23) is also recommended to set float format of s-polygon (Fig. 24). Or, at least, to use the float format for the quality control of the curve on the end sites of the curve.

Для качественного редактирования концевых участков незамкнутой кривой (рис.  23) рекомендуется также устанавливать плавающий формат s-полигона (рис. 24). Или, хотя бы, использовать плавающий формат для контроля качества кривой на концевых участках кривой.

Fig. 23. S-polygon of b-spline curve in a clamped format.

Рис. 23. S-полигон b-сплайновой кривой в закрытом формате.

 

Fig. 24. S-polygon of b-spline curve in a float format.

Рис. 24. S-полигон b-сплайновой кривой в открытом формате.

 

In the clamped format (Fig. 23) the impact of control points that are close to the ends of the curve, the shape of the curve is extremely unstable, especially at high degrees of the spline. This is easily verified as follows. Change the position of second or third point of s-polygon in a clamped format, so that, in your opinion, not worsen the quality of the curve (Fig. 25).

 

В закрытом (clamped) формате (рис. 23) влияние управляющих точек, близких к концам кривой, на форму кривой крайне неустойчиво, особенно, при высоких степенях сплайна. Это легко проверяется следующим образом. Измените позиции 2-ой или 3-ей точки s-полигона в закрытом  формате, так, что, по вашему мнению, качество кривой не ухудшится (рис. 25).

Fig. 25. Change of position of the 3d point of s-polygon in the clamped format.

Рис. 25. Изменение положения 3-ей точки s-полигона в закрытом формате.

 

Go to the float format. The form of s-polygon will change, and probably for the worse (Fig. 26).

Перейдите к плавающему формату. Форма s-полигона изменится, и скорее всего, в худшую сторону (рис. 26).

 

Fig. 26. The modified s-ground in an open format.

Рис. 26.  Измененный s-полигон в открытом формате.

Insignificant change in position of control point of s-polygon in a clamped format is catastrophic change in the shape of s-polygon in an open format.

Незначительное изменение положения управляющей точки s-полигона в закрытом формате вызывает катастрофические изменения формы s-полигона в открытом  формате.

 

Differential characteristics of the spline curve defined by divided differences of s-polygon in the float format. So harmonious, correct and regular form of s-polygon in the float format is a necessary condition of high quality of spline curve (Fig. 24).

 

Дифференциальные характеристики сплайновой кривой определяются разделенными разностями s-полигона в плавающем формате. Поэтому гармоничная, правильная, регулярная форма s-полигона в плавающем формате является необходимым условием высокого качества сплайновой кривой (рис. 24).