www.vorhilfe.de
Vorhilfe

Kostenlose Kommunikationsplattform für gegenseitige Hilfestellungen.
Hallo Gast!einloggen | registrieren ]
Startseite · Forum · Wissen · Kurse · Mitglieder · Team · Impressum
Forenbaum
^ Forenbaum
Status Englisch
  Status Grammatik
  Status Lektüre
  Status Korrekturlesen
  Status Übersetzung
  Status Sonstiges (Englisch)

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Neuerdings beta neu
 Forum...
 vorwissen...
 vorkurse...
 Werkzeuge...
 Nachhilfevermittlung beta...
 Online-Spiele beta
 Suchen
 Verein...
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
Forum "Mathe Klassen 8-10" - Erweitere Schnittpunktrechnung
Erweitere Schnittpunktrechnung < Klassen 8-10 < Schule < Mathe < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Mathe Klassen 8-10"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

Erweitere Schnittpunktrechnung: Frage
Status: (Frage) beantwortet Status 
Datum: 10:35 Sa 11.06.2005
Autor: progs

Hallo,

ich hab schoneinmal wegen Schnittpunkt nachgefragt, dies hat jedoch letztendlich doch nicht das richtige Ergebnis geliefert. Darum mach ich jetzt nocheinmal eine Frage auf, und erweitere meine Fragenstellung und Erklärung etwas.

Mein Blickpunkt ist auf Position 0,0 (Fest) und ich hab einen Blickwinkel von 90 Grad. Das ganze Blickfeld ist 320 Einheiten groß. Ich nehme dann 90 / 320 Einheiten und hab dann 0,28... Gradeinteilungen (Winkelschritte). Dann hab ich Objekte, mit x1/y1 und x2/y2 Positionsangaben. Nun mach ich für jede neuen Gradeinteilung (Winkel) eine neue Rechnung über meine Objekte:

Ich berechne  einen Blickvektor der Länge 1 von der Positon des Betrachters (0,0) per Vektorrechnung mit den Vektor des Objekts (x1/y1, x2/y2) einen Schnittpunkt berechne. Der Blickvektor solle die Länge 1 haben und der Objektvektor von (x,y) - (x1+x2, y1+y2) auch die Länge 1 laut Definition. Als Ergebnis sollten 2 Faktoren rauskommen, die im Idealfall >= 1 und < 2 sind.

Soviel jetzt zur Theorie, nur bei der Umsetzung habert es leider. Ich hab überhaupt keine Idee, wie ich das in eine Formel bringen könnten. Vielen Dank für euere Hilfe!



Ich habe diese Frage in keinem Forum auf anderen Internetseiten gestellt.

        
Bezug
Erweitere Schnittpunktrechnung: Aufgabe unklar!
Status: (Antwort) fertig Status 
Datum: 11:28 Sa 11.06.2005
Autor: leduart

Hallo > Hallo,
>  
> ich hab schoneinmal wegen Schnittpunkt nachgefragt, dies
> hat jedoch letztendlich doch nicht das richtige Ergebnis
> geliefert. Darum mach ich jetzt nocheinmal eine Frage auf,
> und erweitere meine Fragenstellung und Erklärung etwas.
>  
> Mein Blickpunkt ist auf Position 0,0 (Fest) und ich hab
> einen Blickwinkel von 90 Grad. Das ganze Blickfeld ist 320
> Einheiten groß. Ich nehme dann 90 / 320 Einheiten und hab
> dann 0,28... Gradeinteilungen (Winkelschritte). Dann hab
> ich Objekte, mit x1/y1 und x2/y2 Positionsangaben. Nun mach
> ich für jede neuen Gradeinteilung (Winkel) eine neue
> Rechnung über meine Objekte:
>  
> Ich berechne  einen Blickvektor der Länge 1 von der Positon
> des Betrachters (0,0) per Vektorrechnung mit den Vektor des
> Objekts (x1/y1, x2/y2) einen Schnittpunkt berechne. Der
> Blickvektor solle die Länge 1 haben und der Objektvektor
> von (x,y) - (x1+x2, y1+y2) auch die Länge 1 laut
> Definition. Als Ergebnis sollten 2 Faktoren rauskommen, die
> im Idealfall >= 1 und < 2 sind.

Leider hab ich die Theorie nicht kapiert. Ist das "Objekt" die Strecke zwischen  x1/y1 und x2/y2?
Ist der "Bildvektor" der Vektor von  x1/y1 nach x2/y2, oder ist es ein Vektor der senkrecht auf  der Strecke  x1/y1 und x2/y2 steht? Was soll der Schnittpunkt des "Sehstrahls" mit der Strecke zw.  x1/y1 und x2/y2?
Vielleicht willst du einfach die Projektion eines Gegenstandes auf eine Ebene, um die Verkürzung zu berechnen, unter der man ihn sieht?
Kannst du nicht eine Skizze machen, aus der hervorgeht, was du haben willst? Für einen Fall wirst du doch vielleicht das gesuchte Ergebnis zeichnerisch ermitteln können? In Mathe kann man meist, was jemand mit Zirkel und Lineal zeichnen kann nicht allzu schwer in Gleichungen übersetzen.
Oder du schilderst einfach, was du in deinem Spiel erreichen willst. Es klingt so, als ob sich ein Objekt bewegt, und du willst es vom Raum auf den Bildschirm projizieren, und das perspektivisch richtig? Aber das ist nur rumgeraten.
Also so wie du das Problem beschreibst ist es unverständlich. (z.Bsp ist es völlig unwichtig in wieviel Schritte du 90° einteilst wobei 360 Schritte sinnvoller wäre, weil dafür Comp. schnellere routinen haben)
Versuchs noch mal!
Gruss leduart

Bezug
                
Bezug
Erweitere Schnittpunktrechnung: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 11:47 Sa 11.06.2005
Autor: progs

Es klingt so, als ob sich ein Objekt bewegt, und du willst es vom Raum auf den Bildschirm projizieren, und das perspektivisch richtig?


Das trifft es auf den Punkt

Das Objekt ist die Strecke zwischen x1/y1 und x2/y2. Der Standort ist 0/0. Nun teile ich die größe der Ansicht durch das Sichtfeld (90°) und bekomme so streifen. Nun gehe ich die Streifen durch und erzeuge einen Blickvektor der Länge 1 von der Position des Betrachters (0,0) per Vektorrechnung mit dem Vektor des Objekts um einen Schnittpunkt zu berechnen. Der Blickvektor hat die Länge 1 und der Objektvektor auch die Länge 1 per Defintion hat, erhalte ich bei der Schnittpunktberechnung die Faktoren, um die der Blickvektor bzw. der Objektvektor verlängert werden muss, um einen Schnittpunkt zu erhalten. Nun hab ich den Faktor F1 und F2. Wenn F1 < 0 ist, dann liegt das Objekt hinter mir und muss nicht angezeigt werden. Wenn F1 > 0, dann ist es vor mir. Wenn F2 < 0, dann war der Schnittpunkt zwar auf der Verlängerung des Objektverktors, aber nicht in dessen definierten Bereich. Genauso wenn F2 > 1. Mit den Faktoren kann ich dann die Entfernung der Objekte bestimmen und die Verkleinerung errechnen.

Ich hoffe, es ist jetzt etwas besser beschrieben.

Bezug
                        
Bezug
Erweitere Schnittpunktrechnung: immer noch unklar!
Status: (Antwort) fertig Status 
Datum: 15:29 Sa 11.06.2005
Autor: leduart


> Es klingt so, als ob sich ein Objekt bewegt, und du willst
> es vom Raum auf den Bildschirm projizieren, und das
> perspektivisch richtig?
>  
> Das trifft es auf den Punkt
>  
> Das Objekt ist die Strecke zwischen x1/y1 und x2/y2. Der
> Standort ist 0/0. Nun teile ich die größe der Ansicht durch
> das Sichtfeld (90°) und bekomme so streifen. Nun gehe ich
> die Streifen durch und erzeuge einen Blickvektor der Länge
> 1 von der Position des Betrachters (0,0) per Vektorrechnung
> mit dem Vektor des Objekts um einen Schnittpunkt zu
> berechnen. Der Blickvektor hat die Länge 1 und der
> Objektvektor auch die Länge 1 per Defintion hat, erhalte
> ich bei der Schnittpunktberechnung die Faktoren, um die der
> Blickvektor bzw. der Objektvektor verlängert werden muss,
> um einen Schnittpunkt zu erhalten. Nun hab ich den Faktor
> F1 und F2. Wenn F1 < 0 ist, dann liegt das Objekt hinter
> mir und muss nicht angezeigt werden. Wenn F1 > 0, dann ist
> es vor mir. Wenn F2 < 0, dann war der Schnittpunkt zwar auf
> der Verlängerung des Objektverktors, aber nicht in dessen
> definierten Bereich. Genauso wenn F2 > 1. Mit den Faktoren
> kann ich dann die Entfernung der Objekte bestimmen und die
> Verkleinerung errechnen.
>  
> Ich hoffe, es ist jetzt etwas besser beschrieben.

leider noch immer nicht.
1. wenn x1<0 und x2<0 oder y1<0und y2<0 ist das Objekt nicht sichtbar, wozu braucht man da nen Faktor?
2.Wenn x1<0 alle anderen >0 ist nur ein Teil des Objekts sichtbar, was machst du dann?
3. Du siehst das Objekt unter einem Winkel [mm] \alpha [/mm] dem Winkel zw. den Strahl von (0,0) nach(x1,y1) und dem Strahl von  (0,0) nach(x2,y2)    alle Strecken in diesem Winkel, egal wie sie liegen sieht man gleich gross. wie gross sind sie dann, wenn einmal (x1,y1) =(0,5) und (x2,y2)=(6,6) sind [mm] (\alpha=45°) [/mm] oder
(x1,y1) =(1,4) und (x2,y2)=(5,3) (etw derselbe Blickwinkel 44°)
Wo steht dein gedachter Bildschirm zu deiner Blickrichtung? liegt er z.Bsp auf der Strecke (0,1)-(1,0) dann musst du darauf projizieren, ich seh nicht, wie das mit deinen faktoren gehen soll.
4. ist dein Problem nicht in Wirklichkeit 3-dimensional un du probierst erstmal die 2-d Version?
Ich kann mir kein echtes Problem ausdenken, was nur 2-d ist!
Vielleicht schilderst du doch, was du wirklich haben willst, wozu du es brauchst etc. und danngibt es ne bessere Lösung als mit deinen faktoren.
5. Vielleicht hab ich einfach das Problem nicht kapiert, dann belehr mich, wenn möglich mit ner Skizze, in der dein Objekt in 2 verschiedenen Positionen liegt, und du das gewünschte ergebnis weisst!
Gruss leduart

Bezug
                                
Bezug
Erweitere Schnittpunktrechnung: Rückantwort
Status: (Frage) beantwortet Status 
Datum: 15:53 Sa 11.06.2005
Autor: progs

Ich brauche im Prinzip ein 2D Bild, welches flach auf den "Boden" eines 3D Bildes gelegt wird. und von diesem 2D Bild ausgehen, zeichne ich dann meine z-Achste nach oben bzw. unten.

Jedoch kann ich nicht jedes Objekt nacheinander zeichnen, sondern muss das  Bild in Streifen schneiden, und jeden Streifen einzeln abarbeiten und dann zeichnen, daher 90 / 320 um diese Streifen zu erhalten.

Hier mal das Bild: http://bauer-martin.com/ansicht.gif

Ich brauch also eine Formel, die mir die 2D Koordinaten des aktuellen Objektes, im aktuellen Streifen in eine Perspektivisch richtige 3D x/y Koordiante umrechnet. Der Z-Wert folgt erst später.

Ich baue das ganze auf Basis einen kleinen Textes auf. Hier mal der entsprechende Abschnitt:

"Zu Anfang steht die Aussage, dass die 3D-Welt, die man zu sehen bekommt, eigentlich gar nicht 3d ist, sondern in Wirklichkeit eine 2D flache Welt ist, nämlich rechnerisch gesehen eine Draufsicht auf die Ojbekte wie z. B. eine Landkarte von oben betrachtet. Ich habe also eine 2D Welt in Form eines Koordiantensystems mit X- und Y-Achse. Mein Spieler steht an der Position (0,0) und hat einen Blickwinkel von 90 Grad. Meine Grafik zum Schluass als Ergebnis ausgeliefert werden soll, soll eine Auflösung von 320 Punkten Breite haben. Damit teile ich die 90 Grad in 90/320 = 0,28125 Grad-/Schritteinteilungen ein. Meine Objekte im Fraum sind bei Draufsicht eigentlich nur Striche auf dem Koordinatensystem. SElbst ein Würfel besteht in der Draufsicht nur aus 3 Strichen. Diese sind als Vektoren mit dem Startpunkt (x,y) und einer Länge absolut (s) oder aufgespaltet nach x und y als (dx, dy) abgelegt. Nun folgt eine Schleife über meine 320  Grafeinteilungen, in der ich für jeden neuen Winkel, je einen Blickvektor der Länge 1 von der Position des Betrachters (0,0) per Vektorrechnung mit allen Vektoren der Objekte im Raum einen Schnittpunkt berechne. Da mein Blickvektor die Länge 1 hat un der Objektvektor von (x,y) - (x+dx, y+dy) auch die Länge 1 per Definition hat, erhalte ich bei dre Schnittpunktberechnung die Faktoren, um die ich meinen Blickvektor bzw. den Objektvektor verlängern muss, um enen Schnittpunkt zu erhalten. (Zur Vorstellung werden die Vektoren zu Geraden ins unendliche verlängert, da sie dann, außer im parallelen Fall, immer einen Schnittpunkt haben). Ich habe also nun einen Faktor F1 für den Blickvektor und einen Faktor F2 für den Objektvektor. Wenn F1 <0 ist, dann liegt das Objekt hinter mir und ich kann hier abbrechen und mit dem nächsten Blickvektor fortfahren. Wenn F1 > 0, dann liegt das Objekt vor mir. Wenn F2 < 0, dann war der Schnittpunkt zwar auf der Verlängerung des Objektvektors, aber nicht in desen definierten Bereich, der Blickvektor ist also daran vorbeigelaufen. Wenn F2 - 1, dann war das auch der Fall, nur an der anderen Setie. F2 muss also zwischen 0 und 1 liegen und F1 muss > 0 sein, dann habe ich mit meinem Blickvektor den Objektvektor richtig getroffen. Nun kann ich die Entfernung in Blickvektorlänge anhand F1 abmessen. Je größer F1, desto weiter ist das Objekt weg."

Bezug
                                        
Bezug
Erweitere Schnittpunktrechnung: Keine echte Perspektive
Status: (Antwort) fertig Status 
Datum: 22:31 Sa 11.06.2005
Autor: leduart

Hallo Martin
Ich hab dein Bild studiert, bin aber nicht dahinter gekommen, was das für eine Perspektive sein soll. Denn dein Rechteck in der xy-Ebene wird in ein Trapez abgebildet, dessen Gesetz ich nich rausfinde. Wenn dein Spieler bei 0,0 sitzt warum wird nach oben nicht verzerrt? So wie ich es jetzt sehe, musst du doch nur jeden Punkt der 2d darstellung ein für alle mal in deine 3d Darstellung abbilden, hast also einen 320*320 Doppelarray, der wieder auf einen solchen abgebildet wird.
Da ich kein math. Vorgehen in deinen Worten nachvollziehen kann kann ich dir leider nicht weiterhelfen.
Du sagst immer wieder dass du mit normierten Vektoren (Länge 1) rechnest, ich versteh aber nicht was. Schreib doch mal ne Rechnung.
Wenn du ein richtiges perspektivisches Bild willst, musst du dir vom Spielerauge aus eine Wand bzw. Bildschirm in der xz Ebene vorstellen und die Punkte auf diesen Schirm projizieren. Dazu brauchst du dann Aughöhe in z richtung, Augenlage in x Richtung, Entfernung Auge Bildschirm in y Richtung. dann ist es leicht,zu jedm Punkt im 3d Raum die Koordinate auf dem Bildschirm zu finden.
(das entspricht der Realität der abbildung auf unserer Netzhaut oder einem Foto.)
Eine Antwort  auf deine Frage ist das leider nicht. aber für Spielefreaks wie dich gibts doch ne Menge Seiten über 3d Darstellungen mit Computer. man muss nicht alles neu erfinden.
Ich hoff du findest noch was richtiges!
Gruss leduart

Bezug
                                                
Bezug
Erweitere Schnittpunktrechnung: Ergänzung
Status: (Frage) für Interessierte Status 
Datum: 09:53 So 12.06.2005
Autor: progs

Das mit der Grafik solltest Du nicht ganz so nehmen, wie sie da ist. Das war nur zur Visualisierung. Ich arbeite auf Grundlage eines Textes, der Folgendermaßen aussieht. Und ich brauche im Prinzip nur die Formel, welche ziemlich weit unten angesprochen wird, auf die ich aber nicht komme.

"Zu Anfang steht die Aussage, dass die 3D-Welt, die man zu sehen bekommt, eigentlich gar nicht 3d ist, sondern in Wirklichkeit eine 2D flache Welt ist, nämlich rechnerisch gesehen eine Draufsicht auf die Ojbekte wie z. B. eine Landkarte von oben betrachtet. Ich habe also eine 2D Welt in Form eines Koordiantensystems mit X- und Y-Achse. Mein Spieler steht an der Position (0,0) und hat einen Blickwinkel von 90 Grad. Meine Grafik zum Schluass als Ergebnis ausgeliefert werden soll, soll eine Auflösung von 320 Punkten Breite haben. Damit teile ich die 90 Grad in 90/320 = 0,28125 Grad-/Schritteinteilungen ein. Meine Objekte im Fraum sind bei Draufsicht eigentlich nur Striche auf dem Koordinatensystem. SElbst ein Würfel besteht in der Draufsicht nur aus 3 Strichen. Diese sind als Vektoren mit dem Startpunkt (x,y) und einer Länge absolut (s) oder aufgespaltet nach x und y als (dx, dy) abgelegt. Nun folgt eine Schleife über meine 320  Grafeinteilungen, in der ich für jeden neuen Winkel, je einen Blickvektor der Länge 1 von der Position des Betrachters (0,0) per Vektorrechnung mit allen Vektoren der Objekte im Raum einen Schnittpunkt berechne. Da mein Blickvektor die Länge 1 hat un der Objektvektor von (x,y) - (x+dx, y+dy) auch die Länge 1 per Definition hat, erhalte ich bei dre Schnittpunktberechnung die Faktoren, um die ich meinen Blickvektor bzw. den Objektvektor verlängern muss, um enen Schnittpunkt zu erhalten. (Zur Vorstellung werden die Vektoren zu Geraden ins unendliche verlängert, da sie dann, außer im parallelen Fall, immer einen Schnittpunkt haben). Ich habe also nun einen Faktor F1 für den Blickvektor und einen Faktor F2 für den Objektvektor. Wenn F1 <0 ist, dann liegt das Objekt hinter mir und ich kann hier abbrechen und mit dem nächsten Blickvektor fortfahren. Wenn F1 > 0, dann liegt das Objekt vor mir. Wenn F2 < 0, dann war der Schnittpunkt zwar auf der Verlängerung des Objektvektors, aber nicht in desen definierten Bereich, der Blickvektor ist also daran vorbeigelaufen. Wenn F2 - 1, dann war das auch der Fall, nur an der anderen Setie. F2 muss also zwischen 0 und 1 liegen und F1 muss > 0 sein, dann habe ich mit meinem Blickvektor den Objektvektor richtig getroffen. Nun kann ich die Entfernung in Blickvektorlänge anhand F1 abmessen. Je größer F1, desto weiter ist das Objekt weg."

Bezug
                                                        
Bezug
Erweitere Schnittpunktrechnung: Fälligkeit abgelaufen
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 15:14 Mo 13.06.2005
Autor: informix

wenn du noch weiterhin interessiert bist, stelle erneut eine Frage.

Bezug
Ansicht: [ geschachtelt ] | ^ Forum "Mathe Klassen 8-10"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
www.englischraum.de
[ Startseite | Forum | Wissen | Kurse | Mitglieder | Team | Impressum ]