已知两点之间距离,把距离延长

syty_msyl 2010-02-03 10:17:10
根号 (x1-x2)^2+(y1-y2)^2 获取到两点的距离 比如是100毫米,我想把这个距离延长 怎么修改公式如延长到200毫米
...全文
128 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
aoyihuashao 2010-02-03
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 syty_msyl 的回复:]
我这方面很白痴,
        double m = (point1.x- point.x)*(point1.x- point.x);
double n = (point1.y- point.y)*(point1.y- point.y);
        double s = sqrt(m + n);
        s是亮点之间的距离,根据你的那个公式应该怎么改呢,谢谢
[/Quote]

x1= point1.x
x2 = point2.x
y1 = point1.y
y2 = point2.y

s1 = sqrt(m + n);
s2 = 200;

x3 = (x2 -x1)*s2/s1 + x1;
y3 = (y2 -y1)*s2/s1 + y2;
bragi523 2010-02-03
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 bragi523 的回复:]
x2 = (x2 -x1)*2 + x1;
y2 = (y2 -y1)*2 + y2;
[/Quote]
x2 = (x2 -x1)*200/100 + x1;
y2 = (y2 -y1)*200/100 + y2;
syty_msyl 2010-02-03
  • 打赏
  • 举报
回复
我这方面很白痴,
double m = (point1.x- point.x)*(point1.x- point.x);
double n = (point1.y- point.y)*(point1.y- point.y);
double s = sqrt(m + n);
s是亮点之间的距离,根据你的那个公式应该怎么改呢,谢谢
bragi523 2010-02-03
  • 打赏
  • 举报
回复
x2 = (x2 -x1)*2 + x1;
y2 = (y2 -y1)*2 + y2;
aoyihuashao 2010-02-03
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 syty_msyl 的回复:]
x3,y3怎么得到的

[/Quote]

倒,x3,y3不是你要求的第三个点吗?

里面别的数字都已知了,不就是求两个一元一次方程式啊。
syty_msyl 2010-02-03
  • 打赏
  • 举报
回复
x3,y3怎么得到的
aoyihuashao 2010-02-03
  • 打赏
  • 举报
回复
线段为斜边,对X轴和Y轴的投影为两直角边,组成的三角形。
aoyihuashao 2010-02-03
  • 打赏
  • 举报
回复
如果是这样的话,那最终点是x3,y3
根据相似三角形定理

200/100 = (x3-x1)/(x2-x1)=(y3-y1)/(y2-y1)
syty_msyl 2010-02-03
  • 打赏
  • 举报
回复
对就是这个意思,让一个点动,把距离拉长
aoyihuashao 2010-02-03
  • 打赏
  • 举报
回复
什么意思?x1,y1不动,然后移动x2,y2?

19,469

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧