Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Diff: Point.c
- Revision:
- 1:1d2eb2143108
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Point.c Tue Oct 19 10:07:15 2010 +0000 @@ -0,0 +1,52 @@ +#include "Point.h" +#include "math.h" + +Point::Point(float x, float y) { + _x = x; + _y = y; +} + +Point::Point() { + _x = 0; + _y = 0; +} + +float Point::getX() { + return _x; +} + + +float Point::getY() { + return _y; +} + +void Point::setX(float x) { + _x = x; +} + +void Point::setY(float y) { + _y = y; +} + + +Point Point::DegreesToXY(float degrees, float radius, Point origin) +{ + Point xy = Point(); + double radians = degrees * PI / 180.0; + + xy.setX( (float)cos(radians) * radius + origin.getX()); + xy.setY( (float)sin(-radians) * radius + origin.getY()); + + return xy; +} + + float Point::XYToDegrees(Point xy, Point origin) +{ + int deltaX = origin.getX() - xy.getX(); + int deltaY = origin.getY() - xy.getY(); + + double radAngle = atan2((long double)deltaY, (long double)deltaX); + double degreeAngle = radAngle * 180.0 / PI; + + return (float)(180.0 - degreeAngle); +} \ No newline at end of file