Avatar billede scorp-d Nybegynder
13. maj 2008 - 15:08 Der er 13 kommentarer og
1 løsning

Få Y-koordinat udfra X-koordinat ved en graf

Hey...

Jeg har så igen et spørgsmål til C#'s tegneegenskaber...

Jeg har lavet en relativ kompleks funktion som udefra 10-15 x, y-koordinater laver en graf, og så trækker den alle x og y koordinater ud med 1/1000 pixels afstand og lægger dem i en hashtable.... for derefter at kunne slå hver eneste Y koordinat op vha. X.

Mit spørgsmål er, om det er muligt at lave en graf i C# som man kan kalde med f.eks. en X-værdi og så returnere den Y-værdien? Da dette ville være en hel del mere simpelt.

På forhånd tak
Scorp-D
Avatar billede nielle Nybegynder
13. maj 2008 - 19:45 #1
Kunne du give os lidt mere information om hvordan den graf ser ud?
Avatar billede scorp-d Nybegynder
13. maj 2008 - 21:14 #2
F.eks. det her http://scorp-d.dk/graf.JPG ... men hele meningen med koden er at man skal kunne ændre et målepunkt uden at skulle lave en formel om.


Et andet spørgsmål er om det virkelig ikke er muligt at lave et ordentligt koordinatsystem i C#, for så vidt jeg ved starter 0,0 oppe i venstre hjørne, og regnede så med at man f.eks. kunne skrive x,(this.clientsize.height - y) for at vende koordinatsystemet rigtigt.

Men den højde jeg får passer ikke med højde som den rent faktisk har, f.eks. er 700 pixels i virkeligheden 675 pixels osv.
Avatar billede scorp-d Nybegynder
13. maj 2008 - 21:17 #3
Eller bruge g.TranslateTransform(0,this.height) .
Avatar billede scorp-d Nybegynder
13. maj 2008 - 21:54 #4
måske g.TranslateTransform(g.VisibleClipBounds.Left, g.VisibleClipBounds.Bottom);
Avatar billede nielle Nybegynder
13. maj 2008 - 22:23 #5
> og så trækker den alle x og y koordinater ud med 1/1000 pixels afstand og lægger dem i en hashtable.... for derefter at kunne slå hver eneste Y koordinat op vha. X.

Hvordan laver du denne beregning? Når at du putter dem i en HT så kan du jo bare gøre det samme som en funktion i stedet.
Avatar billede scorp-d Nybegynder
13. maj 2008 - 23:44 #6
På afstanden imellem 2 punkter finder den x og y koordinater for hvert 1/1000 pixel og tilføjer den i hash-tabellen...

Det ser ud til at fungere udmærket, ville bare være en del lettere hvis man blot kunne tilføje nogle PointF's til en kurve, og så kalde en metode til kurven med X-koordinatet som så returnere en eller flere Y koordinater alt efter hvor mange der er.... i stedet for at opbevarer 700.000 x og y koordinater i en hashtable...
Avatar billede nielle Nybegynder
14. maj 2008 - 06:53 #7
Jeg spørger jo bare: Når du nu kan beregne en masse x,y punkter i forbindelse med at du lægger dem i hashtabellen: Hvorfor putter du så ikke bare denne beregning direkte ind i din funktion istedet for at gå via hashtabellen?
Avatar billede scorp-d Nybegynder
14. maj 2008 - 08:45 #8
Forstår ikke helt hvad du mener...

Systemet kommer til at udføre omkring 400 beregninger i sekundet.... og så regnede vi med at hvis alle koordinater lå i en hashtabel ville opslagstiden være væsentlig hurtigere end hvis den skal lave udregninger...

Og opstartstiden må godt være lang...
Avatar billede nielle Nybegynder
14. maj 2008 - 10:11 #9
Så forstår jeg ikke problemet?

Du vil helst ikke have en løsning baseret på en hashtabel hvor man kan slå y-værdien op ud fra x-værdien.

Og: Du vil helst ikke have en løsning baseret på en funktion som beregner y-værdien ud fra x-værdien.

Hvad er det så du efterspørger?
Avatar billede scorp-d Nybegynder
14. maj 2008 - 10:28 #10
"Mit spørgsmål er, om det er muligt at lave en graf i C# som man kan kalde med f.eks. en X-værdi og så returnere den Y-værdien? Da dette ville være en hel del mere simpelt."


Alt det andet er hvad jeg HAR lavet...Hvad jeg leder efter er en allerede implementerede metode.
Avatar billede nielle Nybegynder
14. maj 2008 - 10:42 #11
En sådan findes ikke.
Avatar billede scorp-d Nybegynder
25. maj 2008 - 11:12 #12
Lukket....
Avatar billede nielle Nybegynder
25. maj 2008 - 12:25 #13
Nå?
Avatar billede Syska Mester
25. maj 2008 - 17:06 #14
heheh ... meget specielt, hvorfor ikke bare køre funktion med værdi X ... så har man jo Y ... det andet er jo helt hen i skoven, og fuldstændig spild af ram og cpu ...

At køre 1000000000000 X værdier igennem for at få samme antal Y værdier er der ikke meget mening i ... kun for at lave grafen, men de bør da smides væk igen ASAP.

// ouT
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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