
问题描述:
以起点(x1,y1)和已知点(x2,y2)的直线上,求从起点开始,长度为r的点(所要求的点)的坐标
解决方案:
1.根据直线方程y=kx+b,可以求出k、b的值
2.根据圆的一般方程(x-a)^2+(y-b)^2=r^2,加上上面的公式,就可以计算出来了
实现代码:
public static short[] getStraightLinePoint(int x1, int y1, int x2, int y2,
int radius) {
short x3 = 0;
short y3 = 0;
float k = 0;
float b = 0;
if ((x2 - x1) == 0 && (y2 - y1 == 0)) {
return null;
}
if ((x2 - x1) == 0) {
if (y2 > y1) {
x3 = (short) x1;
y3 = (short) (y1 + radius);
return new short[] { x3, y3 };
} else {
x3 = (short) x1;
y3 = (short) (y1 - radius);
return new short[] { x3, y3 };
}
}
if ((y2 - y1 == 0)) {
if (x2 > x1) {
y3 = (short) y1;
x3 = (short) (x1 + radius);
return new short[] { x3, y3 };
} else {
y3 = (sho

本文介绍了如何在直线上找到从起点(x1, y1)开始,长度为r的点的坐标。首先,通过直线方程y=kx+b确定斜率k和截距b,然后结合圆的方程(x-a)^2+(y-b)^2=r^2,求解出所需点的坐标。"
110344648,10294063,Python安装模块全攻略:从简单到pip,"['Python', '安装管理', '模块安装']
最低0.47元/天 解锁文章
4563

被折叠的 条评论
为什么被折叠?



