What are you looking for in a geometry module. Please give an example of a problem you wish to pose.

On 05/23/2014 06:38 PM, Joachim Durchholz wrote:
Am 23.05.2014 23:13, schrieb Stefan Krastanov:
@Joachim, you are right about what you say, but I do not think it
applies to the geometry module.

> [...]
>
- generalize it to N dimensions (which is not what this gsoc project
is doing and it will probably never be done (a completely new module
is more realistic))
- make it work in 3D (what this project is doing and what I discuss below)

As I half-suspected, what I'm after isn't in the goals, so it's irrelevant for the project.
Ignore my feedback for the geometry module then :-)

I also agree that a fully general module would likely make it harder to work with in education, so even restricted 2d and 3d modules do have a solid purpose. It *might* be a good idea to rewrite these modules so that they call a generalized arbitrary-dimension geometry module, but since such a module does not exist, that's not currently viable and something to refactor in a future project.

Given that it is only 2d and 3d that we are working on, I think a
minor amount of code duplication[1] is a good thing, as it will make
the code simpler.

[1] at least in the beginning: during code reviews we can see whether
there is something worth abstracting away.

+1

Going back to the current work in progress:
While I do not have a very strong opinion on the above, there is one
thing I insist on. A large amount of `if 2d:... elif 3d:...` snippets
is an obvious antipattern in an OO language. The current works has a
lot of them and it was the reason for which we decided to push the
conversation to the mailing list.

+1
For each such if-elif clause, there should be a function, overridden with the code from "if 2d:" in the 2d module and with the code from "if 3d:" from the 3d module. That's a fairly mechanical transformation. The real fun begins when you try to give these functions meaningful names - however, that's a great way to discover which concepts apply across dimensions and which don't.


--
You received this message because you are subscribed to the Google Groups 
"sympy" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sympy+unsubscr...@googlegroups.com.
To post to this group, send email to sympy@googlegroups.com.
Visit this group at http://groups.google.com/group/sympy.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sympy/537FD58C.5040603%40verizon.net.
For more options, visit https://groups.google.com/d/optout.

Reply via email to