sample
Diff: sample02.cpp
- Revision:
- 2:b51bb221438a
- Parent:
- 1:85da508f8d7e
- Child:
- 3:8d1778dbf580
diff -r 85da508f8d7e -r b51bb221438a sample02.cpp --- a/sample02.cpp Tue Jul 09 08:20:47 2019 +0000 +++ b/sample02.cpp Tue Jul 09 08:44:22 2019 +0000 @@ -1,24 +1,24 @@ #include "sample02.h" -Sample::Sample(double accdis_, double decdis_, double maxspeed_) +Sample::Sample(double accdis_, double decdis_, double maxspeed_, double s_vector_) { - accdis =accdis_; - decdis =decdis_; - maxspeed=maxspeed_; + accdis = accdis_; + decdis = decdis_; + maxspeed = maxspeed_; + s_vector = s_vector_; } -void Sample::terget_xy(int tergetx_, int tergety_, int startx_, int starty_) +void Sample::target_xy(int targetx_, int targety_, int startx_, int starty_) { - tergetDis = hypot((float)(startx_-tergetx_), (float)(starty_-tergety_)); - if (tergetDis > accdis+decdis) { + targetDis = hypot((float)(startx_-targetx_), (float)(starty_-targety_)); + if (targetDis > accdis+decdis) { startx = startx_; starty = starty_; - tergetx = tergetx_; - tergety = tergety_; + targetx = targetx_; + targety = targety_; accsec = 2.0 / maxspeed * accdis; decsec = 2.0 / maxspeed * decdis; - s_vector = 0.1; - middledis = tergetDis - accdis - decdis; + middledis = targetDis - accdis - decdis; } } @@ -27,7 +27,7 @@ nowx = now_x; nowy = now_y; nowDis = hypot((startx-nowx),(starty-nowy)); - tergetRad = atan2((double)(tergety-nowy), (double)(tergetx-nowx)); + targetRad = atan2((double)(targety-nowy), (double)(targetx-nowx)); /***/ if (nowDis < accdis) { @@ -38,7 +38,7 @@ vector = maxspeed; } else if (nowDis > (accdis+middledis)) { - counter = sqrt(2.0*accsec/maxspeed*fabs(tergetDis-nowDis)); + counter = sqrt(2.0*accsec/maxspeed*fabs(targetDis-nowDis)); vector = (-1.0 * sin((2.0*PI/accsec)*counter) + (2.0*PI/accsec)*counter) / (2.0*PI/maxspeed); } @@ -47,10 +47,10 @@ double Sample::getvalue_x() { - return vector * cos(tergetRad); + return vector * cos(targetRad); } double Sample::getvalue_y() { - return vector * sin(tergetRad); + return vector * sin(targetRad); } \ No newline at end of file