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.