Delphi Verzweifelt

Dro'Doog

Lieutenant
Registriert
März 2007
Beiträge
705
Wir haben am Freitag mit Delphi angefangen, so "zeichne das Haus vom Nikolaus", ... das war mir zu langweilig und habe einen Würfel gezeichnet mit drei Fluchtpunkten, ... ich muss aber genau vier Punkte bestimmen, wo die liegen.

Muss ich das jetzt wirklich über Winkelsatz, Geometrie und Sinus berechnen? Oder gibt es, wie ich hoffe, eine Funktion in Delphi, die mir sagt wo die Punkte liegen, ... (sowas wie in Paint).
 
Ich bin auch verzweifelt, weil du es nicht hinbekommst, auch nur ein einziges Mal einen sinnvollen Thread-Titel zu bekommen... aber egal...

Aber hey, wenn es dir zu langweilig ist, wieso dann vorgefertigte Funktionen benutzen wollen?

Und wie meinst du das mit "wie in Paint"? oO

du willst doch sowas hier?
http://de.wikipedia.org/wiki/Bild:3-punktperspektive.png
 
Muss ich das jetzt wirklich über Winkelsatz, Geometrie und Sinus berechnen? Oder gibt es, wie ich hoffe, eine Funktion in Delphi, die mir sagt wo die Punkte liegen

Ich an deiner Stelle würde einfach die HAs machen, die du aufbekommen hast. Wenn du das Haus vom Nikolaus zeichnen sollst und - weil's dir zu trivial erscheint - einen Würfel zeichnest, dann kann der Lehrer dir eine Sechs bzw. 0 Punkte geben. Btw finde ich es schon ein wenig peinlich, wenn man einerseits tönt, die gestellte Aufgabe wäre zu leicht und dann andererseits nicht alleine mit schwereren Aufgaben klar kommt. Anscheinend sind die Aufgaben des Lehrers wohl doch deinem Kenntnisstand angemessener.
 
Das Haus ist fertig v.v Wie gesagt, war einfach, ... und ich habe auf den Würfel gezeichnet bekommen, jedoch nur mit dem, was wir bis jetzt wissen, ... also der "pen.bewegeBis(X,Y)"-Funktion, ... und der ein oder anderen "pen.radiere;", ... aber das funktioniert hat nur über die Angabe von Koordinaten, also bestimmten Pixeln. Wenn ich ein Bild in Paint lade habe ich unten rechts eine Angabe, auf welchem Pixel ich mich befinde, ... z.B. 1340x100, ... mir fehlen genau zwei Punkte um den Würfel gesondert von den "Entwurfslinien" darstellen zu können, ...

Die letzten beiden Punkte die ich wirklich brauchte, damit es erkennbar wird, habe ich durch's Try'n'Error-Prinzip "ermittelt", ... was mir ziemlich ineffektiv vorkommt, ... da ich davon ausgehen kann, dass ich später auch noch Angaben dieser Art brauchen werde, dachte ich mir, dass es eine Funktion geben müsste, zum Ermitteln der Punkte.

Jetzt klarer?
 
Nein.

Wenn ich das richtig verstanden habe, dann willst du bestimmen, wo 2 Linien sich schneiden, oder wie? Du müsstest in diesem Fall dann wohl den Verlauf der zweiten Linie so errechnen, wie er später sein wird, und da is wahrscheinlich Mathamtik von Nöten. Dann verfolgst du den Weg Pixel für Pixel und guckst, ob da schon was is.
Es is immer praktisch den Teilhabenden wenigstens einen Codeschnipsel zu zeigen.
 
Ohkay, ... ich würde daraus zwar nicht schlau, aber bitte:

program Wrfel_3D;

uses
mSum;

var pen : stift;
screen : bildschirm;
mouse : maus;
board : tastatur;

begin
//Initialisierung
screen := bildschirm.init;
pen := stift.init;
mouse := maus.init;
board := tastatur.init;

//Würfel mit drei Fluchtpunkten!

//erster Fkuchtpunkt!
pen.normal;
pen.bewegeBis(700,800);
pen.runter;
warte(1000);
pen.bewegeBis(450,220); //Fluchtpunktstrecke 1
pen.hoch;
pen.bewegeBis(700,800);
pen.runter;
warte(1000);
pen.bewegeBis(700,306); //Fluchtpunktstrecke 2
pen.hoch;
pen.bewegeBis(700,800);
pen.runter;
warte(1000);
pen.bewegeBis(946,227); //Fluchtpunktstrecke 3
pen.hoch;

//zweiter Fluchtpunkt!
pen.bewegeBis(1340,100);
pen.runter;
warte(1000);
pen.bewegeBis(450,220); //Fluchtpunktstrecke 1
pen.hoch;
pen.bewegeBis(1340,100);
pen.runter;
warte(1000);
pen.bewegeBis(700,306); //Fluchtpunktstrecke 2
pen.hoch;
pen.bewegeBis(1340,100);
pen.runter;
warte(1000);
pen.bewegeBis(700,530); //Fluchtpunktstrecke 3
pen.hoch;

//dritter Fluchtpunkt
pen.bewegeBis(100,100);
pen.runter;
warte(1000);
pen.bewegeBis(946,227); //Fluchtpunktstrecke 1
pen.hoch;
pen.bewegeBis(100,100);
pen.runter;
warte(1000);
pen.bewegeBis(700,306); //Fluchtpunktstrecke 2
pen.hoch;
pen.bewegeBis(100,100);
pen.runter;
warte(1000);
pen.bewegeBis(700,530); //Fluchtpunktstrecke 3
warte(1000);

//Würfel dicker machen!

//Freigabe
screen.gibFrei;
pen.gibFrei;
mouse.gibFrei;
board.gibFrei;
end.

Ohkay, es ist nicht's geheimes, nichts komerzielles nur aus Spaß, daher einfach mal der gesamte Code, ...
Unter dem letzte Punkt "//Würfel dicker machen!" sollen dann nochmal jede Linie so nachgezogen werden, dass sie zwei Pixel groß sind, ... aber eben nur die des Würfels.

Und damit es noch anschaulicher wird, ... gibt's 'n Screeny. (Die 1440x900 wollte ich dem Thread nicht zumuten.)

Die Punkte, auf die die Pfeile zeigen, sind die, die ich noch brauche.
 
Zurück
Oben