C pentru incepatori grafice grafice functie, c pentru incepatori

Ei bine, atunci. O să spun imediat - nu știu de ce x crește cu un număr redus. Când am încercat să o măresc cu unul, graficul sa dovedit a fi chiar neted și a fost rău, așa că am lăsat-o așa cum am găsit-o pe Internet. Pentru a trasa o linie de la un moment dat, are sens pentru a determina punctul original, care a fost utilizat de la sine MoveTo grafic funcție este construit folosind calculul ciclic, deoarece pentru fiecare valoare a lui x pentru a obține y corespunzătoare. astfel încât să nu scrieți toate aceste expresii manual, trebuie să utilizați o buclă.

În interiorul buclei, este apelată funcția lineto. în interiorul cărora sunt scrise astfel de parametri care pot încurca începătorii săraci, dar nu ar trebui să fie înspăimântați.

  • lineto desenează o linie din poziția curentă la, dar fără a include, punctul specificat.

Cu alte cuvinte, atunci când se calculează valoarea y, vom obține câteva puncte și pentru a obține graficul, trebuie să conectăm aceste puncte cu linii.
x * 50 + getmaxx () / 2 Indică faptul că punctul original x este deplasat spre centrul ecranului de-a lungul axei x. Figura 50 este necesară doar pentru a extinde graficul. Este ușor de a încerca să-l schimbe sau să ia departe, pentru a vedea effekt.Kogda am încercat pentru a elimina 50 și a adăugat la unitatea în loc de 0,02 x grafic teribil imaginat, dar dacă te gândești la asta ce este scris aici si ce am vrut să scrie se reduce la faptul că x este adăugat la unitate, dar ceva aici în ceea ce înțeleg până acum, din păcate, nu pot. Mai exact înțeleg, dar înțeleg cumva vag, nu complet și este dificil de explicații

Nu mă ascund, sper să ajut pe cineva de la cititori, grație criticilor, mulțumiri, indicând greșelile mele, acest material poate deveni mult mai ușor și mai ușor de înțeles. Verificați erorile pe care le-am eliminat, pentru a nu distrage atenția de la codul descris

Mulțumesc! scrie pe

Cu cât avem mai puțin X, cu atât mai multe puncte de pe linie obținem, respectiv mai multe puncte = mai precis grafic =)

sau mai multe puncte cu coordonate (x * 50 + getmaxx () / 2, getmaxy () / 2- (y * 20)) se vor potrivi pe monitor.

Aici este selectat faptul că 50 de pixeli sunt plasați într-un singur segment de Ox. iar pasul parametrului este ales astfel încât y să fie calculat pentru fiecare pixel al axei x (0,02 * 50 = 1 pixel).

# include nu găsește că scrie ceva de eroare ce să facă. 😥

acest exemplu pentru Borland C ++ 3.1
probabil că trebuie să căutați un alt exemplu.

Nu funcționează. Există multe greșeli.

Probabil un alt compilator, deci nu merge.
Un avertisment este un avertisment, nu o eroare.

Am BC și totul funcționează

Probabil un alt compilator, pentru că nu funcționează. Exemplul meu este numai pentru BC ++ 3.1

De exemplu, ați declarat un flotant variabil. Și treci valoarea lui la funcția moveto (), dar această funcție poate lua doar valori întregi. Același lucru cu funcția lineto ()

Cod convenabil. Și pentru Dev-C a funcționat (versiunea 4.9.9.2)

Permiteți-mi să ofer o explicație a codului:

Amintiți-vă, avem nevoie de un grafic al funcției y = x * x și y = x * x în cod.

Care sunt aceste "elemente suplimentare"?

Faptul este că sistemul de coordonate al ferestrei grafice este strict fixat, corespunde doar primului trimestru al sistemului cartezian matematic. Aceasta înseamnă că pe ecran, fără "elemente suplimentare", putem privi doar la o ramură a graficului - în partea pozitivă a axei OX. (Centrul matematic familiar al sistemului de coordonate cartezian pe ecran este situat în colțul din stânga sus al ferestrei grafice).

Și astfel, graficul va fi oglindit în jos - din cauza faptului că monitoarele au direcția opusă (în comparație cu matematica) axei OS.

Deci: pentru a depăși limitele tehnice ale "sistemului de coordonate informatice" aveți nevoie de:

1) rotiți axa op-amp în direcția opusă (pur și simplu multiplicați y cu -1)

2) mutați centrul în mijlocul ecranului (adăugați la jumătate X și Y a lățimii și înălțimii ferestrei)

3) setați scala de plotare (aplicați factorii de multiplicare pentru X și Y).

Acum cred că totul este clar:

getmaxx () este o funcție care determină lățimea ferestrei grafice,

getmaxy () este o funcție care determină înălțimea ferestrei grafice.

50 este factorul de scalare de-a lungul axei OX,

20 este multiplicatorul scării de către amperi op.

Și semnul minus, înainte de valoarea (y * 20), orientați graficul pe ecran în direcția obișnuită pentru persoana respectivă.

Articole similare