Пример #1
0
        public void calc_lambda_for_Original(cls3D_pointModified screenPoint)
        {
            double x0 = polygonModified[0].originalX;
            double x1 = polygonModified[1].originalX;
            double x2 = polygonModified[2].originalX;
            double y0 = polygonModified[0].originalY;
            double y1 = polygonModified[1].originalY;
            double y2 = polygonModified[2].originalY;
            double y  = screenPoint.originalX;
            double x  = screenPoint.originalY;

            lambda0 = ((x1 - x2) * (y - y2) - (y1 - y2) * (x - x2)) /
                      ((x1 - x2) * (y0 - y2) - (y1 - y2) * (x0 - x2));
            lambda1 = ((x2 - x0) * (y - y0) - (y2 - y0) * (x - x0)) /
                      ((x2 - x0) * (y1 - y0) - (y2 - y0) * (x1 - x0));
            lambda2 = ((x0 - x1) * (y - y1) - (y0 - y1) * (x - x1)) /
                      ((x0 - x1) * (y2 - y1) - (y0 - y1) * (x2 - x1));
        }
Пример #2
0
 public static List <cls3D_pointModified> loadTopsFromObjectFileForTransformation()
 {
     lines = File.ReadAllLines("Test.obj");                                  // считывание информации из файла
     for (int i = 0; i < lines.Length; i++)
     {
         words = lines[i].Split(' ');
         if (words[0] == "v")                                                // ищем вершины
         {
             // CultureInfo.InvariantCulture позволяет читать десятичные числа как 0.хххх, а не 0,ххх
             x = double.Parse(words[1], CultureInfo.InvariantCulture);       // считываем врешины
             y = double.Parse(words[2], CultureInfo.InvariantCulture);
             z = double.Parse(words[3], CultureInfo.InvariantCulture);
             cls3D_pointModified point = new cls3D_pointModified(x, y, z);       // инициализируем точку по координатам
             pointsForTransformation.Add(point);                                 // записываем в лист точку
         }
     }
     return(pointsForTransformation); // возвращаем массив точек
 }
Пример #3
0
 // конструктор
 internal clsPolygonModified(cls3D_pointModified p1, cls3D_pointModified p2, cls3D_pointModified p3)
 {
     this.points[0] = p1;
     this.points[1] = p2;
     this.points[2] = p3;
 }