Autor Wątek: [C#] Odwracanie macierzy  (Przeczytany 5174 razy)

Offline Edwin

  • Użytkownik

# Styczeń 13, 2008, 01:08:35
Ktoś wie czy jest jakaś funkcja gotowa to tego? Szukałem w necie i znalazłem niby klasę Matrix z metodą invese, albo invert. Niestety jeżeli dodaję wymaganą przestrzeń przez using to kompilator wywala bład że nie ma takiego namespace. Ktoś wie jak to zrobić?

Offline Mr. Spam

  • Miłośnik przetworów mięsnych

Offline shyha

  • Użytkownik
    • Shyha@Flickr

# Styczeń 13, 2008, 01:12:11
My nie wróżki. Skąd mamy wiedzieć co ty na sieci znalazłeś i jak tego używać?
Nie sądzę, żeby C# miał jakś gotową funkcję do tego. DX pewnie ma.

Offline counterClockWise

  • Użytkownik

# Styczeń 13, 2008, 01:18:48
Użyj sobie Microsoft.DirectX.Matrix. Ma metodę Invert (statyczna) i Inverse.

Offline Edwin

  • Użytkownik

# Styczeń 13, 2008, 01:22:57
Już próbowałem tego, ale wywala mi taki błąd:

The type or namespace name 'DirectX' does not exist in the namespace 'Microsoft' (are you missing an assembly reference?)

Offline shyha

  • Użytkownik
    • Shyha@Flickr

# Styczeń 13, 2008, 01:24:16
Dobrze zainstalowałeś DXSDK?

maxest

  • Gość
# Styczeń 13, 2008, 01:25:38
A dodales dll'ke przy uzyciu Project -> Add Reference (czy jakos tak)?
Poza tym na odwracanie macierzy istnieje prosty algorytm. Na Wikipedii znajdziesz.

Offline Edwin

  • Użytkownik

# Styczeń 13, 2008, 02:25:25
Zainstalowałem i działa już. Tylko mam jeszcze jedno pytanie, jak wprowadzić dane i ustalić rozmiar tej macierzy? Bo ta klasa ma tylko konstruktor bez żadnych argumentów. Chciałbym aby tam sie znalazły dane z tablicy 2 wymiarowej mat.

        public void odwroc(double[,] mat)
        {
            Matrix A=new Matrix();
            A.Invert();
        }

Offline counterClockWise

  • Użytkownik

# Styczeń 13, 2008, 02:29:30
Tak ciężko się zorientować że A.M11, A.M12, A.M13 itd to elementy macierzy?:)
Ta klasa reprezentuje tylko macierze 4x4. Jeżeli potrzebujesz do czegoś innego niż przekształcenia w 3D to musisz poszukać innej albo napisać własną.

Offline Edwin

  • Użytkownik

# Styczeń 13, 2008, 02:35:01
E to bez sensu, jest jakaś dynamiczna? Coś  w stylu vectora?

Offline revo

  • Użytkownik

# Styczeń 13, 2008, 02:41:51
E to bez sensu, jest jakaś dynamiczna? Coś  w stylu vectora?

Jak już było sugerowane wcześniej, zaimplementuj sobie. Czas jaki poświęciłeś na pisanie na tym forum i szukanie gotowego rozwiązania w sieci  zapewne wystarczyłby do zaimplementowania podstawowych operacji na macierzach, a na dodatek trochę doświadczenia nigdy nie zaszkodzi.

Offline Edwin

  • Użytkownik

# Styczeń 13, 2008, 02:53:39
Ojej napisze sobie metodą L U, ale bez sensu że nie ma gotowej biblioteki do tego.

Offline Kos

  • Użytkownik
    • kos.gd

# Styczeń 13, 2008, 12:38:30
@Above: Skoro znalazłeś coś na necie, to czemu teraz mówisz że nie ma? Nie wiem na co trafiłeś, ale gdyby nie działało, to by nikt raczej nie publikował, hm? ;) Ma w ogóle dokumentację? Jeśli tak, to pewno w niej piszą jak tego używać..

[btw] Ale te czasy się zmieniły... Kiedyś ludzie nie mieli żadnych bibliotek nawet do grafiki i jakoś sobie w 13h radzili :] [/btw]