• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Visual C# rysowanie prostej pod kątem, względem innej prostej

0 głosów
706 wizyt
pytanie zadane 19 kwietnia 2016 w C i C++ przez ByeCry Nowicjusz (180 p.)

Witam, chciałbym prosić Was panowie i panie o pomoc.
Mianowicie piszę program, który symuluje załamanie światła w różnych warunkach. Symulacja warunków sama w sobie to żaden wręcz problem, gdyż aby otrzymać kąt załamania wystarczy podstawić kąt padania i zmienne środowiska pod odpowiedni wzór.
Problem jednak rozebrał mnie na samym początku. Jak, używając Visual C# Windows Form Application mam wyrysować ten wykres do postaci jak na obrazku?

 

Próbowałem metody drawline i wzoru 

double x1 = (aktualna_pozycja_x - x) * Math.Cos(kat) - (aktualna_pozycja_y - y) * Math.Sin(kat) + x;
double y1 = (aktualna_pozycja_x - x) * Math.Sin(kat) + (aktualna_pozycja_y - y) * Math.Cos(kat) + y;

Linie rysują się poprawnie, ale przy zmianie kata o 1 stopień moja prosta przemieszcza się dziwnie i chaotycznie. Dodam, że próbowałem różnie podstawiać zmienne pod ten wzór, a chodzi mi o funkcję, która przyjmuje kąt i odpowiednio drukuje linię nachyloną o TEN kąt względem punktu, który na obrazku wyżej jest w kółeczku. Z góry dziękuję za pomoc i rady.

1 odpowiedź

+1 głos
odpowiedź 19 kwietnia 2016 przez mbabane Szeryf (79,260 p.)
a wziales pod uwage ze funkcja przyjmuje katy w radianach? https://msdn.microsoft.com/pl-pl/library/system.math.sin(v=vs.110).aspx
komentarz 20 kwietnia 2016 przez ByeCry Nowicjusz (180 p.)

Nie, nie wziąłem tego pod uwagę i teraz działa :D Dziękuję
Rozwiązanie na kąt to 

  kat = Math.PI * kat/ 90;

 

Podobne pytania

0 głosów
0 odpowiedzi 387 wizyt
0 głosów
0 odpowiedzi 274 wizyt
pytanie zadane 16 stycznia 2019 w Visual Basic przez tales Nowicjusz (210 p.)

93,722 zapytań

142,651 odpowiedzi

323,267 komentarzy

63,271 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...