Tom Bachmann wrote:
>> Is there a specific thread of ideas being implemented in this branch
Not really. Here are some basic themes, though:
o make instantiation more flexible. e.g. to instantiate a Line allow a Point
and slope instead of just two Points. Without this, to get a line with a
certain slope you would have to do:
Line(Point(x, y), Point(x + 1, y + slope))
instead of
Line(Point(x, y), slope)
So changes to Line and Ray (allowing Point and direction) were made.
o make use of Points easier. (x, y) can be used anywhere (in theory) Point(x,
y) can be used. This was an allowed option to Point itself so I extended the
idea so you can now do
Line((x, y), slope)
to achieve a line with slope 'slope' passing through x, y.
o tidy up the intersection calculations
o give everything an arbitrary_point and plot_interval method (this will need
some further tweaking to get this working in a good way with plotting, I think).
o try to bring some unity to behavior, e.g. Polygon would return Triangle when
appropriate, so I didn't see any reason not to let any object return the
simpler object when the number of points dictated. This is similary to
Number(2) or Real(2) returning Integer(2) and Integer(1) returning S.One. So
now Polygon((1,1)) returns Point(1,1) rather than raising an error. The only
potential problem is that whereas Polygon has an area, Line and point do not.
This could be solved by giving them methods that just return 0.
o make the geometry objects play more like sympy objects: they have a subs and
args method now and allow iteration.
The only mid-stream change that was made that I didn't try to smooth out was
the method 'inside' which later becomes 'encloses_point'. So other than that,
each commit can pretty much be reviewed on its own.
/c
--
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.