pythagoras.f

## Interface IPoint

• ### Method Summary

All Methods
Modifier and Type Method and Description
Translates this point by the specified offset.
Point add(float x, float y, Point result)
Translates this point by the specified offset and stores the result in the object provided.
Translates this point by the specified offset and stores the result in the object provided.
Point clone()
Returns a mutable copy of this point.
float direction(XY other)
Returns the angle (in radians) of the vector starting at this point and ending at the supplied other point.
float distance(float px, float py)
Returns the Euclidian distance between this point and the specified point.
float distance(XY p)
Returns the Euclidian distance between this point and the supplied point.
float distanceSq(float px, float py)
Returns the squared Euclidian distance between this point and the specified point.
float distanceSq(XY p)
Returns the squared Euclidian distance between this point and the supplied point.
Point mult(float s)
Multiplies this point by a scale factor.
Point mult(float s, Point result)
Multiplies this point by a scale factor and places the result in the supplied object.
Point rotate(float angle)
Rotates this point around the origin by the specified angle.
Point rotate(float angle, Point result)
Rotates this point around the origin by the specified angle, storing the result in the point provided.
Point subtract(float x, float y)
Subtracts the supplied point from this.
Point subtract(float x, float y, Point result)
Subtracts the supplied point from this and stores the result in result.
Point subtract(XY other, Point result)
Subtracts the supplied point from this and stores the result in result.

x, y
• ### Method Detail

• #### distanceSq

float distanceSq(float px,
float py)
Returns the squared Euclidian distance between this point and the specified point.
• #### distanceSq

float distanceSq(XY p)
Returns the squared Euclidian distance between this point and the supplied point.
• #### distance

float distance(float px,
float py)
Returns the Euclidian distance between this point and the specified point.
• #### distance

float distance(XY p)
Returns the Euclidian distance between this point and the supplied point.
• #### direction

float direction(XY other)
Returns the angle (in radians) of the vector starting at this point and ending at the supplied other point.
• #### mult

Point mult(float s)
Multiplies this point by a scale factor.
Returns:
a new point containing the result.
• #### mult

Point mult(float s,
Point result)
Multiplies this point by a scale factor and places the result in the supplied object.
Returns:
a reference to the result, for chaining.

float y)
Translates this point by the specified offset.
Returns:
a new point containing the result.

float y,
Point result)
Translates this point by the specified offset and stores the result in the object provided.
Returns:
a reference to the result, for chaining.

Point result)
Translates this point by the specified offset and stores the result in the object provided.
Returns:
a reference to the result, for chaining.
• #### subtract

Point subtract(float x,
float y)
Subtracts the supplied point from this.
Returns:
a new point containing the result.
• #### subtract

Point subtract(float x,
float y,
Point result)
Subtracts the supplied point from this and stores the result in result.
Returns:
a reference to the result, for chaining.
• #### subtract

Point subtract(XY other,
Point result)
Subtracts the supplied point from this and stores the result in result.
Returns:
a reference to the result, for chaining.
• #### rotate

Point rotate(float angle)
Rotates this point around the origin by the specified angle.
Returns:
a new point containing the result.
• #### rotate

Point rotate(float angle,
Point result)
Rotates this point around the origin by the specified angle, storing the result in the point provided.
Returns:
a reference to the result point, for chaining.
• #### clone

Point clone()
Returns a mutable copy of this point.