From 1554fce23ccd6702a5653d95c96f9a30fdb9c6e2 Mon Sep 17 00:00:00 2001 From: Hugo Locurcio Date: Sat, 18 Jul 2020 00:46:23 +0200 Subject: [PATCH] Document `Vector2.dot()` and `Vector3.dot()` more extensively These methods are commonly used in games. It's time to make the documentation more explicit about them :) --- doc/classes/Vector2.xml | 5 ++++- doc/classes/Vector3.xml | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/doc/classes/Vector2.xml b/doc/classes/Vector2.xml index 32895310d15..c97f99cfaa1 100644 --- a/doc/classes/Vector2.xml +++ b/doc/classes/Vector2.xml @@ -154,7 +154,10 @@ - Returns the dot product with vector [code]b[/code]. + Returns the dot product with vector [code]b[/code]. This can be used to compare the angle between two vectors. For example, this can be used to determine whether an enemy is facing the player. + The dot product will be [code]0[/code] for a straight angle (90 degrees), greater than 0 for angles narrower than 90 degrees and lower than 0 for angles wider than 90 degrees. + When using unit (normalized) vectors, the result will always be between [code]-1.0[/code] (180 degree angle) when the vectors are facing opposite directions, and [code]1.0[/code] (0 degree angle) when the vectors are aligned. + [b]Note:[/b] [code]a.dot(b)[/code] is equivalent to [code]b.dot(a)[/code]. diff --git a/doc/classes/Vector3.xml b/doc/classes/Vector3.xml index 0c861e5ee2f..7ba8cb5eed2 100644 --- a/doc/classes/Vector3.xml +++ b/doc/classes/Vector3.xml @@ -123,7 +123,10 @@ - Returns the dot product with [code]b[/code]. + Returns the dot product with vector [code]b[/code]. This can be used to compare the angle between two vectors. For example, this can be used to determine whether an enemy is facing the player. + The dot product will be [code]0[/code] for a straight angle (90 degrees), greater than 0 for angles narrower than 90 degrees and lower than 0 for angles wider than 90 degrees. + When using unit (normalized) vectors, the result will always be between [code]-1.0[/code] (180 degree angle) when the vectors are facing opposite directions, and [code]1.0[/code] (0 degree angle) when the vectors are aligned. + [b]Note:[/b] [code]a.dot(b)[/code] is equivalent to [code]b.dot(a)[/code].