fix: change the start angle of the regular polygon to match the sketch
This commit is contained in:
@@ -956,8 +956,19 @@ export function createRegularPolygon(opt_sides, opt_angle) {
|
|||||||
squaredCoordinateDistance(center, end));
|
squaredCoordinateDistance(center, end));
|
||||||
const geometry = opt_geometry ? /** @type {module:ol/geom/Polygon} */ (opt_geometry) :
|
const geometry = opt_geometry ? /** @type {module:ol/geom/Polygon} */ (opt_geometry) :
|
||||||
fromCircle(new Circle(center), opt_sides);
|
fromCircle(new Circle(center), opt_sides);
|
||||||
const angle = opt_angle ? opt_angle :
|
let angle = opt_angle ? opt_angle :
|
||||||
Math.atan((end[1] - center[1]) / (end[0] - center[0]));
|
Math.atan((end[1] - center[1]) / (end[0] - center[0]));
|
||||||
|
let _angle = 180 * angle / Math.PI;
|
||||||
|
if (end[0] - center[0] >= 0 && end[1] - center[1] <= 0) {
|
||||||
|
_angle = _angle + 360;
|
||||||
|
} else if (end[0] - center[0] >= 0 && end[1] - center[1] >= 0) {
|
||||||
|
_angle = _angle;
|
||||||
|
} else if (end[0] - center[0] <= 0 && end[1] - center[1] >= 0) {
|
||||||
|
_angle = _angle + 180;
|
||||||
|
} else if (end[0] - center[0] <= 0 && end[1] - center[1] <= 0) {
|
||||||
|
_angle = _angle + 180;
|
||||||
|
}
|
||||||
|
angle = _angle * Math.PI / 180;
|
||||||
makeRegular(geometry, center, radius, angle);
|
makeRegular(geometry, center, radius, angle);
|
||||||
return geometry;
|
return geometry;
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user