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

Odpowiedz Nowy wątek
2015-02-02 15:34
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());
edytowany 1x, ostatnio: Ktos, 2015-02-02 15:53
Dodaj kod w &lt;code=csharp&gt; &lt;/code&gt; - dam1an 2015-02-02 15:40

Pozostało 580 znaków

2015-02-02 15:48
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();

Pozostało 580 znaków

2015-02-02 16:05
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.

No właśnie tylko czyta i nic więcej. - dam1an 2015-02-02 16:49

Pozostało 580 znaków

2015-02-02 16:07
0

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

Pozostało 580 znaków

2015-02-02 16:33
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;

Pozostało 580 znaków

2015-02-02 16:49
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?

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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