Symmetries

Specifies a list of axial discrete symmetries

A user can specify the list of exact axial discrete symmetries of an object. These list allows PartFinder to skip generation of templates with the same appearance of an object.

Every symmetry can be specified by

  • Axis - An array of 3 real numbers that specify the axis of rotation. It should have a nonzero norm.

  • Order - An integer number that specifies the order of the symmetry group. It should be strictly greater than zero.

In addition, a user can define an item Angle. This item defines an azimuthal offset of a spherical wedge that contains selected viewpoints.

Format

Array

with elements containing an Axis real vector and an Order integer number

Example

If \(xyz\) is the PartFinder’s frame for the object, then the following array

"Symmetries": [
    { "Axis": [ 0, 0, 1 ], "Order": 4 }
]

defines the wedge of viewpoints such that the polar angle is in the \([0, {\pi}]\) interval while the azimuthal angle belongs to \([0, {\pi}/2]\) in the standard spherical coordinate system (ISO 80000-2:2019 convention).

Similarly, the array

"Symmetries": [
    { "Axis": [ 1, 0, 0 ], "Order": 4 }
]

defines the same wedge in \(x'y'z'\)-system, where \(x'=-z, y'=y, z'=x\), thus the azimuthal angle (and its offset Angle) is measured from \(-z\) axis.

Given that \({\pi/12\,\approx\,}0.2618\), the array with two elements

"Symmetries": [
    { "Axis": [ 1, 1, 1 ], "Order": 3, "Angle": -0.261799387799    },
    { "Axis": [ 0, 1, 0 ], "Order": 2, "Angle":  3.141592653589793 }
]

defines the symmetry of a cube, whose faces are aligned with the coordinate planes. This array defines two wedges so that their intersection covers a solid angle in \(4{\pi} / 24\) steradians.