Avatar billede dramsgaard Nybegynder
11. juli 2006 - 22:02 Der er 7 kommentarer

ASPImage og grafer

jeg har hørt at man kan tegne grafer med PolyLine i ASPImage, men jeg kan ikke rigtig forstå hvordan det virker. Jeg har prøvet at lege lidt med flg stump kode som jeg har fundet i dokumentationen (http://www.serverobjects.com/comp/Aspimage.htm)

Dim RgnPts(3,1)

RgnPts(0,0) = 79
RgnPts(0,1) = 70
RgnPts(1,0) = 64
RgnPts(1,1) = 86
RgnPts(2,0) = 47
RgnPts(2,1) = 88
Image.PolyLine RgnPts

...men jeg kan ikke rigtigt få værdierne til at give mening når jeg ser på den tegning der kommer ud af det. Så hvordan skal man forstå ovenstående kode?? hvordan finder man start og slutpunktet for en streg?

Det er meningen at jeg vil tegne en graf ud fra nogle værdier jeg har i en database.
Jeg har lagt en side ud hvor jeg har siddet og rodet lidt med værdierne på: dramsgaard.net/test-linje.asp
Avatar billede cpufan Juniormester
12. juli 2006 - 18:38 #1
RgnPts(0,0) = 79 angiver x-koordinat
RgnPts(0,1) = 70 angiver y-koordinat
RgnPts(1,0) = 64 angiver x-koordinat
RgnPts(1,1) = 86 angiver y-koordinat
RgnPts(2,0) = 47 angiver x-koordinat
RgnPts(2,1) = 88 angiver y-koordinat

eller omvendt!

så det giver en graf med 3 punkter

Er det ikke korrekt?
Avatar billede cpufan Juniormester
12. juli 2006 - 18:42 #2
for at få de sidste koordinater med i dit eksempel
skal du ændre:

Dim RgnPts(3,1)

til

Dim RgnPts(4,1)
Avatar billede cpufan Juniormester
12. juli 2006 - 18:48 #3
y-aksen kører så åbenbart fra top og ned  -underligt????
x-aksen kører fra venstre mod højre

Dim RgnPts(n,1)  'opretter et dobbeltarray med n punkter, hvor hvert punkt indeholder 2 koordinater (x og y)

RgnPts(n,0) = x-akse
RgnPts(n,1) = y-akse
Avatar billede dramsgaard Nybegynder
12. juli 2006 - 19:55 #4
hmm så hvis jeg vil en streg mellem f.eks. flg punkter med en PolyLine, hvordan skriver jeg det så ind?? (synes ik det er den mest logiske måde det er lavet på)

(xo;y0) (0;45)
(x1;y1) (10;210)
(x2;y2) (20;500)
Avatar billede cpufan Juniormester
13. juli 2006 - 19:21 #5
RgnPts(0,0) = 0
RgnPts(0,1) = 45
RgnPts(1,0) = 10
RgnPts(1,1) = 210
RgnPts(2,0) = 20
RgnPts(2,1) = 500
Avatar billede cpufan Juniormester
13. juli 2006 - 19:22 #6
hvilket med den omvendte y-akse så hedder

RgnPts(0,0) = 0
RgnPts(0,1) = 500 - 45
RgnPts(1,0) = 10
RgnPts(1,1) = 500 - 210
RgnPts(2,0) = 20
RgnPts(2,1) = 500 - 500
Avatar billede dramsgaard Nybegynder
14. juli 2006 - 00:10 #7
hmm men hvis jeg så prøver at sætte en y akse ind på flg måde:

Image.X =50
Image.Y =50
Image.LineTo 50,Image.MaxY-50
for i=1 to 10
Image.TextOut "-" ,50,((Image.MaxY-50)/10)*i,false
next

altså med 50 px margin i top og bund, men de vandrette streger starter før den lodrette....hvorfor?? (se på dramsgaard.net/test-linje.asp)
Hvis hver vandrette streg representere et spring på 100 hvordan får man grafens værdier til at passe med y aksen (skal man dividere værdierne med 2 når der er 50px mellem hver vandrette streg) synes ikk helt jeg kan få det til at passe?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester