File indexing completed on 2024-05-12 15:23:44
0001 /* 0002 SPDX-FileCopyrightText: 2012 Andrew Stepanenko 0003 0004 Modified by Jasem Mutlaq <mutlaqja@ikarustech.com> for KStars: 0005 SPDX-FileCopyrightText: 2012 Jasem Mutlaq <mutlaqja@ikarustech.com> 0006 0007 SPDX-License-Identifier: GPL-2.0-or-later 0008 */ 0009 0010 #include "vect.h" 0011 0012 #include <cmath> 0013 #include <cstdlib> 0014 0015 namespace GuiderUtils 0016 { 0017 0018 Vector operator^(const Vector &u, const Vector &v) 0019 { 0020 return Vector(u.y * v.z - u.z * v.y, u.z * v.x - u.x * v.z, u.x * v.y - u.y * v.x); 0021 } 0022 0023 Vector RndVector() 0024 { 0025 Vector v(rand() - 0.5 * RAND_MAX, rand() - 0.5 * RAND_MAX, rand() - 0.5 * RAND_MAX); 0026 return Normalize(v); 0027 } 0028 0029 Vector &Clip(Vector &v) 0030 { 0031 if (v.x < 0.0) 0032 v.x = 0.0; 0033 else if (v.x > 1.0) 0034 v.x = 1.0; 0035 if (v.y < 0.0) 0036 v.y = 0.0; 0037 else if (v.y > 1.0) 0038 v.y = 1.0; 0039 if (v.z < 0.0) 0040 v.z = 0.0; 0041 else if (v.z > 1.0) 0042 v.z = 1.0; 0043 0044 return v; 0045 } 0046 } // namespace GuiderUtils