function
LieGroups.Analysis.inPrincipalLogDomain
True when an SO(3) matrix stays a requested margin away from the log cut locus
Public declarations
Explicit source declarations; dimensions, modifications and defaults are shown as written, without evaluation.
| Role | Name | Type | Dimensions / attributes / default | Description |
|---|---|---|---|---|
| input | R | Real | [3, 3] | |
| input | margin | Real | (min=0.0) = 1.0e-6 | |
| output | valid | Boolean | |
Modelica declarations and implementation
Show parameters, interfaces and source
Parameters, inputs, outputs, defaults and equations from the source file.
function inPrincipalLogDomain
"True when an SO(3) matrix stays a requested margin away from the log cut locus"
input Real R[3, 3];
input Real margin(min=0.0) = 1.0e-6;
output Boolean valid;
protected
constant Real pi = 2.0 * asin(1.0);
algorithm
valid := margin < pi and
LieGroups.Analysis.rotationAngle(R) < pi - margin;
end inPrincipalLogDomain;