Ellipses & disks#

Ellipse#

The definition of an elliptical surface requires the plane where it is and the axis parameters. To define the plane, give the center point (parameter _center) and 2 other points, in order to have 3 unaligned points. These points are supposed to be both apogees of the ellipse (parameters _v1 and _v2), namely \(c\), \(v_1\) and \(v_2\) in the following figure:

Figure made with TikZ

Figure made with TikZ

These parameters take 2D or 3D points.

When apogees are along x-axis and y-axis respectively, give the axis lengths by using _xlength and _ylength keys or semi-axis lengths by using _xradius and _yradius keys.

_nnodes can take one single value, an explicit list of 4 values (or a Numbers object), one for each quarter of ellipse. _hsteps can take one real value, an explicit list of 4 real values (or a Reals object). If required, give the names of main domain and side domains as explained in Geometry definition.

Furthermore, an elliptical sectors can be defined by specifying two additionnal parameters: _angle1 and _angle2 keys. Values of angles are given in radian and can be any values, under the following behavior:

  • Difference between angle values has to be smalller than \(2\pi\), but can be greater or equal than \(\pi\).

  • Modulos will be automatically used so that _angle2 will be greater than _angle1.

  • If the angular sector is greater or equal than \(\pi\), an intermediate point is built at the intersection of the ellipse and the bisector of the sector.

  • Default value for _angle1 is 0.

  • Default value for _angle2 is \(2\pi\).

Figure made with TikZ

Figure made with TikZ

  • Whole ellipses

    _nnodes can take one single value, an explicit list of 4 values or a Numbers object. _hsteps can take one real value, an explicit list of 4 real values or a Reals object.

  • Acute elliptical sectors

    _nnodes can take one single value, an explicit list of 3 values or a Numbers object. _hsteps can take one real value, an explicit list of 3 real values or a Reals object.

  • Obtuse elliptical sectors

    _nnodes can take one single value, an explicit list of 4 values or a Numbers object. _hsteps can take one real value, an explicit list of 4 real values or a Reals object.

If required, then give names of main domain and side domains as explained in Geometry definition.

Ellipse e1(_center=Point(0.,0.), _v1=Point(2.,0.), _v2=Point(0.,1.),_nnodes={5, 10, 5, 10}, _domain_name="Omega", _side_names={"Gamma5", "Gamma10", "Gamma5", "Gamma10"});
Ellipse e2(_center=Point(0.,0.,0.), _v1=Point(1.,0.,1.), _v2=Point(0.,1.,1.), _nnodes=40, _domain_name="Omega", _side_names="Gamma");
Ellipse e3(_center=Point(0.,0.), _xlength=2, _ylength=3.5, _nnodes=40, _domain_name="Omega", _side_names="Gamma");

Let’s summarize information about geometrical keys on ellipses:

key(s)

authorized types

examples

_center, _v1, _v2

Point

_center = Point(0.,0.), _v1 = Point(2.,0.), _v2=Point(0.,1.)

_xlength , _ylength , _xradius , _yradius , _angle1 , _angle2

single unsigned integer or real positive value; angles in radian

_xlength =1, _yradius =2.5, _angle1 = 3Pi/2

Hint

Parametrization of the ellipse sector (center \(c\), first and second apogee \(v_1,\ v_2\), angles \(\theta_1,\ \theta_2\)) is:

\[\begin{split}\begin{array}{ll} (u,v)\in[0,1]\times [0,1] \longmapsto & c+u\left((v_1-c)\cos(s)+(v_2-c)\sin(s)\right)\\ & \mathrm{with}\ s = \theta_1+ v(\theta_2-\theta_1). \end{array}\end{split}\]

Disk#

The definition of a disk requires to give the plane where it is and the radius parameters. To define the plane, give the center point and 2 other points, in order to have 3 unaligned points. These points are supposed to be doing a right angle with the center of the disk (as if they were apogees of an ellipse).

Figure made with TikZ

Figure made with TikZ

To do so, Disk object uses parameters _center, _v1 and _v2 taking 2D or 3D points. Furthermore, to define disk sectors, two additional parameters: _angle1 and _angle2. Whe

Figure made with TikZ

Fig. 61 Definition of an inward (on the left) and a outward (on the right) circular sector

Figure made with TikZ

Fig. 62 Definition of an inward (on the left) and a outward (on the right) circular sector

Whole disks:
_nnodes can take one single value, an explicit list of 4 values or a Numbers object.
_hsteps can take one real value, an explicit list of 4 real values or a Reals object.
Inward circular sectors:
_nnodes can take one single value, an explicit list of 3 values or a Numbers object.
_hsteps can take one real value, an explicit list of 3 real values or a Reals object.
Outward circular sectors:
_nnodes can take one single value, an explicit list of 3 or 4 values or a Numbers object.
_hsteps can take one real value, an explicit list of 3 or 4 real values or a Reals object.

Tip

When setting 3 values for an outward circular sector, the middle one stands for sn2 and sn3

Then, you can set names of the main domain and the side domains as explained in Geometry definition:

Disk d1(_center=Point(0.,0.), _v1=Point(1.,0.), _v2=Point(0.,1.), _nnodes={5, 10, 5, 10}, _domain_name="Omega", _side_names={"Gamma5", "Gamma10", "Gamma5", "Gamma10"});
Disk d2(_center=Point(0.,0.,0.), _v1=Point(1.,0.,1.), _v2=Point(0.,1.,1.), _nnodes=40, _domain_name="Omega", _side_names="Gamma");
Disk d3(_center=Point(0.,0.), _radius=2.5, _nnodes=40, _domain_name="Omega", _side_names="Gamma");

Important

The Disk object has another name: Circle

Let’s summarize information about geometrical keys on disks:

key(s)

authorized types

examples

_center , _v1 , _v2

Point

_center=Point(0.,0.), _v1=Point (1.,0.), _v2=Point (0.,1.)

_radius , _angle1 , _angle2

single unsigned integer or real positive value

_radius =1, _angle1 =247.5

Hint

Parametrization of the disk sector (center \(c\), first and second apogee \(v_1,\ v_2\), angles \(\theta_1,\ \theta_2\)) is:

\[\begin{split}\begin{array}{ll} (u,v)\in[0,1]\times [0,1] \longmapsto & c+u\left((v_1-c)\cos(s)+(v_2-c)\sin(s)\right)\\ & \mathrm{with}\ s = \theta_1+ v(\theta_2-\theta_1). \end{array}\end{split}\]