C# przypisanie wierzchołkom ich współrzędnych, które znajdują się w tablicy

0

Witam, czy mógłby ktoś mi pomóc z takim zadaniem, jak w temacie? Muszę przypisać wierzchołkom tetrahedronu ich wartości z tablicy,a następnie policzyć jego środek ciężkości. O ile z drugą częścią programu nie mam problemu to pierwsza niestety sprawia mi trudność.

            vtkPoints tetraPoints = vtkPoints.New();
            tetraPoints.SetNumberOfPoints(4);
 
            for (int i = 0; i < 4; i++)
                reader.ReadLine();
 
            int b = int.Parse(reader.ReadLine());
            for (int a = 1; a <= b; a++)
            {
                string linia = reader.ReadLine();
                string[] tab = linia.Split(' ');
                tetraPoints.InsertPoint(int.Parse(tab[0]), double.Parse(tab[1], CultureInfo.InvariantCulture), double.Parse(tab[2], CultureInfo.InvariantCulture), double.Parse(tab[3], CultureInfo.InvariantCulture));
            }
            reader.ReadLine();
            reader.ReadLine();
 
            string temp = reader.ReadLine();
            int d = int.Parse(temp);
            for (int c = 1; c <= d; c++)
            {
                string linia = reader.ReadLine();
                string[] tab = linia.Split(' ');
                if (tab[1] != "4")
                    continue;
                
                vtkTetra aTetra = vtkTetra.New();
                aTetra.GetPointIds().SetId(0, int.Parse(tab[5]));
                aTetra.GetPointIds().SetId(1, int.Parse(tab[6]));
                aTetra.GetPointIds().SetId(2, int.Parse(tab[7]));
                aTetra.GetPointIds().SetId(3, int.Parse(tab[8]));
                aTetraGrid.InsertNextCell(aTetra.GetCellType(), aTetra.GetPointIds());
0

Co jest źle z twoim kodem?
Jak wygląda klasa vtkPoints?
I co poniższy kod ma robić?

            for (int i = 0; i < 4; i++)
                reader.ReadLine();
0

Kod jest w porządku, tylko że do zczytania współrzędnych wierzchołków muszę mieć dostęp do tablicy tych danych. Kod ten czyta linie tablicy, których wartość jest mniejsza od 4.

0

Skoro kod jest w porzadku, to z czym konkretnie jest problem? ;)

0

Problem jest w tym, że nie potrafię przypisać wierzchołkom tego tetrahedronu ich współrzędnych, które znajdują się w tab[1], tab[2] i tab[3] by następnie wykonać znalezienie środka ciężkości funkcją:
double x0, x1, x2, x3, x, y0, y1, y2, y3, y, z0, z1, z2, z3, z;
x = (x0 + x1 + x2 + x3) / 4.0;
y = (y0 + y1 + y2 + y3) / 4.0;
z = (z0 + z1 + z2 + z3) / 4.0;

0
                tetraPoints.InsertPoint(int.Parse(tab[0]), double.Parse(tab[1], CultureInfo.InvariantCulture), double.Parse(tab[2], CultureInfo.InvariantCulture), double.Parse(tab[3], CultureInfo.InvariantCulture));

Więc to co robi?

1 użytkowników online, w tym zalogowanych: 0, gości: 1