Content

Analytic Сurve to NURBS. 1

Introduction. 1

The algorithm works with the notebook. 2

Алгоритм работы с ноутбуком.. 2

Specify path and name for output file. 2

Define the Formula of analytic curve. 3

Write the program of interpolation. 3

Interpolate the analytic curve. 3

Prepare the Hermite GD for approximation on interpolated points. 3

Specify variables to  approximate the Hermite GD.. 3

Interpolate the created NURBS curve. 5

Analyze the quality of NURBS curve. 5

Write the NURBS model to external systems. 5

 

Introduction

In engineering problems may require analytic curves with specific properties. Such curves can be derived analytically from the solution of specific engineering problems.

Designer also has a powerful reserve as a whole palette of so-called remarkable curves.

В инженерных  задачах могут потребоваться аналитические кривые со специфическими свойствами. Такие кривые могут быть выведены аналитически  из решения конкретных инженерных задач.

Мощным резервом дизайнера является  целая палитра аналитических кривых, т.н. замечательных кривых.

 

At present in CAD-systems are used NURBS-curves as templates of analytic curves (as a universal internal representation of curves).

For NURBS curves are derived exactly the conics.

For NURBS curves are approximative derived the spatial spiral-screw curves, equidistants to the plane curves.

В настоящее время в CAD-системах в качестве шаблонов аналитических кривых (в качестве универсального внутреннего представления кривых) используются NURBS-кривые.

К NURBS кривым точным образом приводятся кривые второго порядка. 

К NURBS кривым аппроксимационно приводятся пространственные спирально-винтовые линии, эквидистанты к плоским кривым.

 

At approximation of analytic curves by splines can be used not only the points on curve, but the differential characteristics of analytic curves at these points.

In engineering geometry in the approximation used the geometric characteristics of the form as tangents, curvature and torsion vectors.  This approximation scheme is called Hermite approximation scheme, and the set of geometric parameters is called the Hermite geometric determinant (Hermite GD).

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

This notebook intended for shape preserving approximation of an analytic curve by NURBS curve.

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

 

The algorithm works with the notebook

Алгоритм работы с ноутбуком

 

Together with notebook do the following procedures

Вместе с ноутбуком выполните следующие процедуры

 

Specify path and name for output file

 

Set output file (dfx  or xlsx)

You may directly set the path and name of file specifying variable OUTFILE or define the file by browsing (button BROWSE).

But one of these actions You must do.

To specify a file by browsing, delete the line of direct specifying or hide it in a comment.

 

 

Define the Formula of analytic curve

 

Define formula of analytic curve in parametric form r(u)=[X(u),Y(u),Z(u)].

Define formulas of First derivatives, Second derivatives, Curvature.

 

Write the program of interpolation

 

On the base of formulas of analytic curve write the program of interpolation.

Program of interpolation forms lists:

IntP – list of interpolated points,

intDP - list of interpolated first derivatives,

intD2P  - list of interpolated second derivatives,

intCvt –list of interpolated values of curvature,

intLen - list of parameter u-u0 according to interpolated points,

 

 

Interpolate the analytic curve

Specify u0 and uk of domain [u0,uk] of analytic curve r(u) and number of intrpolated points NintP.

Draw the Graph of the curve on interpolated points

Draw graph of curvature on length parameter of the curve

 

Prepare the Hermite GD for approximation on interpolated points

 

Prepare the Hermite GD specifying number (NHermite) of points for approximation of analytic curve on fixed domain [u0,uk]

 

Draw graph of Hermite GD

Specify variables to  approximate the Hermite GD

 

fairings   - defines the method of construction on Hermite GD the curve ( 1 – v-curve not used, directly constructed the NURBzS curve on Hermite GD of 2th order; 2 – v-curve created on base polyline of Hermite GD; 3 – v-curve created on a tangent polyline, formed by the points and tangent vectors of Hermite GD).  

fairings   -  определяет метод построения  на ГО Эрмита кривой (1 - v-кривая не используется, кривая строится непосредственно ГО Эрмита 2-го порядка; 2 - v-кривая строится на опорной ломаной ГО Эрмита, 3 - v- кривая строится  на касательной ломаной, образованной точками и касательными векторами ГО Эрмита).

 

redistributing -  redistributes base points on v-curve  for improving the quality of approximation ( 1 - off, 2 – on).

redistributing -  перераспределяет опорные точки по v-кривой для улучшения качества аппроксимации ( 1 - off, 2 – on).

 

uCreate - defines the approximation method  (3 - NURBzS approximation, 2 – B-Spline approximation).

uCreate – определяет метод аппроксимации (3- NURBzS аппроксимация, 2 – B-Сплайн аппроксимация).

 

NURBzS approximation

NURBzS аппроксимация

 

Set options for approximation by NURBzS curve: 

Установите опции для аппроксимации NURBzS кривой:

 

FixCvtU0 - enables to use the value of curvature in start point of NURBS-sketch (1-Off, 2-On).

FixCvtU0 – включает использование значения кривизны в начальной точке NURBS-эскиза (1-Off, 2-On).

 

FixCvtUk - enables to use  the value of curvature in end point of NURBS-sketch (1-Off, 2-On).

FixCvtUk – включает использование значения кривизны в конечной точке NURBS-эскиза (1-Off, 2-On).

 

B-Spline approximation

B-Сплайновая аппроксимация

 

Set options for approximation by B-Spline curve: 

Установите опции для аппроксимации b-сплайновой кривой

 

order  - defines the degree of spline  (1 – 6th degree, 2 – 8th degree, 3 – 10th degree);

order  - определяет степень сплайна (1 – 6-ая степень, 2 – 8-ая степень, 3 – 10-ая степень);

 

FixCvtU0 - enables to use the value of curvature in start point of NURBS-sketch (1-Off, 2-On).

FixCvtU0 – включает использование значения кривизны в начальной точке NURBS-эскиза (1-Off, 2-On).

 

FixCvtUk - enables to use  the value of curvature in end point of NURBS-sketch (1-Off, 2-On).

FixCvtUk – включает использование значения кривизны в конечной точке NURBS-эскиза (1-Off, 2-On).

 

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).

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

 

 

Interpolate the created NURBS curve

 

Display the NURBS curve

 

Analyze the quality of NURBS curve

 

Display the Graph of curvature as function F(x) 

 

Display Graph of the curvature over the curve

 

Write the NURBS model to external systems

 

Convert NURBS model to Mathematica primitive

 

Write NURBS model to DXF-file

 

Write NURBS model to XLSX-file