I think we should not warn about floats; we should just convert them in
routines such as this. Until then, try change your floats to Rational, e.g.

    >>> def rat(d):
    ...  return S(str(d), rational=True)
    ...
    >>> p1 = Point(rat(-694310.42867240659), rat(7051910.5392115889))
    >>> p2 = Point(rat(-694286.161023414), rat(7051916.4164796043))
    >>> l=Line(p1,p2)
    >>> p = Point(rat(-694210.80222825997), rat(7051914.7562929001))
    >>> s = l.perpendicular_segment(p)
    >>> s.length
    862844452291*12723695727349**(1/2)/159046196591862500
    >>> _.n()
    19.3515546455920

Both S and nsimplify have a rational flag that can be used to change numbers
to Rational form. S requires you to convert the number to a string first
while nsimplify does not (so I could have used nsimplify in rat, too).

    >>> nsimplify(2.3, rational=1)
    23/10

-- 
You received this message because you are subscribed to the Google Groups 
"sympy" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/sympy?hl=en.

Reply via email to