AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Problemm beim rechnen mit Tpoint
Thema durchsuchen
Ansicht
Themen-Optionen

Problemm beim rechnen mit Tpoint

Ein Thema von ferby · begonnen am 7. Mär 2005 · letzter Beitrag vom 7. Mär 2005
Antwort Antwort
ferby

Registriert seit: 15. Aug 2004
Ort: Wien
841 Beiträge
 
Delphi 2010 Enterprise
 
#1

Problemm beim rechnen mit Tpoint

  Alt 7. Mär 2005, 15:16
Hallo,

Ich habe eine Aufgabenstellung bekommen:

Gegeben sind drei Eckpunkte eines Gleichseitigen Dreiecks (A,B,C)
Es wird for der Schleife ein zufälliger Punkt gewählt (punkt).
Jetzt wird von punkt zu einen der Eckpunkte (wird per Zufall ausgewählt) eine halbe strecke gezeichnet.
Dann wird der endpunkt diser strecke punkt und das selbe geht wieder von vorne los.

Ich glaube so wie ich es geschrieben habe müsste es gehen nur es kommt ein fehler bei punkt2:=a-punkt;
ich will das er punkt2 der vektor von punkt-a ist.

Delphi-Quellcode:
procedure TForm1.SierpinskiClick(Sender: TObject);
var
i: integer;
zufall: byte;
punkt,punkt2,a,b,c: Tpoint;
begin

  A:=point(150,54);
  B:=point(60,210);
  C:=point(240,210);

  paint.canvas.Polygon([A,B,C]);

  randomize;
  punkt:=point(random(300) + 1,random(300) + 1);

  for i:=1 to 100 do
  begin
    zufall:=random(3)+1;

    if zufall=1 then punkt2:=a-punkt;
    if zufall=2 then punkt2:=b-punkt;
    if zufall=3 then punkt2:=c-punkt;

    paint.canvas.Polygon([punkt,punkt2]);

    punkt:=punkt2;

  end;

end;
  Mit Zitat antworten Zitat
ferby

Registriert seit: 15. Aug 2004
Ort: Wien
841 Beiträge
 
Delphi 2010 Enterprise
 
#2

Re: Problemm beim rechnen mit Tpoint

  Alt 7. Mär 2005, 15:19
Hallo,

Ich habe den Fehler schon gefunden:

Delphi-Quellcode:
    if zufall=1 then punkt2:=point((a.x-punkt.x), (a.y-punkt.y));
    if zufall=2 then punkt2:=point((b.x-punkt.x), (b.y-punkt.y));
    if zufall=3 then punkt2:=point((c.x-punkt.x), (c.y-punkt.y));
aber irgendwas ist noch an meiner überlegung falsch
  Mit Zitat antworten Zitat
Benutzerbild von Jasocul
Jasocul

Registriert seit: 22. Sep 2004
Ort: Delmenhorst
1.338 Beiträge
 
Delphi 11 Alexandria
 
#3

Re: Problemm beim rechnen mit Tpoint

  Alt 7. Mär 2005, 15:20
Ein TPoint besteht aus zwei Zahlen. Da kannst du nicht einfach so etwas abziehen. Du musst dich schon um beide Zahlen kümmern.
EDIT:
Mist. zu langsam und keine Meldung.
Peter
  Mit Zitat antworten Zitat
Benutzerbild von Khabarakh
Khabarakh

Registriert seit: 18. Aug 2004
Ort: Brackenheim VS08 Pro
2.876 Beiträge
 
#4

Re: Problemm beim rechnen mit Tpoint

  Alt 7. Mär 2005, 15:58
Ich habe vor einiger Zeit auch mal zwei Sierpinski-Dreieck Programme geschrieben, einmal durch diesen Zufallsalgorithmus (nach Delphi von irgendwo portiert) und einmal eine eigene Fassung, einfach die Dreiecke berechnen.

Da ich bei dem Zufall jedoch keine Ahnung habe, wie es funktioniert, sondern wie gesagt nur portiert habe, kann ich keinen Fehler in deinem Quelltext finden. Hier aber mal mein Code:
Delphi-Quellcode:
var Bit: TBitmap32;
X,Y,n: Double;
i,ii: Integer;
begin
  Bit:=TBitmap32.Create;
  Bit.SetSize(500,500);
  X:=Random;
  Y:=Random;
  Bit.Clear(clWhite32);
  for i:=1 to 100000 do
  begin
    N:=Random(3);
    if N=0 then
    begin
      X:=0.5*X;
      Y:=0.5*Y;
    end;
  if N=1 then
  begin
    X:=0.5*(0.5+X);
    Y:=0.5*(1+Y);
  end;
  if N=2 then
  begin
      X:=0.5*(1+X);
      Y:=0.5*Y;
    end;
    Bit.PixelFS[X*500,500-Y*500]:=clBlack32;
  end;
  Bit.DrawTo(Paintbox321.Canvas.Handle,0,0);
  Bit.Free;
end;
PixelFS nimmt auch Floats an.
Sebastian
Moderator in der EE
  Mit Zitat antworten Zitat
Benutzerbild von sniper_w
sniper_w

Registriert seit: 11. Dez 2004
Ort: Wien, Österriech
893 Beiträge
 
Delphi 6 Enterprise
 
#5

Re: Problemm beim rechnen mit Tpoint

  Alt 7. Mär 2005, 16:02
Zitat:
PixelFS nimmt auch Floats an.
GraphicsEx ist etwas soo....
Katura Haris
Es (ein gutes Wort) ist wie ein guter Baum, dessen Wurzel fest ist und dessen Zweige in den Himmel reichen.
  Mit Zitat antworten Zitat
Benutzerbild von Khabarakh
Khabarakh

Registriert seit: 18. Aug 2004
Ort: Brackenheim VS08 Pro
2.876 Beiträge
 
#6

Re: Problemm beim rechnen mit Tpoint

  Alt 7. Mär 2005, 16:06
Zitat von sniper_w:
Zitat:
PixelFS nimmt auch Floats an.
GraphicsEx ist etwas soo....
Kann sein, das ist aber die Graphics32-Lib .
Sebastian
Moderator in der EE
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:37 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz