Metafor

ULiege - Aerospace & Mechanical Engineering

User Tools

Site Tools


doc:user:geometry:user:courbes

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
doc:user:geometry:user:courbes [2015/01/07 17:24]
boman [Arc]
doc:user:geometry:user:courbes [2016/03/30 15:23] (current)
Line 10: Line 10:
 {{ doc:user:doc-courbe.png?300 |}} {{ doc:user:doc-courbe.png?300 |}}
  
-===== Line: straight segment =====+===== Line: Straight Segment =====
  
-{{ doc:user:doc-droite.png|}}+{{ doc:user:doc-droite.png |}}
  
 A ''Line'' (line segment) is defined with its two vertices. A ''Line'' (line segment) is defined with its two vertices.
Line 19: Line 19:
  
 with with
-| ''number''          | user number (unique among Points and $\ge 1$)  |+| ''number''          | user number (unique among Curves and $\ge 1$)  |
 | ''pt1'',''pt2''     | the 2 ''Points'' used as vertices              | | ''pt1'',''pt2''     | the 2 ''Points'' used as vertices              |
  
-===== Arc ===== +===== Arc: Arc of Circle ===== 
  
-{{ doc:user:doc-arc.png|}}+{{ doc:user:doc-arc.png |}}
  
 An ''Arc'' of circle is defined using three points, as shown on the figure. An ''Arc'' of circle is defined using three points, as shown on the figure.
Line 37: Line 37:
 ===== Cubic Spline ===== ===== Cubic Spline =====
  
-{{ doc:user:doc-spline.png|}}+{{ doc:user:doc-spline.png |}}
  
-==== "Open" cubic spline ====+==== "Open" Cubic Spline ====
  
   spl = curveset.add( CubicSpline(number, [pt1, pt2, pt3, pt4]) )    spl = curveset.add( CubicSpline(number, [pt1, pt2, pt3, pt4]) )
-  spl.useLsTangent()    # tangents are calculated +  spl.useLsTangent()    # tangents are computed 
                         # using local reconstruction [DEFAULT]                         # using local reconstruction [DEFAULT]
-  spl.useLittTangents() # tangents are calculated +  spl.useLittTangents() # tangents are computed 
                         # using Litt/Beckers lectures                         # using Litt/Beckers lectures
                                              
-  +with 
 +| ''number''          | user number (unique among Curves and $\ge 1$)  | 
 +| ''pt1'',''pt2'',''pt3'',...     | the list of ''Points''              | 
 ==== "Closed" Cubic Spline ==== ==== "Closed" Cubic Spline ====
  
Line 56: Line 59:
 ==== Spline-reconstruction based on a mesh ==== ==== Spline-reconstruction based on a mesh ====
  
-{{  :doc:user:ico-advanced.png?40|Advanced}}+{{:doc:user:ico-advanced.png?40 |Advanced}}
 It is possible to construct a spline based on the mesh of a line. This way, a smooth approximation of this mesh if obtained. It is possible to construct a spline based on the mesh of a line. This way, a smooth approximation of this mesh if obtained.
  
Line 63: Line 66:
 where ''obj'' is a meshed object. where ''obj'' is a meshed object.
  
-===== Full Circle ===== +===== Circle: Full Circle ===== 
  
-{{ doc:user:doc-cercle.png|}}+{{ doc:user:doc-cercle.png |}}
  
 A circle is defined with its center and radius (this function is only defined in the $z=0$ plane) A circle is defined with its center and radius (this function is only defined in the $z=0$ plane)
  
-  circ2d = curset.add( Circle(number, pt1radius) )+  circ2d = curset.add( Circle(number, centreR) )
  
-The orientation of the circle can be inverted (and so will its tangent and normal used for contact):+with 
 +| ''number''  | user number (unique among Curves and $\ge 1$ | 
 +| ''centre''  | centre ''Point''                               | 
 +| ''R''       | radius                                         |
  
 +The orientation of the ''Circle'' can be inverted (and so will its tangent and normal used for contact):
   circ2d.reverse()         circ2d.reverse()      
  
Line 81: Line 88:
 A Non-Uniform Rational Basis Spline (N.U.R.B.S.) is defined as: A Non-Uniform Rational Basis Spline (N.U.R.B.S.) is defined as:
  
-{{ doc:user:doc-nurbs.png|}}+{{ doc:user:doc-nurbs.png |}}
  
   nur = curset.add( NurbsCurve(number) )   nur = curset.add( NurbsCurve(number) )
Line 92: Line 99:
 where where
 |< 30em - >| |< 30em - >|
-| ''number''curve number | +| ''number''user number (unique among Curves and $\ge 1$)  |
 | ''pt1'', ''pt2'' | ''[[doc:user:geometry:user:points]]'' used as supports |  | ''pt1'', ''pt2'' | ''[[doc:user:geometry:user:points]]'' used as supports | 
 | ''degree'' | degré de la coube |  | ''degree'' | degré de la coube | 
 | ''weight1'', ''weight2'' | weights|  | ''weight1'', ''weight2'' | weights| 
 | ''knot1'', ''knot2'' | knot vector |  | ''knot1'', ''knot2'' | knot vector | 
-| ''closed'' | Boolean to determine whether the Nurb is closed |  
-| ''obj'' | GObject support of a topology (curve,wire,group) |  
  
  
Line 104: Line 109:
 {{:doc:user:ico-advanced.png?40 |Advanced}} {{:doc:user:ico-advanced.png?40 |Advanced}}
  
-If a curve cannot be defined with the functions above, it can be programmed in [[doc:user:general:glossaire#python]] using the generic Curve called ''PythonCurve''.+If a ''Curve'' is not implemented in Metafor, it can be programmed in [[doc:user:general:glossaire#python]] using the generic Curve called ''PythonCurve''
 + 
 +The method ''.push()'' is used to add points.
  
-The method ''.push()'' is used to add points, and it possesses four member functions that can be overloaded. The method named ''setEval(fct)'' is used to defined the evaluation [[doc:user:tutorials:tuto0#fonctions|python function]]. The methods named ''setTg'', ''setDTg'' and''setLen()'' respectively define the tangent, its derivative and the curvilinear abscissa. The function ''setEval(fct)'' is the only one required to mesh the curve, when the other three are used for contact.+''PythonCurve'' possesses four member functions that can be overloaded. The method named ''setEval(fct)'' is used to defined the evaluation [[doc:user:tutorials:tuto0#fonctions|python function]]. The methods named ''setTg'', ''setDTg'' and''setLen()'' respectively define the tangent, its derivative and the curvilinear abscissa. The function ''setEval(fct)'' is the only one required to mesh the curve, when the other three are used for contact.
  
 __Example:__  __Example:__ 
doc/user/geometry/user/courbes.1420647860.txt.gz · Last modified: 2016/03/30 15:22 (external edit)