![]() |
Re: Graphzeichner
ich find das in der komponentenpalette nich :cry:
|
Re: Graphzeichner
Welche Delphiversion benutzt du?
|
Re: Graphzeichner
Noch ein Tipp: F1.
Einfach im Code irgendwo TImage eintippen, F1 drücken, lesen. |
Re: Graphzeichner
Hallo,
ich nehme mal an, dass das größte Problem beim Umwandeln der TImage-Koordinaten in brauchbare x-Werte liegen dürfte. Leider bin ich nicht besonders versiert mit Programmieren, quasi ein Einsteiger. Wollte euch nur einen Denkanstoß geben, damit ihnen besser geholfen wird, selbst habe ich leider keine Ahnung, würde mich aber auch interessieren. Edit: Habe jetzt einfach mal die x-Koordinaten im TImage mit einer Case of-Anweisung festgesetzt. Ist vielleicht etwas plumb, aber da wir hier ja erstmal nur mit fixen x-Werten arbeiten (-10 bis +10) sollte das erstmal reichen. Mein Problem besteht jetzt noch darin, die y-Werte umzuwandeln. Meine Parabel zeichnet sich nach unten 8[. Ich weiß nicht ob ich vllt gerade ne Denkblockade habe, irgendwie hab ich nämlich die ganze Zeit das Gefühl, die Lösung wäre ziemlich simpel... Naja wäre über nen Vorschlag hier sehr dankbar Meine Idee hier wäre vllt, die Variablen einfach umzukehren. Also a:=StrToFloat(Edit1.Text)*(-1); und dann die y-Koordinate generell nach unten zu verschieben.. Hab leider gerade keine Zeit das auszuprobieren :/ Gruß cust0m |
Re: Graphzeichner
Der Punkt (0|0) befindet sich obenlinks im Image. Die Einfachste möglichkeit ist es, wie du sagst, einfach mit -1 zu multiplizieren, dabei musst jedoch beachten, dass du dann den Nullpunkt in der Darstellung anpassen musst, denn du willst ihn vermutlich in der Mitte des Bildes haben.
Hmm genau das hast du ja auch geschrieben im prinzip :oops: Also einfach asuprobieren, sobald du Zeit hast! |
Re: Graphzeichner
Ja scheint alles zu funktionieren.
Allerdings werden bisher nur die Punkte eingetragen, mit pen.width:=5 sieht das auch recht gut aus, aber ich hätte gerne eine schön abgerundete und vollständige Parabel, jemand eine Idee wie ich das machen könnte? Ich glaube dazu müsste ich den Part mit der Case of-Anweisung wegstreichen und das ganze Variabel machen, da ja für eine scheinbar "runde" Parabel sehr viele Punkte berechnet werden müssten. Um eine durchgezogene Parabel statt einzelnen Punkten zu haben, wäre meine Idee den ersten Punkt separat zu berechnen um dann mit moveto den "Stift" schonmal dorthin zu bewegen. Dann könnte ich ja einfach alles mit lineto weiterzeichnen. Im Moment sieht das ganze so aus image1.Canvas.pen.width:=5; image1.canvas.MoveTo(x1,y1); image1.canvas.LineTo(x1,y1); so steht es in der Schleife und wir immer wieder durchlaufen, somit enstehen die Punkte. Einfach LineTo geht ja schließlich nicht, da sich sonst ein Strich von der unteren Mitte zum ersten Punkt ergeben würde -> ausgeschlossen, wo kämen wir denn dann hin :roteyes: Wie ließe sich das verwirklichen, oder gibt es andere Möglichkeiten? :wiejetzt: Gruß cust0m |
Re: Graphzeichner
Du bist auf dem richtigen Weg! Aber das MoveTo musst du nur beim ersten Punkt machen, damit du den Strich nicht hast, bei allen anderen Punkten solltest du es weglassen, damit auch eine Parabel zusatande kommt.
|
Re: Graphzeichner
Liste der Anhänge anzeigen (Anzahl: 1)
Hi,
sollte es sowas sein? Hab mich auch mal drangesetzt gehabt! |
Re: Graphzeichner
Ja, so in etwa sollte das ganze aussehen.
Wie bekomme ich das ganze so hin, dass er die Linie bei der Parabel durchgehen zeichnet. Zudem wüsste ich gerne wie du die Punkte zur Orientierung gesetzt hast. FOR - TO - Schleife für jede "Reihe", das wäre ja auch wieder nicht variabel, es sei denn macht macht eine doppelte Schleife, naja ich denke schon wieder zu weit, eins nach dem anderen. Also nochmal das, was ich gerne hinbekommen würde: -Variable Einteilung (Sollte ich nun alleine hinbekommen) -Durchgezogene Linie für die Graphen (Erledigt) -Unterschiedliche Farben für jeden weiteren Graphen (Bisher nur unterschiedliche Farben für Linear und quadratisch) -eine Anzeige die stets zeigt auf welcher x,y-Position sich der Mauszeiger befindet - Aber Koordinatensystem-Koordinaten, nicht die "globalen" oder die vom TImage. Also z.B. wenn man mit der Maus nach links geht, in den negativen Bereich sollte er z.B. (x: -4.75 | y: 3.25) anzeigen. Wäre toll wenn mir jemand sagen könnte wie ich das ganze bewerkstelligen kann... Gruß cust0m EDIT: EDIT: hat sich erledigt :gruebel: |
Re: Graphzeichner
@custom: schau dir mal MoveWindowOrg an ;)
bzw. für mathematisch-kartesische Zwecke: SetViewportOrgEx |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:54 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz