Frage

Es ist, als -||xi-xy||^2 beschrieben.

Also für 2 zweidimensionale Punkte kann ich Code, um es so?

- ((x1-x2) + (y1-y2))^2

oder

-( (x1-x2)^2 + (y1-y2)^2 )

oder

-(sqrt( (x1-x2)^2 + (y1-y2)^2 ))

oder eine andere Art und Weise?

War es hilfreich?

Lösung

Die richtige Antwort ist

-( (x1-x2)^2 + (y1-y2)^2 )

Die mathematische Beschreibung ist genau, aber nicht nützlich für die Umsetzung. Es ist, als das Quadrat der Entfernung zwischen den Punkten angegeben, die, wenn sie umgesetzt würde direkt so etwas wie:

len = sqrt( (x1-x2)*(x1-x2) + (y1-y2)*(y1-y2) );
result = -( len*len );

, die vereinfacht zu

result = -( (x1-x2)*(x1-x2) + (y1-y2)*(y1-y2) );

, die Ihre # 2 ist.

Andere Tipps

Das dritte ist das Negativ der Entfernung. Der zweite erscheint das Negativ des Quadrats der Entfernung zu sein.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top