#Plot 2d
Skriv en grafritare som kan rita en funktion y = f(x) i två dimensioner över ett givet intervall. Till exempel, rita 3*sin(x)-x över 0<x<2pi.
- Svårighetsgrad: 3
- Rita en linje i ett fönster med 640x480 pixlar mha
pygame.draw.line(...), dvs få grafiken att överhuvudtaget fungera. Svårighetsgrad 2. - Antag ett koordinatsystem med y positivt uppåt och x positivt åt höger, dvs som man brukar rita dem i matten. Skapa en funktion för att omvandla en koordinat i detta system till en "pixel-position" i fönstret (dvs y positiv nedåt). Denna kan lätt kontrolleras mha att rita linjer enligt 1. Till exempel
[0,0]->[0,480]. Svårighetsgrad 2. - I omvandlingsfunktionen: ta nu även hänsyn till skala - gör så att fönstret utgör området
0<x<10och0<y<10snarare än0<x<640etc. Till exempel[5,0]->[320, 480]. Svårighetsgrad 2. - Skapa en funktion som omvandlar en matematisk funktion
ftillNkoordinater[x, y]med jämna mellanrum. Till exempelf(x)=2*x->[[0,0],[1,2],...,[5,10]]Svårighetsgrad 3. - Omvandla de
Nkoordinaterna till en lista av pixel-positioner. Svårighetsgrad 2. - Rita ut funktionen genom att stoppa in listan av positioner till
pygame.draw.lines(...). Svårighetsgrad 2.
- Anpassa så att fönstret går från
x_min < x < x_maxistället för0 < x < 10. Observera attx_minrespektivey_minsåväl somx_maxochy_maxkan vara negativa. Svårighetsgrad 3. - Rita ut koordinat-axlarna. Svårighetsgrad 2.
- Rita rutnät eller markeringar på koordinat-axlarna. Svårighetsgrad 3.
- Låt användaren ange
nfunktioner, med respektive färg, som ska ritas. Svårighetsgrad 3.