coordinateSwitch static method
传入直角三角形三个顶点坐标和三角形内任意一个坐标点,然后计算得到该坐标点到斜边上的高 通过求大三角形的面积,减去坐标点(x, y)垂直于三角形另外两条边形成的2个三角形面积,再除以斜边得到斜边上的高 坐标系转换(支持 90, 180, -180, -90)
Implementation
// static double getHeightFromHypotenuseAndArbitraryPoint(
// Offset rectangularCoordinates/**直角坐标 */,
// Offset acuteAngleCoordinate/**锐角坐标 */,
// Offset acuteAngleCoordinate2/**锐角坐标 */,
// Offset arbitraryPoint/** 任意点 */) {
// final hypotenuseLen = distanceTo(acuteAngleCoordinate, acuteAngleCoordinate2);
// final rightSide = distanceTo(acuteAngleCoordinate, rectangularCoordinates);
// final rightSide2 = distanceTo(acuteAngleCoordinate2, rectangularCoordinates);
// return 0;
// }
///坐标系转换(支持 90, 180, -180, -90)
static Offset coordinateSwitch(int fixedRotationAngle, double dx, double dy) {
switch (fixedRotationAngle) {
case 90:
return Offset(-dy, dx);
case 180:
case -180:
return Offset(-dx, -dy);
case -90:
return Offset(dy, -dx);
default:
return Offset(dx, dy);
}
}