q/a
authorAlexey Shvetsov <alexxy@gentoo.org>
Thu, 13 Aug 2020 20:22:29 +0000 (23:22 +0300)
committerAlexey Shvetsov <alexxy@gentoo.org>
Thu, 13 Aug 2020 20:22:29 +0000 (23:22 +0300)
Signed-off-by: Alexey Shvetsov <alexxy@gentoo.org>
src/domaintype.cpp
src/newfit.cpp

index e663040de0c0836773e2d551e986f7c3556597cc..8c522757ecf5e819087cfc9fae78a4f6eab26090 100644 (file)
@@ -25,6 +25,7 @@ void domainType::setDefaults(std::vector< unsigned long > index, const std::vect
     graph.resize(0);
     structIndex = index;
     ref = reference;
+    // слава шиве, слава индусам... зачем столько ифов?
     if (epsilon != -1) { eps = epsilon; }
     if (delta != -1) { dlt = delta; }
     if (windowSize != -1) { window = windowSize; }
index 0343ac12088a1bb9b657ee238c25cf0dd3c0adb2..7d2f81d3bd725ce617347dfc7b74a480de41e31f 100644 (file)
@@ -1,6 +1,8 @@
 #include "newfit.h"
 
 // вычисление модуля расстояния между двумя точками, с учётом геометрического преобразования
+//
+// Казалось бы лучше связанные тройки векторами... =) это и к тому что ниже относится
 double F (double aix, double aiy, double aiz, double bix_plus_x, double biy_plus_y, double biz_plus_z, double A, double B, double C) {
     return  sqrt(   pow(aix + biy_plus_y * (cos(A) * sin(C) - cos(C) * sin(A) * sin(B)) - biz_plus_z * (sin(A) * sin(C) + cos(A) * cos(C) * sin(B)) - cos(B) * cos(C) * bix_plus_x, 2) +
                     pow(aiy - biy_plus_y * (cos(A) * cos(C) + sin(A) * sin(B) * sin(C)) + biz_plus_z * (cos(C) * sin(A) - cos(A) * sin(B) * sin(C)) - cos(B) * sin(C) * bix_plus_x, 2) +
@@ -32,6 +34,8 @@ void searchF0xyzabc (long double &F, double &Fx, double &Fy, double &Fz, double
 }
 
 // применения геометрического преобразования: смещение на вектор (x, y, z) и повороты на градусы A, B, C относительно осей (x, y, z)
+//
+// А порядок поворотов какой?
 void ApplyFit (std::vector< RVec > &b, double x, double y, double z, double A, double B, double C) {
     double t0 = 0, t1 = 0, t2 = 0;
     for (unsigned int i = 0; i < b.size(); i++) {
@@ -81,7 +85,7 @@ void MyFitNew (std::vector< RVec > a, std::vector< RVec > &b, std::vector< std::
                 static_cast< double >(b[pairs[i].second][0]) + x, static_cast< double >(b[pairs[i].second][1]) + y, static_cast< double >(b[pairs[i].second][2]) + z, A, B, C);
     }
     if (FtCnst == 0) {
-        FtCnst = 0.0000001;
+        FtCnst = 0.0000001; // почему именно столько?!
     }
     if (f1 == 0) {
         ApplyFit(b, x, y, z, A, B, C);