eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingSiatka/Topologia trójkątna/Wyszukiwanie obwiedni › Re: Siatka/Topologia trójkątna/Wyszukiwanie obwiedni
  • Data: 2017-02-20 23:37:43
    Temat: Re: Siatka/Topologia trójkątna/Wyszukiwanie obwiedni
    Od: bartekltg <b...@g...com> szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]

    On 20.02.2017 23:01, Mateusz Bogusz wrote:
    >> A jednak dobre marudziłem, że nie opisałeś tego porządnie;>
    >> W opisie mówiłeś o normalnych trójkąta, i tam wydawało się oczywiste,
    >> że normalne to normalne powierzchni trójkąta. Mogło jedynie dziwić,
    >> jak chcesz znaleść trójkąty o identycznej normalnej, bo przeszkadza
    >> precyzja obliczeń.
    >>
    >> Ty piszesz o normalnych wierzchołków. Znów "oczywistym jest*)"
    >> czyli się domyślam, że masz gładką powierzchnię i interpolujesz
    >> sobie normalną na trójkącie (jak to w grafice się robi).
    >>
    >> Ale wtedy
    >>>>> 3. Szukam wszystkich trójkątów, które mają tą samą normalną - O(n)
    >> Oznacza, że szukasz tych, które gdzieś na swojej powierzchni mają
    >> normalną taką jak wyznaczona?
    >>
    >> Dla samego zadania nie ma to wielkiego znaczenia, ale cały czas może
    >> si,e to zmienić, bo zajmujemy się domyśleniami jak w (*), a jeden
    >> domyśli się jednego, drugi czego innego, a trzeci uzna, żę równie
    >> dobrze mogą być to obie wersje, więc nie bedzie nic pisał, póki
    >> się nie wyjaśni;>
    >
    > Ponieważ mam normalne wierzchołków, to normalną trójkąta liczę tak:
    > (n1+n2+n3)/3.

    Ja bym to jeszcze znormalizował. Bo tak dostaniesz normalną o dlugości
    mniejszej niż jeden.

    Za to wtedy nie trzeba dzielić przez 3 "wystarczy"
    (n1+n2+n3)/|n1+n2+n3|


    <dygresja>
    Jak bardzo nie chcesz liczyć pierwiastka (ale karty graficzne,
    bo dalej wygląda to na coś z grafiki, liczą przyblizony pierwiastek
    sprawnie) można zrobić coś takiego.

    n = n1+n2+n3
    k = (1-n.*n)/2 //n'*n to suma kwadratów składowych

    n = n * (1+k))

    lub

    n=n*(1+k + 3/2 *k^2)

    To drugie daje błąd jak dokładność pojedynczej precyzji dla normalnych
    różniących się o ~5 stopni.
    <~dygresja>



    > A trójkąty mają tą samą/podobną normalną, gdy ich iloczyn skalarny jest
    > bliski 1 :-)

    Ale wtedy, w zależności od przyjętego epsylona, może się zdarzyć, że
    dwa sąsiednie trójkąty zostaną uznane za pasujące, albo żaden,
    mimo, że interpolowana normalna odpowiadające szuknej na trójkącie
    występuje.

    Nie przeszkadza to?


    Można by testować, czy normlana n występuje na trójkącie rozpisując
    ją jako sumę a1 n1 + a2 n2 + a3 n3 (rozwiązanie układu rownań 3x3,
    nie tak źle) i sprawdzić, czy wszytki a_i są dodatnie.

    Problemem będą płaskie powierzchnie, gdzie co najmniej dwie n_i
    są sobie równe.

    pzdr
    bartekltg




Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: