Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » VC++ / MFC » Sinus zeichnen

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
10.02.2004, 15:09 Uhr
Ron.



Möchte im VC++ in einer Zeichenfläche in ein Diagramm eine Sinuskurve mit klar definierten Parametern zeichnen, bzw über Variablen zeichnen lassen.
Mir ist es bisher nicht gelungen über LineTo,MoveTo zu einem vernünftigen Ergebnis zu kommen. Gibt es eine dc.*-Fkt. die mir dieses macht. Ergebnis soll etwa wie in dem Programm Electronic workbench die Oszilloskopausgabe aussehen.

Danke
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
10.02.2004, 16:10 Uhr
mike
Pinguinhüpfer
(Operator)


Moin
Es gibt da nichts fertiges. Du musst einfach int (aka Pixel) Werte in die sin einsetzen und das Ergebnis runden. Das ganze multiplizierst du mit einem Faktar - z.B. xscale, yscale.
Eine andere Möglichkeit wäre die Annäherung von Taylor - da könntest du den Breiech einschränken - aber imho kein must

mfg
PS: Wenn mich nicht alles täsucht, gabs da was auf codeproject.
--
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
12.02.2004, 16:06 Uhr
Ron.



Hi mike !

Danke, deine Hinweise haben mir zu einem zufriedenstellenden Ergebnis geholfen.
Habe noch ein weiteres Problem. Vielleicht kannst du mir ja auch da helfen.
Meine Graphikausgabe habe ich komplett in OnDraw ausprogrammiert.
Natürlich will ich die berechneten Sinuskurven nicht automatisch beim Programmstart angezeigt bekommen, da ich zu diesem Zeitpunkt noch keine Werte(bzw Startwerte gesetzt habe). Wo muss ich eine Graphikausgabe setzen, die mir auf einen Buttonclick berechnet und gezeichnet werden soll.
Habe versucht diesen Code in die Fkt. für den Button zu setzen. Das Ergebnis ist zwar das richtige....allerdings nur den Bruchteil einer Sekunde. Das müsste doch heißen, dass die Stelle erst einmal prinzipiell richtig ist.
Übrigens handelt es sich um ein SDI-Projekt mit CFormView.

Danke im voraus
Ron.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
12.02.2004, 18:18 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


naja das läuft dann in etwa so(ohne das jetzt zu testen einfach so ins forum gehackt...)

C++:
//Buttonmethode
CWnd* wp;
CDC *pDC;
wp = GetDlgItem(IDC_STATIC_...);//oder wie auch immer das teil heist auf dem du zeichnen willst...halt irgend ein CWndpointer auf die zeichenfläche
pDC = wp->GetDC();
for(int i=0;i<anzahl_werte;++i) pDC->setPixel(i,(int)(offset-skalierung*sin(i)),RGB(255,0,0));
wp->ReleaseDC(pDC);


--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ VC++ / MFC ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: