[
https://issues.apache.org/jira/browse/GEOMETRY-150?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17743185#comment-17743185
]
Matt Juntunen commented on GEOMETRY-150:
----------------------------------------
A few comments:
- {{Vectors}} is in the {{internal}} package and is not intended to be part of
the public API. We should not add any method intended for public use there.
- Two vectors are codirectional if the dot product of their normalized forms is
equal to 1. But how close to 1 do we have to be in order to return true? This
makes me think that this method needs to accept a
{{Precision.DoubleEquivalence}} in order to allow the caller to specify how
close we need to be.
- This could possibly be implemented as a default method in {{Vector}} with
something like this:
{code:java}
default boolean isCodirectionalWith(final V other, final
Precision.DoubleEquivalence precision) {
final V thisNormalized = normalizeOrNull();
final V otherNormalized = other.normalizeOrNull();
if (thisNormalized != null && otherNormalized != null) {
final double dot = thisNormalized.dot(otherNormalized);
return precision.eq(dot, 1.0);
}
return false;
}
{code}
> implement isCodirectionalTo(Vector y)
> -------------------------------------
>
> Key: GEOMETRY-150
> URL: https://issues.apache.org/jira/browse/GEOMETRY-150
> Project: Commons Geometry
> Issue Type: New Feature
> Components: euclidean1D
> Reporter: Dimitrios Efthymiou
> Priority: Minor
> Labels: features
> Fix For: 1.1
>
> Original Estimate: 1h
> Remaining Estimate: 1h
>
> implement isCodirectionalTo(Vector y) method in the Vector interface. The
> isCodirectionalTo() checks if the 2 vectors point at the same direction. This
> means that each vector can be obtained from the other by multiplying by a
> positive scalar.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)