diff options
author | stoofin <44447892+stoofin@users.noreply.github.com> | 2019-11-19 22:30:28 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-11-19 22:30:28 -0800 |
commit | 8abd64dcbbe80e20b23fd526437bd068289f365c (patch) | |
tree | 1e4c6a393319a780191de6772b75f86dd718b8ce | |
parent | 1bd32388aef6739a3da38301024243d8968356be (diff) |
Fixed bug caused by a copy/paste error in Face3::get_closest_point_to
s * edge0 = -d / a * edge0 = -edge0⋅v0 / (edge0⋅edge0) * edge0 = vector projection of -v0 onto edge0
By incorrectly using -e/c instead of -d/a, Face3::get_closest_point_to was returning the wrong point in certain cases. Specifically, I noticed it returning vertex[0] when it should have been returning vertex[1].
-rw-r--r-- | core/math/face3.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/core/math/face3.cpp b/core/math/face3.cpp index ab09142b2d..666d214f98 100644 --- a/core/math/face3.cpp +++ b/core/math/face3.cpp @@ -393,7 +393,7 @@ Vector3 Face3::get_closest_point_to(const Vector3 &p_point) const { s = CLAMP(numer / denom, 0.f, 1.f); t = 1 - s; } else { - s = CLAMP(-e / c, 0.f, 1.f); + s = CLAMP(-d / a, 0.f, 1.f); t = 0.f; } } else { |