Autor Beitrag
Pyr0cracker
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 164

Win XP, Ubuntu 8.04, openSUSE 11.0
Delphi 7 Personal
BeitragVerfasst: Mi 02.04.03 12:59 
Hi, ich hab mal wieder nen kleines problem.
also, ich will ein Programm schreiben, das Vektoren errechnet und zeichnet. Dabei weiss ich nichts über das zeichnen.
kann mir jemand weiterhelfen?

gruß,
inselberg
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 458



BeitragVerfasst: Mi 02.04.03 13:04 
in welchem raum ?

2 dimensionalem, 3 dim oder n-dim

weil n dim. (n > 3) würd mich auch mal interessieren ;)

_________________
hans bist du das ?
Pyr0cracker Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 164

Win XP, Ubuntu 8.04, openSUSE 11.0
Delphi 7 Personal
BeitragVerfasst: Mi 02.04.03 18:23 
nur 2d, in der form
ausblenden Quelltext
1:
2:
(2)+(4)
 5    3
(war das so?)

Zitat:
n dim. (n > 3) würd mich auch mal interessieren

wie soll denn das gehen?
Alibi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 458

Win2K SP3
Delphi 6 Ent
BeitragVerfasst: Mi 02.04.03 18:45 
Einen 2D Vektor zu zeichnen auf einem Canvas dürfte doch nicht schwer sein.
Nimm ein Achsenkreuz und zeichne einen Strich vom Nullpunkt zu dem Punkt, auf den der Vektor zeigt. Bei (1 1) wäre das ein Strich von 0 zu (1/1). Ein Pfeil auf dem Punkt wäre natürlich auch noch angebracht. :)
Pyr0cracker Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 164

Win XP, Ubuntu 8.04, openSUSE 11.0
Delphi 7 Personal
BeitragVerfasst: Mi 02.04.03 18:57 
tut mir leid, kann ich noch nicht, kannst du mir ein kleines code bsp geben?

gruß,
Alibi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 458

Win2K SP3
Delphi 6 Ent
BeitragVerfasst: Mi 02.04.03 19:14 
Hi,
können: NP, machen: Nein. :)
Der Grund ist einfach, wenn du dich intensiver mit dem Thema beschäftigst lernst du wirklich ne Menge. :)

Paar Hinweise sind natürlich nicht verkehrt.
Delphis Koordinatensystem beginnt dummerweise oben Links. Du hast sicherlich schonmal bemerkt, dass ein größerer Top-Wert (Praktisch die Y-Achse) eine Komponente weiter nach unten anstatt nach oben setzt. :)

Du müsstest also den Mittelpunkt umbauen und die Y-Achsen-Richtung umkehren.

Das ist leicht, einfach die Hälfte der Zeichenfläch zu den Zielkoordinaten hinzuaddieren und bei dem Y-Wert das umgekehrte Vorzeichen nehmen.

Dann ist noch die Längeneinheit von 1 Pixel lästig, bisschen klein. Einfach die fertigen Koordinaten mit der Wunschlänge multiplizieren.

Beispiel, die Koordinate 1/2 mit einer Längeneinheit von 20 Pixeln:

x := (1 + (Image1.Width / div 2)) * 20;
y :=- (2 + (Image1.Height div 2)) * 20;

Mit Canvas.MoveTo gehst du zum gewünschten Startpunkt der Linie, 0/0. Also in dem Fall (Image1.Width Div 2)/(Image1.Height div 2).
Und mit LineTo zeichnest du dann die Linie.