55 const double radius,
const double varRadius,
56 const unsigned int k,
const double phi)
57 : myCenter(x0,y0), myRadius(radius), myVarRadius(varRadius), myK(k),myPhi(phi)
64 const double varRadius,
65 const unsigned int k,
const double phi)
66 : myCenter(aPoint), myRadius(radius), myVarRadius(varRadius),
73 const double varRadius,
74 const unsigned int k,
const double phi)
75 : myRadius(radius),myVarRadius(varRadius),myK(k),myPhi(phi)
98 if ( ( p.at( 0 ) == 0.0 ) && ( p.at( 1 ) == 0.0 ) )
118 angle = atan2( p.at( 1 ), p.at( 0 ) ) +
M_PI;
128 template <
typename T>
133 double r= myRadius+ myVarRadius*cos(myK*t + myPhi);
146 template <
typename T>
151 double r= myRadius+ myVarRadius*cos(myK*t + myPhi);
152 double rp = - myVarRadius * sin( myK * t + myPhi ) * myK;
153 RealVector2D c( rp*cos(t) - r*sin(t),rp*sin(t) + r*cos(t) );
162 template <
typename T>
167 double r= myRadius+ myVarRadius*cos(myK*t + myPhi);
168 double rp = - myVarRadius * sin( myK * t + myPhi ) * myK;
169 double rpp = - myVarRadius * cos( myK * t + myPhi ) * myK * myK;
170 RealVector2D c(rpp * cos( t ) - 2 * rp * sin( t ) - r * cos( t ),
171 rpp * sin( t ) + 2 * rp * cos( t ) - r * sin( t ) );
183 template <
typename T>
188 out <<
"[Flower2D] center= "<<myCenter<<
" radius="<<myRadius<<
" varRadius="<<myVarRadius
189 <<
" myK="<<myK<<
" phase-shift="<<myPhi;
196 template <
typename T>
209 template <
typename T>
215 object.selfDisplay( out );