Content

 

 Analysis  the quality  and editing the NURBS curves. 1

 Анализ качества и редактирования NURBS кривых. 1

The structure and content of the document “Analysis  the quality  and editing the NURBS curves.nb"  1

Структура и содержание документа “Analysis  the quality  and editing the NURBS curves.nb"  1

Page for setting params and options. 2

Страница для установки параметров и опций. 2

Dynamic editing of NURBS curve. 3

Динамическое редактирование NURBS кривой. 3

Analysis of the quality of edited curve. 7

Анализ качества отредактированной кривой. 7

Writing NURBS model to an output file. 7

Запись NURBS модели во внешний файл. 7

 

 

Analysis  the quality  and editing the NURBS curves

Анализ качества и редактирования NURBS кривых

 

Editing  of NURBS curve of high in the document “Analysis  the quality  and editing the NURBS curves.nb" using program package "Fair_NURBS.xm" and an external program FairCurveModeler.exe.

 

 

The structure and content of the document “Analysis  the quality  and editing the NURBS curves.nb"

Структура и содержание документа “Analysis  the quality  and editing the NURBS curves.nb"

 

On page for setting params and options

   Set path and name of  input file (dxf  or xls/xlsx)

   Set  path and name of output file (dxf  or xlsx)  

   Set options and params for vewing the initial NURBS  curve

На странице для установки параметров и опций

   Задайте путь и имя входного файла (dxf  or xls/xlsx)

   Задайте путь и имя выходного файла (dxf  or xls/xlsx)

   Задайте опции и параметры для рафинирования исходного NURBS кривой.

 

Loading package  Fair_NURBS.xm

Загрузка пакетаFair_NURBS.xm

 

Reading the initial NURBS-sketch

Чтение исходного NURBS-эскиза

 

Analysis the quality of NURBS-sketch (degree > 1)

   Drawing the graphs of  curvature

   Defining the Macroparams of NURBS curve

Анализ качества NURBS кривой

   Отображение графиков кривизны

   Определение макропараметров NURBS-эскиза

 

 

 

 

Dynamic editing the NURBS curve

Динамическое редактирование NURBS кривой

 

Analysis the quality of Edited Curve

   Drawing the graphs of  curvature

   Defining the Macroparams of edited NURBS curve

Анализ качества  кривой

   Отображение графиков кривизны

   Определение макропараметров  NURBS кривой

 

Writing the NURBS model to output file

Запись NURBS кривой в выходной файл

 

 

This document is intended for analyzing the quality and editing NURBS curve.

Документ предназначен для анализа качества и редактирования NURBS кривой.

 

Page for setting params and options

Страница для установки параметров и опций

 

Set path and name of input / output file (dxf  or xlsx)

Задайте путь и имя входного / выходного файла (dxf или xlsx)

 

You may directly set the path and name of file or define the file by browsing.

But one of these actions You must do.

By default, in the document specified input and output files of Example of improving the NURBS-sketch created in Alias ​​Design.

When working with the BROWSE button string of directly specifying the file hide in comment.

Вы можете напрямую задать путь и имя файла или определить файл путем просмотра с помощью проводника.

Но одно из этих действий вы должны сделать.

По умолчанию в документе заданы входной и выходной файл примера улучшения NURBS-эскиза, созданного в Alias Design.

При работе с кнопкой BROWSE строку прямого определения файла скройте в комментарий.

 

scale = 0.1; (* for Graph of Curature *)

Variable  sets the display scale of curvature graph. Sets the scale with respect of the maximum value of curvature to the length of a curve.

Переменная устанавливает масштаб отображения графика кривизны. Устанавливает масштаб отображения максимального значения кривизны относительно длины кривой.

 

view  = 1; (* 1 - Graph of curvature, 2 - Graph of Evolute *)

Variable specifies the view of the graph of curvature (curvature graph or graph of evolute).

Переменная задает вид графика кривизны (график кривизны или эволюту).

 

 

Dynamic editing of NURBS curve

Динамическое редактирование NURBS кривой

 

Before editing spline the parameters of the initial spline are stored in the Hermite GD  (nodal points, tangents and curvature). Polyline of nodal points of brown color is displayed in the editing window. Is also displayed the current control node point in the form of a large brown point.

Перед редактированием  запоминаются параметры исходного сплайна в ГО Эрмита (узловые точки, касательные и кривизны). Ломаная узловых точек коричневого цвета отображается в окне редактирования. Отображается также текущая контрольная узловая точка в виде большой точки коричневого цвета.

 

Editing the shape of the curve is done by dragging the control points - s-polygon vertices of NURBS curve or gb-polygon of NURBzS curve.

Редактирование формы кривой выполняется перемещением контрольных точек - вершин s-полинона NURBS кривой или gb-полигона NURBzS кривой.

 

For editing are available the following options and parameters:

Для редактирования доступны следующие опции и параметры:

 

Axis_X 1-X,2-Y,3-Z ,

Axis_Y 1-X,2-Y,3-Z

Editing is done on an arbitrary projection. Projection given by the numbers of coordinates {X, Y, Z}, which determine the coordinate on the graph is displayed on an axis X ("Axis_X 1-X, 2-Y , 3-Z") and the axis Y ("Axis_Y 1-X, 2-Y ,3-Z "). By default, the X-axis coordinate graph displayed X. Y-axis coordinate Y.

Редактирование выполняется на произвольной проекции. Проекция задается номерами координат {X,Y,Z}, которые определят какая координата на графике будет отображена по оси X ("Axis_X 1-X,2-Y,3-Z") и по оси Y ("Axis_Y 1-X,2-Y,3-Z").  По умолчанию по оси X графика отображается координата X. По оси Y координата Y.

 

Scale

Option "Scale"  sets the display scale of curvature graph. Sets the scale with respect of the maximum value of curvature to the length of a curve.

Параметр "Scale" устанавливает масштаб отображения графика кривизны. Устанавливает масштаб отображения максимального значения кривизны относительно длины кривой.

 

View

Parameter "view" specifies the view of the graph of curvature (curvature graph or graph of evolute).

Параметр "view" задает вид графика кривизны (график кривизны или эволюту).

 

Float

[On] - performs the transformation of s-polygon to the float format;

[Off] - returns s-polygon to the clamped format.

[on] - выполняет переход s-полигона в плавающий формат;

[off] - возвращает s-полигон в закрытый формат.

 

When editing closed splines use s-polygon in an float format. This will ensure that the smoothness of the curve at the closure.

При редактировании замкнутых сплайнов редактируйте s-полигон в открытом формате. Это обеспечит сохранение плавности кривой в точке замыкания.

 

 

Options

In the area "Options" can change the number of points of base polyline:

Subdivide [Subdivide] [Insert ]

В области Options можно изменять количество точек опорной ломаной:

Options [Subdivide][Insert]

 

You can enter a new control vertices of s-polygon of spline by subdivision spline as a whole [Subdivide], you can enter only one control vertex of s-polygon by entering a new nodal point after the current control  node [Insert].

Можно вводить новые контрольные вершины s-полигона на кривой путем подразбиения кривой в целом [Subdivide], можно вводить только одну контрольную вершину s-полигона введением новой узловой точки после текущей контрольной узловой точки [Insert].

 

to Edit

[Vertex] - sets the mode for editing the vertices of s-polygon with options of increment movement.

[Point] - sets the  mode for editing the nodal points with options of increment movement;

[Point to Init] - corrects s-polygon spline for accurate passing through the current control nodal point;

[Tangent to Init] - corrects s-polygon for an exact match of spline tangent with the original spline tangent.

[Vertex] - устанавливает режим редактирования вершин s-полигона с помощью опций инкременального перемещения

[Point]- устанавливает режим редактирования узловых точек с помощью опций инкременального перемещения;

[Point to Init] - корректирует s-полигон для точного прохождения сплайна через текущую контрольную узловую точку;

[Tangent to Init] - корректирует s-полигон для точного совпадения касательной сплайна с касательной исходного сплайна в текущей контрольной узловой точке.

 

 

Vertex

You can set the current control vertex of s-polygon by selecting a number of vertex from of a given range (Vertex [ ]) or by moving the control vertex over the vertices by using the buttons [<<] [<] [>] [>>].

Можно установить текущую контрольную вершину s-полигона путем выбора  номера вершины из заданного диапазона  (Vertex  [  ]) или путем перемещения контрольной вершины  по вершинам опорной ломаной  с помощью кнопок [<<][<][>][>>].

 

Point

You can set the current control nodal point of initial spline  by selecting a number of control nodal point from of a given range (Point [ ] ) or by moving the control nodal point over the nodes  by using the buttons [<<] [<] [>] [>>].

Можно установить текущую контрольную узловую вершину путем выбора  номера вершины из заданного диапазона  Point [  ] или путем перемещения контрольной вершины  по вершинам опорной ломаной  с помощью кнопок [<<][<][>][>>].

 

Point to Init,

[On] - performs the verifying of s-polygon for eliminate mismatch between the actual position of the nodal point of the spline and the nodal point of the Hermite GD;

[On] - выполняет уточнение s-полигона для устранения рассогласования между фактическим положением узловой  точки сплайна после изменения и узловой точкой ГО Эрмита;

 

Tangent to Init

[On] - performs the verifying of s-polygon for eliminate mismatch between the actual tangent vector at the nodal point of the spline and the tangent vector at nodal point of the Hermite GD;

[On] - выполняет уточнение s-полигона для устранения рассогласования между касательным вектором в узловой точке сплайна и касательным вектором в узловой точке ГО Эрмита;

 

In this document is realized an improved method of quality editing at the ends of the curve proposed in [MuftejevVinnitsa 2012].

В данном документе реализован усовершенствованный  способ качественного редактирования на концевых участках кривой, предложенный в работе [MuftejevVinnitsa 2012].  In a closed format influence of control points that are close to ends of the curve, it is extremely unstable, especially at high degrees of spline.  В закрытом формате влияние управляющих точек, близких к концам кривой, чрезвычайно неустойчиво, особенно при высоких степенях сплайна. Slight change in the position of control vertices in a clamped format may cause a catastrophic change in the form of s-polygon in a float format. Незначительное изменение положения управляющей вершины в закрытом формате может вызвать катастрофическое изменение формы s-полигона в открытом формате. Note that the harmonious, regular form of s-polygon in a float format is a necessary condition for high-quality spline curve. Отметим, что гармоничная, регулярная форма s-полигона в открытом формате является необходимым условием высокого качества сплайновой кривой.

However, to ensure good quality, for example, the required law the change of curvature at the end site of curve and at the same time provide an accurate pass through the specified end point of the curve is needed too laborious work to control vertices s-polygon in an open format.Однако для обеспечения и хорошего качества, например, требуемого закона изменения кривизны на конечном участке и одновременно обеспечения точного прохождения через заданную концевую точку кривой необходима слишком кропотливая работа с управляющими вершинами s-полигона в открытом формате. In this document the method is improved as follows. Nodal points, tangents and curvatures of the original spline stored as Hermite GD. В данном документе метод усовершенствован следующим образом. Узловые точки, касательные и значения кривизны исходного сплайна запоминаются в виде ГО Эрмита. After changing the s-polygon at the end site of curve when you turn on an option [Point to Init] vertices of the s-polygon in a quantity Degree are moved by the value of mismatch between the actual position of the end point of the spline after the change and the end nodal point of the Hermite GD. После изменения  s-полигона на концевом участке при включении опции [Point to Init] концевые вершины s-полигона в количестве Degree перемещаются на величину рассогласования между фактическим положением концевой точки сплайна после изменения и концевой узловой точкой ГО Эрмита. Similarly restored and direction of the tangent at the end point when you turn on an option [Tangent to Init]. Аналогичным образом восстанавливается и направление касательной в концевой точке при включении опции [Tangent to Init]. Instead of moving used the rotation to angle of deviation. Of course, the more accurate pre-editing, the better preserved the achieved quality after the verifying by the node and the tangent vector of the Hermite GD. Вместо перемещения используется вращение на угол рассогласования.   Разумеется, чем точнее предварительное редактирование, тем лучше сохраняется достигнутое качество после уточнения по узловой точке и касательному вектору ГО Эрмита.

 

Axis X [-] [+] - implements the increment movement in the X direction, in screen coordinates with a step set in “Step”;

Axis_X[-][+] - реализует инкрементное перемещение в направлении оси X в экранной

системе координат с шагом, установленным в области “Step”;

 

Axis Y [-] [+] - implements the increment movement in the X direction, in screen coordinates with a step set in “Step”;

Axis_Y[-][+] - реализует инкрементное перемещение в направлении оси Y в экранной системе координат с шагом, установленным в области “Step”;

 

Current Vertex:{X,Y,Z}   Weight:{value}

Are displayed the coordinates of the current control vertex and the value ​​of weight:

Current Point: {x, y, z} Weight {value}

Отображаются координаты текущей управляющей вершины и значение весового коэффициента:

Current Point: {x, y, z} Weight {value}

 

Current Point: :{X,Y,Z}     Tangent: :{TX,TY,TZ}    Curvature: :{Value}  

Are displayed the coordinates of the current nodal point and the values ​​of the tangent vector and the curvature value at this point:

Current Point: {x, y, z} Tangent {tx, ty, tz} Curvature {value}

Отображаются координаты текущей узловой точки опорной ломаной и значения касательного вектора и значение кривизны в этой точке:

Current Point: { x, y, z } Tangent { tx, ty,tz } Curvature { value }

 

Analysis of the quality of edited curve

Анализ качества отредактированной кривой

 

Below the edit window, you can view 3D Graph of edited curve and macroparameters of curve.

Ниже окна редактирования можно просмотреть 3D График отредактированной кривой и макропараметры кривой.

 

You can check the current quality of dynamically editable curve. You must select the cell after the title "Graphics and parameters of edited curve" and press Shift + Enter. Graphics of curvature are changed to display the current graphics of curvature of the editable curve.

Можно проверить текущее качество динамически редактируемой кривой. Необходимо выделить клетку (cell)  после названия “Graphics and  parameters of edited curve” и нажать Shift+Enter. Графики кривизны изменятся и отобразят текущие графики кривизны редактируемой кривой.

 

Similarly, you can determine the Macroparameters of the editable curve in the cell after the title "Macroparams of faired NURBS curve"

Аналогично можно определить макропараметры редактируемой кривой в клетке после названия “Macroparams of faired NURBS curve

 

Writing NURBS model to an output file

Запись NURBS модели во внешний файл

 

Recording is performed to the output file of edited curve. The output file type (dxf / xlsm), the path and name are specified on the "Page for setting params and options".

Выполняется запись в выходной файл отредактированной кривой. Тип выходного файла (dxf / xlsm), путь и имя задаются на странице “Page for setting params and options”.

 

You can overwrite to the same output file the dynamically editable curve. You must select the cell after the title of "Writing the NURBS model to output file" and press Shift + Enter.

Можно перезаписать в тот же  выходной файл динамически  редактируемую кривую. Необходимо выделить клетку (cell)  после названия “Writing the NURBS model to output file” и нажать Shift+Enter.