Entwickler-Ecke
Sonstiges (Delphi) - Drachenkurve
Breakdown - Mo 18.01.10 20:20
Titel: Drachenkurve
Heyho
Ein Freund muss bis morgen eine Drachenkurve in Delphi erstellen. Kann da vielleicht einer weiterhelfen?
Danke :)
elundril - Mo 18.01.10 20:48
hallo und :welcome: im DF,
wir helfen euch gerne, wo ist denn euer Problem?
lg elundril
Breakdown - Mo 18.01.10 21:35
Er bräuchte Tipps wie man so etwas programmieren kann oder am besten einen fertigen source, damit er sieht wie das ganze funktioniert :)
elundril - Mo 18.01.10 21:39
hausaufgaben sind dazu da um sie selber zu machen und nicht um sie in nem Forum zu posten und zu hoffen das sich ein Dummer findet. ;)
Schon mal Google und Wikipedia angestrengt? Ich hatte innerhalb von 5 sekunden eine erklärung was eine Drachenkurve ist und nach weiteren 2 sekunden quelltexte in ca. 15 sprachen wie man sowas programmiert. Schon mal probiert?
lg elundril
roth1803 - Mo 18.01.10 21:56
Also..
Eigentlich bräuchte ich die komplettte procedure der Drachenkurve.
Da ich leider nicht vertraut genug bin Delphi und mir die gewisse Idee fehlt wie ich das ganze anstellen könnte wäre ein Link des gefunden Quelltextes für Delphi sehr Hilfreich.
Danke im Voraus!
elundril - Mo 18.01.10 22:05
elundril hat folgendes geschrieben : |
| Schon mal Google und Wikipedia angestrengt? |
Gut, ich sag dir mal was mit diesem Satz gemeint ist:
-) Öffne Wikipedia
-) Gib im Suchfeld "Drachenkurve" ein
-) Lies den verfluchten Artikel, faules Stück!!!!!11elf
lg elundril
roth1803 - Mo 18.01.10 22:15
Schon klar..
hab ich mir schon zwei mal durchgelesen!
Jedoch grieg ich zwar aus der Beschreibung raus wie der Algorithmus funktioniert, kann dies leider nicht mit Delphi umesetzen!
Mir fehlt das Wissen dazu.
Deshalb bin ich hier im Forum und suche nach Hilfe!
LG
BenBE - Mo 18.01.10 23:53
Für nicht gratis, darfst Du gerne Gebote abgeben. 5 Euro Startgebot (pro Zeile) und ich bin dabei.
Hab zwar jetzt in die Links von elundril nicht reingeschaut, aber ich wette, dass bei mindestens einem der Links der Quelltext so vollständig ist, dass man mit <2 Minuten Arbeit die fehlenden Teile ergänzt hat.
Tilman - Di 19.01.10 05:35
Naja ganz trivial ist es wohl nicht. Habt ihr euch in der Schule schon mit Logo/Turtlegrafik/Igelgrafik auseinandergesetzt und euch eine entsprechende Unit programmiert? Wenn ja dann werden dir die Links weiterhelfen, wenn nein musst du erst eine solche aufsetzen.
Martok - Di 19.01.10 08:57
BenBE hat folgendes geschrieben : |
| Hab zwar jetzt in die Links von elundril nicht reingeschaut, aber ich wette, dass bei mindestens einem der Links der Quelltext so vollständig ist, dass man mit <2 Minuten Arbeit die fehlenden Teile ergänzt hat. |
Kannst dir deinen Gewinn abholen, falls wer dagegen gehalten hat. Eine Quelle erklärt nämlich die ganze Thematik, und liefert die Turtle-Klasse gleich mit.
Ich sag aber nicht welche, damit der OP auch was zu tun hat ;)
roth1803 - Di 19.01.10 15:24
Oke danke für die Links..
ich werd dann mal versuche ohne irgendwelche Vorkenntnisse mit Delphi mal zu schaun ob ich des alles irgendwie verbinden kann damit es funktioniert.
Der Grund für dieses Programm ist lediglich, dass ich mich in Mathe dazu verpflichtet habe einen Vortrag über die Drachenkurve zu halten und das Problem zu behandeln.
Ich wollte einfach einfach als Zusatz und als Einstieg ein Prgramm reinbringen mit dem ich der Klasse überhauot mal nahebringen kan um was es sich überhaupt handelt. Es ist also nicht so wie oben behauptet dass ich mir keine Mühe geben würde sondern dass ich vom Rpgrammieren einfach keine AHnung habe.
Wäre als nett wenn sich doch noch jemand umentscheiden würde mir zu helfen.
Wenn nicht versuch ich Hilfe irgendwo anders herzugriegen.
Wenn ihr mir nicht helfen wollt - kein Problem - aber lasst dann wenigstens die KOmmentare bleiben.
Und nochmal: Danke für die Links!
In zwei Minuten werd ichs zwar nicht schaffen aber naja ich griegs schon hin.
LG
max1235 - Di 19.01.10 15:32
Ich geb dir nen kleinen Tipp:
Canvas
elundril - Di 19.01.10 15:39
Wenn du sagst das du total unerfahren bist dann kann ich dir auch hier weiterhelfen mit dem
Delphi-Wikibook [
http://de.wikibooks.org/wiki/Programmierkurs:_Delphi] und
Christian's Crashkurs [
http://www.christian-stelzmann.de/index_tutorials_crashkurs.html].
roth1803 hat folgendes geschrieben : |
ich werd dann mal versuche ohne irgendwelche Vorkenntnisse mit Delphi
[...]
Ich wollte einfach einfach als Zusatz und als Einstieg ein Programm reinbringen mit dem ich der Klasse überhaupt mal nahebringen kann um was es sich überhaupt handelt. |
Warum nimmst du dann nicht ein fertiges Programm? Ich nehm mal an damit du sagen kannst das du das vollkommen selbst programmiert hast, stimmts? Nur, das Problem ist wenn wir dir hier den Quellcode von dem Programm posten und du compilierst es dann, schaust dir unsere Erklärungen und so an, hast du es erst recht nicht selbst gemacht. ;)
roth1803 - Di 19.01.10 15:46
oh come on..
warum gibt ihr ihn mir nicht einfach ich versuch ihn zu verstehen und fertig. Die Turtle hab ich jetzt schon ich müsst halt einfach nur wissen wie ich jetzt den Quelltext da mit einbauen kann...
procedure TFRekGraf.ZeichneDrachen(Stufe,Orientierung:Integer;Laenge:Real);
begin
if (Stufe > -1) and (Laenge > 1) then begin
Laenge:= Laenge/sqrt(2);
with Turtle do begin
Turn(45*Orientierung);
ZeichneDrachen(Stufe-1, +1, Laenge);
Turn(-90*Orientierung);
ZeichneDrachen(Stufe-1, -1, Laenge);
Turn(45*Orientierung);
end
end
else
Turtle.Draw(Laenge);
end;
den Wuelltext hab ich jetzt gefunden (von einem der geposteten Links). Was ist nicht verstehe ist was die Stufe ist? Muss das bei Delphi irgendwie noch deklariert werden bzw. was mach die überhaupt? Den Rest hab ich jetzt eigentlich verstanden und würd mit der Hilfe eines Freundes auch in die Turtle einbauen können schätze ich mal.
Würd des dann reichen?
elundril - Di 19.01.10 16:12
Stufe ist ein Parameter vom Typ Integer (Ganzzahl). Deklariert in deiner Prozedur. Und diese Prozedur rufst du rekursiv immer wieder auf, nur halt mit veränderten werten ;)
wie man die TTurtle-Klasse baut, steht afaik im 3. Link den ich gepostet hab.
lg elundril
roth1803 - Di 19.01.10 16:24
OKe soweit hab ich jetzt alles hingegriegt außer dass noch zweiFehlermeldungen kommen:
unkompatible Typen: Integer und Extended
und Fataler Fehler: Verwendete Unit ´U_Turtle_OO' kann nicht compiliert werden.
was hat das beides zu bedeutet?
max1235 - Di 19.01.10 16:26
Die erste Fehlermeldung sagt, dass du eine extended-Variable(gleitkomma) und integer-Variable(ganzzahl) verbinden wolltest.
Richtig:
Delphi-Quelltext
1:
| floattoint(die variable); |
roth1803 - Di 19.01.10 16:30
Oke sorry hab real gemeint..
meine Variable ist im Integer Format aber ich brauch sie im real-format um damit weiter zu arbeiten.
Hab schon IntToFloat probiert aber dann gehts auch irgendwie nicht:
procedure Drachenkurve (stufe:integer;laenge:real;richtung:integer);
begin
if (stufe >= 0) and (laenge > 1) then begin
Laenge:= Laenge/sqrt(2);
with Strich do begin
DR(45*Richtung);
Drachenkurve(Stufe-1, laenge, +1);
DR(-90*Richtung);
Drachenkurve(Stufe-1, laenge, -1);
DR(45*Richtung);
end
end
else
Strich.VW(laenge);
end;
procedure TFormTurtle.B_DrachenkurveClick(Sender: TObject);
var stufe : integer;
begin
mitte;
stufe := 512;
Seite := StrToInt(Ed_Laenge.Text);
Winkel := StrToInt(Ed_Winkel.Text);
Drachenkurve(stufe,seite,winkel);
end;
elundril - Di 19.01.10 16:32
floattoint und inttofloat gibt es imho nicht. floattoint kann man mit cell, floor, round oder sowas erreichen und inttofloat braucht man insofern nicht da man einen integer kommplett in einen gleitkommatyp bekommt, mittels einfacher zuweisung. ;)
lg elundril
BenBE - Di 19.01.10 16:34
Wenn schon, solltest Du dir mal die Funktionsdeklaration ansehen ...
max1235 - Di 19.01.10 16:36
| Zitat: |
floattoint und inttofloat gibt es imho nicht. floattoint kann man mit cell, floor, round oder sowas erreichen und inttofloat braucht man insofern nicht da man einen integer kommplett in einen gleitkommatyp bekommt, mittels einfacher zuweisung.
lg elundril |
:autsch: ja...stimmt.
roth1803 - Di 19.01.10 16:40
Oke du musst verstehen ich bin Anfänger ich versteh gar nix.
Du siehst mein Problem? Ich rufe Seite auf mit dem Befehl StrToInt und kann es dann in meiner procedure nicht weiterverwenden da ich dividieren muss und dabei würd ja ein ungenaues Ergebnis rauskommen. Bedeutet ich brauchs doch im Real oder nicht?.. Wie grieg ich die Seite in real?
Man sorry dass ich hier so viele Fragen stelle aber ich komm einfach nicht weiter.
max1235 - Di 19.01.10 16:42
ich weiß jetzt nicht obs geht, aber probier mal die variable nicht als integer sondern als extended oder real zu deklarieren.
roth1803 - Di 19.01.10 17:13
OKe vielen Danke... hab das Programm jetzt fertig!!
Hat mir alles im Endeffekt viel geholfen hier!...
warscheins am Anfang einfahc nur zu faul irgendetwas selbst zu machen!
Dankeschön. LG
BenBE - Di 19.01.10 17:52
roth1803 hat folgendes geschrieben : |
| Hat mir alles im Endeffekt viel geholfen hier!... |
Das hört man gern.
roth1803 hat folgendes geschrieben : |
| warscheins am Anfang einfahc nur zu faul irgendetwas selbst zu machen! |
Dagegen ist dieses Forum die wirksamste Therapie. Leider schlägt sie nicht immer an ... :mrgreen:
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!