[SciPy-User] [SciPy-user] How to find the intersections between two lines

seasoul bioseasoul at gmail.com
Fri Apr 9 03:23:03 EDT 2010


A nice idea. Thank you Charles. I will give it a try.

Charles R Harris wrote:
> 
> On Thu, Apr 8, 2010 at 10:15 PM, seasoul <bioseasoul at gmail.com> wrote:
> 
>>
>> This is my first post in the mailing list.
>> I want to find the intersections between two lines. One line is an
>> arbitrary straight line, the other is a fitting line created by a
>> interpolation procedure.
>> Below is a simple code:
>>
>>
>> x = linspace(0,10,20)
>> y = rand(20)*10
>> plt.plot(x,y,'o')
>> f = interpolate.interp1d(x,y,kind=5)
>> xx = linspace(0,10,100)
>> yy = f(xx)
>> plt.plot(xx,yy,'r-')
>> y2 = x
>> plt.plot(x,y2,'b-')
>> def func(x):
>>    out = [x[1]-x[0]]
>>    out.append(x[1]-f(x[0]))
>>    return out
>> fsolve(func,[1,1])
>>
>> The fitting line is a polynomial curve, the straight line is y=x. This
>> function can only find one of the intersection points,not all.
>>
>>
> 
> This is spline interpolation, not polynomial. So I think you are stuck
> with
> sampling the difference of the two curves on a grid, finding adjacent
> pairs
> of sample points at which the function has opposite sign, and then calling
> one of the 1d zero finders, brentq for instance.
> 
> Chuck
> 
> _______________________________________________
> SciPy-User mailing list
> SciPy-User at scipy.org
> http://mail.scipy.org/mailman/listinfo/scipy-user
> 
> 

-- 
View this message in context: http://old.nabble.com/How-to-find-the-intersections-between-two-lines-tp28187442p28188548.html
Sent from the Scipy-User mailing list archive at Nabble.com.




More information about the SciPy-User mailing list