Найти, какой процент линии составляет точка - PullRequest
0 голосов
/ 30 августа 2011

У меня есть две точки, х2 и х1. У меня есть соответствующие им y, y2 и y1.

Я всегда знаю, что x2> .95> x1 и y2> y1.

поэтому я написал этот код, в надежде, что я смогу найти, где вдоль y1-y2, что происходит .95, но я не уверен в его точности, поэтому любые предложения или уведомления были бы хороши:

  3 x1 = float(raw_input('x1: '))
  4 x2 = float(raw_input('x2: '))
  5 y1 = float(raw_input('y1: '))
  6 y2 = float(raw_input('y2: '))
  7 
  8 z = 0.95
  9 
 10 dist = x2-x1
 11 
 12 yi = ((1-(.01*(dist/(dist-(x2-z)))))*(y2-y1))+y1

пожалуйста, дайте мне знать, если это правильно, потому что я не уверен, что это так, но я также не уверен, что мне не хватает.

Ответы [ 2 ]

3 голосов
/ 30 августа 2011

Уравнение для линии: y = mx + c, где m - это наклон, а c - это точка пересечения.

Учитывая (x1, y1) и (x2, y2), вы можете найти m иc:

m = (y2-y1)/(x2-x1)
c = y2 - m * x2

Теперь, когда вы знаете их, вы можете найти значение y, когда x = 0.95, по:

y = m * 0.95 + c
2 голосов
/ 30 августа 2011

Уравнение прямой двумя точками (x1, y1) и (x2, y2) равно (y-y1)/(y2-y1) = (x-x1)/(x2-x1).если xi = 0.95, то yi = (y2-y1)*(xi-x1)/(x2-x1)+y1

...