Losowanie punktów po obwodzie trójkąta

Losowanie punktów po obwodzie trójkąta
A2
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 25
0

Witam,
potrzebuję wylosować punkty z niewielkiego przedziału, których połączenie da mi kontury różnych figur. Kwadrat czy okrąg były łatwe ale jak wylosować punkty tworzące obwód trójkąta? Korzystam z klasy Point2D.

Z góry dziękuję za pomoc,
Agata

MI
  • Rejestracja: dni
  • Ostatnio: dni
1

Trójkąt składa się z 3 odcinków - losuj punkty na tych odcinkach.

fourfour
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 627
0

"punkty tworzące obwód trójkąta" - czy chodzi o wierzchołki? Jeśli tak, to w sumie tak samo jak w przypadku kwadratu, tylko o jeden mniej, albo jak w przypadku koła, tyle, że o trzy więcej... **EDIT **TFU! o dwa więcej :)

A2
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 25
0

Dziękuję za szybką odpowiedź. Nie chodzi o wierzchołki ale o całe boki. Powiedzmy ok 20 punktów które z niewielkim błędem tworzą boki dowolnego trójkąta. Tak, żeby było widać, że to trójkąt :p

Shalom
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Space: the final frontier
  • Postów: 26433
2

Rozwiązanie proste:

  • wyznacz wektory odpowiadające za boki (co jest trywialne jeśli znasz współrzędne wierzchołków).
  • przesuwaj wierzchołki o losowy ułamek przemnożony przez wektor dla danego boku
    Jeśli więc masz wierzchołki (0,0), (0,1), (1,1) to masz np. wektor pomiędzy (0,0) i (0,1) -> [0, 1]
    Więc teraz bierzesz punkt (0,0) i przesuwasz o uniform.random()*wektor
A2
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 25
0

Dzięki wielkie,
w końcu zrobiłam to trochę inaczej ale bez wskazówki Shaloma nie dałabym sobie rady :)

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.