Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi realisierung von pfeilen zeichnen (https://www.delphipraxis.net/33126-realisierung-von-pfeilen-zeichnen.html)

ReDoX 2. Nov 2004 16:23

Re: realisierung von pfeilen zeichnen
 
Ich habe das gerade mal gemach hier der QuellCode:

Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    procedure FormMouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure FormMouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  CursorPos: TPoint;
  Links , Unten : Integer;
implementation

{$R *.dfm}

procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  GetCursorPos(CursorPos);
  Links:=CursorPos.X;
  Unten:=CursorPos.Y;
  end;
procedure TForm1.FormMouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  GetCursorPos(CursorPos);
  Caption := IntToStr(CursorPos.X) +' '+ IntToStr(CursorPos.Y);
  if links > CursorPos.X then showmessage('Nach links') else showmessage('Nach rechts');
  if unten > CursorPos.Y then showmessage('Nach oben') else showmessage('Nach unten');
  end;
end.
Ich hoffe das ist ,dass was du suchst! :mrgreen:
Mfg MrScholz

Nicodius 2. Nov 2004 16:30

Re: realisierung von pfeilen zeichnen
 
nein, eigentlich überhaupt nicht :mrgreen:

ich suche

Zitat:

nur hab ich ein problem ... wie erkenn ich in welceh richtung mein pfeil gerade schaut(wenn ich nen kreis zeichne sollte er in der kreislinie "weiterschauen" und der pfeilkopf sollte nicht in irgendeine richtung schauen) ... wie könnte ich dies machen?

der strich geht in ne richtung(0 - 360° möglich ;) ) die will ich heruasfinden um(und nacher einen pfeilkopf hinzuzeichnen(wie das geht will ich auch wissen ;) )

ReDoX 2. Nov 2004 16:46

Re: realisierung von pfeilen zeichnen
 
Naja wer lesen kann ist klar im Vorteil :oops:
Mfg MrScholz

dizzy 2. Nov 2004 16:52

Re: realisierung von pfeilen zeichnen
 
Zitat:

Zitat von Nicodius
ist das nicht mit steigung k möglich

Wenn man es so nennen will, dann geht auch "Steigung". Kommt hierbei im Wesentlichen auf's gleiche heraus. Du wirst hierbei allerdings nicht um Vektorrechnung herum kommen. Ich denke mal, dass das in der Schule bei dir noch kein Thema war (?) - es gibt aber googeligerweise sehr viel zu dem Thema ;).

shmia 2. Nov 2004 17:20

Re: realisierung von pfeilen zeichnen
 
Also ich zeige hier mal, wie man einen Pfeil zeichnet, der in eine beliebige Richtung zeigt.
Zunächst brauchen wie die Hilfsfunktionen aus:
Drehung und Verschiebung im 2D Raum

Delphi-Quellcode:
procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
var
   pfeil : array[0..3] of TPoint;
begin
   // Pfeil im Ursprung zeigt nach "rechts"
   pfeil[0] := Point(0 ,0);
   pfeil[1] := Point(0, -10);
   pfeil[2] := Point(30, 0);
   pfeil[3] := Point(0, 10); // die Linie wird in Canvas.Polygon autom. geschlossen

   // Drehung des Pfeils im Ursprung
   Rotate2Darray(pfeil, 0.5);

   // Verschiebung des Pfeils
   Translate2Darray(pfeil, Point(x, y));

   // Zeichen des Pfeils
   Canvas.Polygon(pfeil);
end;

Nicodius 2. Nov 2004 21:16

Re: realisierung von pfeilen zeichnen
 
ich wiederhole die 9 klasse - vektoren(länge+richtung) hab ich schon in der 7 gelernt ^^

@shmia danke das probier ich mal aus :)

Nicodius 2. Nov 2004 21:19

Re: realisierung von pfeilen zeichnen
 
wobei man sagen muss das sincos in math liegt ;) ... aber ich sag gleich was dazu ;)

Nicodius 2. Nov 2004 21:21

Re: realisierung von pfeilen zeichnen
 
:roll: das macht bei mir aber ÜBERhaupt nichts gescheites(zeichent gerademal ein dreieck :mrgreen: ) :zwinker: ein pfeil ist etwas mit strich :) und deins rotiert auch nicht :cry: aber danke trotzdem :stupid:

shmia 3. Nov 2004 09:02

Re: realisierung von pfeilen zeichnen
 
Zitat:

Zitat von Nicodius
:roll: das macht bei mir aber ÜBERhaupt nichts gescheites(zeichent gerademal ein dreieck :mrgreen: ) :zwinker: ein pfeil ist etwas mit strich :) und deins rotiert auch nicht :cry: aber danke trotzdem :stupid:

Ich habe dir doch jetzt alle Mittel an die Hand gegeben um einen Pfeil in beliebiger Richtung zu Zeichnen.
Nun ist es an Dir, dies in die Praxis umzusetzen. :roll:
Ein Pfeil ist ein Dreick mit einem Strich dran. Der "Strich" ist ja schon vorhanden; also brauchst du
nur noch am Endpunkt der Linie ein Dreick zu zeichnen, dass in die Richtung der Linie schaut, oder???

Hast du dich nicht gefragt, was das Argument 0.5 bei Rotate2Darray(pfeil, 0.5); bedeutet? :coder2:
Das ist der Winkel im Bogenmass!!! Verändert man diesen Wert, dreht sich der Pfeil in die angegebene Richtung!!!

Nicodius 3. Nov 2004 14:04

Re: realisierung von pfeilen zeichnen
 
aso, ja sorry... aber siehst du genau DARAN scheiterts ... ich kenn mich da wirklich nid aus :mrgreen:


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:47 Uhr.
Seite 2 von 3     12 3      

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