python: 求直线上1点,移动一定距离后的坐标

python: 求直线上一点,移动一定距离后的坐标
本帖最后由 Sunhk_25 于 2013-09-12 13:26:27 编辑
已知两点a(x1,y1), b(x2,y2)
可以通过matplotlib的lines求出直线,
现在想把b移动一定距离L后,求新的坐标c(x3,y3)

from matplotlib import lines
from matplotlib import pyplot as plt
import numpy as np

fig = plt.figure()
ax = fig.add_subplot(111)
line = lines.Line2D([0, -2], [0, 2])
ax.add_line(line)

有没有哪位做过相关的,给个指点,谢谢。
python 直线 坐标 移动

------解决方案--------------------
我觉得你得自己计算(初中几何就够了),或者找个几何包。matplotlib是做图包,不是几何包。
------解决方案--------------------
这个只是直线,直接计算更快

还没看到matplotlib,所以说不出用什么语句
图形方法的思路就是,以b为圆点,L为半径画圆,与前面的线段求交点
我之前看过文章,matplotlib求两个图形交集是可以的,你按这个去想吧

------解决方案--------------------
直线的公式
y = mx + q


a和b点带入有:
y1 = m·x1 + q
y2 = m·x2 + q


求解:
y2-y1 = m(x2-x1) 
得到m的值
m = (y2-y1)/(x2-x1)

得到q的值
q = y2-m·x2

现在直线的公式求出来了,然后你可以再加入一个
x^2 + y^2 = L


和上面的公式求解就知道c点的x3和y3了

------解决方案--------------------
引用:
直线的公式
y = mx + q


a和b点带入有:
y1 = m·x1 + q
y2 = m·x2 + q


求解:
y2-y1 = m(x2-x1) 
得到m的值
m = (y2-y1)/(x2-x1)

得到q的值
q = y2-m·x2

现在直线的公式求出来了,然后你可以再加入一个
x^2 + y^2 = L


和上面的公式求解就知道c点的x3和y3了

用正切函数简单点