当前位置:首页>开发>正文

python求两点直线坐标 matlab过两点做定长线段怎么做

2023-07-19 05:52:36 互联网 未知 开发

 python求两点直线坐标 matlab过两点做定长线段怎么做

python求两点直线坐标

#判断斜率是否相等.
#即点(cx,cy)是不是在点(ax,ay)和点(bx,by)确定的直线上.
def issame(ax,ay,bx,by,cx,cy):
  kac=(ax-cx)*(cy-by)
  kbc=(cx-bx)*(ay-cy)   
  return kac==kbc

#获取点(ax,ay)和点(bx,by)确定的直线上所有的点的坐标
def getall(ax,ay,bx,by):
  res=[]
  for cx in range(500):
    for cy in range(500):
      if issame(ax,ay,bx,by,cx,cy):
        res.append((cx,cy))
  return res

#斜率为100的直线
print(getall(0,0,1,100))结果:
>>> 
[(0, 0), (1, 100), (2, 200), (3, 300), (4, 400)]

matlab过两点做定长线段怎么做?

data(1,:) = input(请输入P点坐标(例如[10,5,6]): ) % 输入数组,注意中括号[]
data(2,:) = input(请输入Q点坐标(例如[10,5,6]): )
L = input(请输入线段长度: )
t = data(2,:)-data(1,:)
Lpq = sqrt(sum(t.^2)) % P,Q长度
data(3,:) = data(1,:) t*L/Lpq % 新的端点
plot3(data(:,1),data(:,2),data(:,3))hold on % 画空间直线
plot3(data(:,1),data(:,2),data(:,3),r.,markersize,15)hold on % 标记点
str = [P,Q,S]
% 点的注释
for i = 1: text(data(i,1),data(i,2),data(i,3),strcat(str(i), (,num2str(data(i,1)),,,num2str(data(i,2)),,,num2str(data(i,3)),)))hold on
end