Android 将线端坐标移动到面点但保留长度

Android move end of line coordinate to face point but retain length

我有一条线位于

Point lineStart = (screenWidth, screenHeight/2);

我想将它的长度保留为一个固定的数字,即

int lineLength = 100

当用户点击屏幕的任何部分时,我希望将 (x,y) 值解析为

Point lineEnd;

如何确定坐标以在给定接触点的情况下进行解析,同时保留线的长度?提前致谢!

我想你可以通过角度来确定坐标。

首先通过arctan(lineStart和touchPoint连线)得到角度

然后根据上面的角度计算lineEnd

Point getLineEnd(Point lineStart, Point touchPoint, int length) {
    double rad = Math.atan((touchPoint.y - lineStart.y) / (touchPoint.x - lineStart.x));
    Point lineEnd = new Point(lineStart);
    lineEnd.offset(length * Math.cos(rad), length * Math.sin(rad));
    return lineEnd;
}