30 lines
648 B
JavaScript
30 lines
648 B
JavaScript
|
export default class GeometryPoint
|
||
|
{
|
||
|
constructor(x, y)
|
||
|
{
|
||
|
this.x = x;
|
||
|
this.y = y;
|
||
|
}
|
||
|
|
||
|
isEqual(geometryPoint)
|
||
|
{
|
||
|
return this.x === geometryPoint.x && this.y === geometryPoint.y;
|
||
|
}
|
||
|
|
||
|
getDistanceToPoint(geometryPoint)
|
||
|
{
|
||
|
return Math.sqrt(Math.pow(geometryPoint.x - this.x,2) + Math.pow(geometryPoint.y - this.y,2));
|
||
|
}
|
||
|
|
||
|
getAngleToPoint(geometryPoint)
|
||
|
{
|
||
|
return Math.atan2(this.y - geometryPoint.y, this.x - geometryPoint.x);
|
||
|
}
|
||
|
|
||
|
draw(context)
|
||
|
{
|
||
|
context.beginPath();
|
||
|
context.arc(this.x, this.y, 3, 0, 2 * Math.PI);
|
||
|
context.stroke();
|
||
|
}
|
||
|
}
|