[ https://issues.apache.org/jira/browse/GEOMETRY23?page=com.atlassian.jira.plugin.system.issuetabpanels:commenttabpanel&focusedCommentId=16660440#comment16660440
]
Gilles commented on GEOMETRY23:

If I take this statement
{quote}I picture the representation of an ndimensional vector as an ntuple as a matter of
definition and not implementation.
{quote}
as meaning that "Commons Geometry" represents the "vector" concept by a data structure that
stores Cartesian coordinates, then the alternative to having {{ofCartesian}} is to rename
{{Vector3D}} to {{CartesianVector3D}}.
I.e. the equivalent of
{code:java}
Vector3D v = Vector3D.ofCartesian(1, 2, 3);
{code}
is
{code:java}
CartesianVector3D v = CartesianVector3D.of(1, 2, 3);
{code}
This has the big advantage to completely remove the ambiguity on what is being represented
(onetoone mapping between math and code), {{of}} becomes selfdocumenting and {{CartesianVector3D}}
can be a ["ValJO"https://blog.joda.org/2014/03/valjosvaluejavaobjects.html].
> Remove Euclidean Point Classes
> 
>
> Key: GEOMETRY23
> URL: https://issues.apache.org/jira/browse/GEOMETRY23
> Project: Apache Commons Geometry
> Issue Type: Improvement
> Reporter: Matt Juntunen
> Priority: Major
> Labels: pullrequestavailable
>
> Based on discussion of the current Point/Vector API in GEOMETRY14 and research into
other geometric libraries, I think we should remove the Euclidean Point?D classes and make
Vector?D also implement Point. This will end up being similar to the previous commonsmath
design but avoids the issue raised in MATH1284 since the Point and Vector interfaces are
not related. They just happen to be implemented by the same class, which we're calling Vector?D
since a vector can be used to indicate a point (by adding it to the origin).
> In the course of trying this out this design, I ended up removing 7 classes and simplifying
several methods. I think that's a good indicator that this is a good design choice.
>
> Pull request: https://github.com/apache/commonsgeometry/pull/15

This message was sent by Atlassian JIRA
(v7.6.3#76005)
