Wpis z mikrobloga

piszę sobie aplikację okienkową w Visual Studio 2013 i mam pytania

1. jak najlepiej rysować? używać PictureBox_Paint?

2. jak narysować trajektorię? Mam zrobioną symulację ruchu ciała i mam jej ruch w osi X w funkcji czasu. Rysowanie krótkich kresek wychodzi słabo. Znalazłem metodę DrawPath ale nie wiem jak tego użyć. Dokumentacja za wiele nie pomaga.

Ktoś potrafi mi pomóc?

#visualstudio #cpp nie wiem czy wołać też #programowanie
  • 33
  • Odpowiedz
rysuj punkty, próbkowanie w takich odstępach w jakich Ci wygodnie. mając kolekcję punktów też łatwiej będzie narysować chociażby łamaną między nimi.
  • Odpowiedz
@Marpop: Najbardziej banalny sposób poniżej na rysowanie lini:

ogólnie w formatce jak i kontrolkach istotna jest współrzędna. Jeśli chcesz wyznaczyć miejsce "zerowe" czyli zacząć od środka, to tak naprawdę współrzędne piksela x=200, y=200 będą twoim miejsce zerowym. Lub po prostu dodać do stałego 0 współrzędne gdzie chcesz mieć środek osi. Jeśli chcesz narysować powiedzmy linię na współrzędnej 10,12 (np. poprzez pobranie pozycji z myszki) to puszczasz to na podwójnym for dla
  • Odpowiedz
@Marpop: ogólnie nie jest to trudne. Pytanie tylko co chcesz osiągnąć i potem sobie tylko dobierasz metodę wykonania. Ruch ciała wykonujesz właśnie poprzez "dynamiczne" wyznaczanie nowej współrzędnej piksel po pikselu według swojego wzoru.
  • Odpowiedz
@dminta: robię to przez rysowanie linii wychodzi okej; na razie nie będę kombinował z DrawPath

mam inne pytanie na szybko jeśli jeszcze jesteś: jak zmienić szybkość ruchu? zmiana interval w timerze nie bardzo działa; zmiana kroku czasowego psuje dokładność algorytmu (rk4); są jakieś inne sposoby? w sumie interval jest chyba najlepszy ale nie wiem czy można tak go edytować
  • Odpowiedz
@Marpop: Nie można zmienić interwału kiedy Timer działa - musisz zatrzymać (Stop), zmienić wartość Interval i odpalić go ponownie (Start); pytanie jaka będzie płynność animacji przy takim zabiegu.
  • Odpowiedz