Podział trójkąta na n^2 przystających

0

Witajcie,

mam problem algorytmiczny z jedną z części mojego projektu. Muszę podzielić trójkąt na n^2 trójkątów przystających. Wiem na jakiej zasadzie miałby odbywać się ten podział (demonstracja na rysunku). Nie wiem jednak, jak mogę operować na wektorach w MatLabie, tzn. jak znajdować współrzędne punktów trójkątów.

Proszę o wskazówki, w jaki sposób mam przesuwać się po kolejnych częściach wektora i znajdować potrzebne współrzędne. Będę wdzięczny za wszelką pomoc :)

0

Chyba udało mi się rozwiązać problem :)

punkty=zeros(n*n, 2); //rezerwuje potrzebna pamiec

dlugoscbok1=[B(1)-A(1), B(2)-A(2)]; //norma wektora z boku 1
dlugoscbok2=[C(1)-A(1), C(2)-A(2)]; //norma wektora z boku 2

z=1; //przechowujemy ilosc zapisanych punktow 

for i=0:n
    punkt_obecny=[A(1)+i/n*dlugoscbok1(1), A(2)+i/n*dlugoscbok1(2)];
    punkty(z, :)=punkt_obecny;
    z=z+1;

    for j=1:n-i
        punkt_poprzedni=punkt_obecny;
        punkt_obecny=[punkt_poprzedni(1)+1/n*dlugoscbok2(1), punkt_poprzedni(2)+1/n*dlugoscbok2(2)];
        
        punkty(z, :)=punkt_obecny;
        z=z+1;
    end
end

0

Coś mi się tu nie zgadza.
Jakie punkty zapisujesz? Może ponumeruj je na obrazku.
Czy wiesz że ilość punktów różni się od ilości trójkątów?
W każdym razie na 100% źle przydzielasz pamięć tu: punkty=zeros(n*n,2); ponieważ przy żadnym n wartość z nie będzie wynosić n*n+1 po zakończeniu pętli.
http://ideone.com/dr6i0z

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