28 if (
r >= -M_PI &&
r < M_PI)
31 int multiplier = (int)(
r / (2*M_PI));
32 r =
r - multiplier*2*M_PI;
55 comp.
f = cos(move1.
r) * move2.
f - sin(move1.
r) * move2.
s + move1.
f;
56 comp.
s = sin(move1.
r) * move2.
f + cos(move1.
r) * move2.
s + move1.
s;
57 comp.
r = (move1.
r + move2.
r);
74 move.
f = (pt2.
y - pt1.
y) * sin(pt1.
theta) + (pt2.
x - pt1.
x) * cos(pt1.
theta);
75 move.
s = + (pt2.
y - pt1.
y) * cos(pt1.
theta) - (pt2.
x - pt1.
x) * sin(pt1.
theta);
84 p_inv.
f = - cos(move1.
r) * move1.
f - sin(move1.
r) * move1.
s;
85 p_inv.
s = sin(move1.
r) * move1.
f - cos(move1.
r) * move1.
s;
97 FSRMovement itrans_refp1(zero, reference_pt_frame1);
100 FSRMovement trans_refp2(zero, reference_pt_frame2);
104 return tmp.
move(zero);
static FSRMovement invertMove(const FSRMovement &move1)
static FSRMovement composeMoves(const FSRMovement &move1, const FSRMovement &move2)
OrientedPoint move(const OrientedPoint &pt) const
void compose(const FSRMovement &move2)
static OrientedPoint frameTransformation(const OrientedPoint &reference_pt_frame1, const OrientedPoint &reference_pt_frame2, const OrientedPoint &pt_frame1)
static FSRMovement moveBetweenPoints(const OrientedPoint &pt1, const OrientedPoint &pt2)
static OrientedPoint movePoint(const OrientedPoint &pt, const FSRMovement &move1)
FSRMovement(double f=0.0, double s=0.0, double r=0.0)