Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Fr Jul 11, 2025 03:11

Foren-Übersicht » Programmierung » Allgemein
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 9 Beiträge ] 
Autor Nachricht
BeitragVerfasst: Fr Aug 31, 2007 09:55 
Offline
DGL Member
Benutzeravatar

Registriert: Di Dez 03, 2002 22:12
Beiträge: 2105
Wohnort: Vancouver, Canada
Programmiersprache: C++, Python
Hi,

ich brauch mal hilfe :)
Ich habe eine linie die beliebig im 3D Raum stehen kann. (ich habe einen punkt der linie + richtungsvektor).
Jetzt habe ich zusätzlich noch eine Kugel, welche auf der Linie hin und her gehen soll, und zwar immer so, das sie auf höhe des MausCursors ist (in X-Richtung).

hat da jemand eine idee wie ich das hinbekomme?

Hab hier nochmal ein Beispielbild gemacht wie ich das gern will:
Beispielbild 10KB

Aya~


// edit Lossy: Bild als Link. Weil hat doch eine recht große Auflösung.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Aug 31, 2007 12:58 
Offline
Ernährungsberater
Benutzeravatar

Registriert: Sa Jan 01, 2005 17:11
Beiträge: 2068
Programmiersprache: C++
Schnittpunkt zwischen Ebene (durch Cursor gegeben) mit deiner Geraden?

_________________
Steppity,steppity,step,step,step! :twisted:
❆ ❄ ❄ ❄ ❅ ❄ ❆ ❄ ❅ ❄ ❅ ❄ ❅ ❄ ❄
❄ ❄ ❄ ❅ ❄ ❄ ❄ ❅ ❄ ❄ ❆ ❄ ❄


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Aug 31, 2007 13:14 
Offline
DGL Member
Benutzeravatar

Registriert: Di Dez 03, 2002 22:12
Beiträge: 2105
Wohnort: Vancouver, Canada
Programmiersprache: C++, Python
i0n0s hat geschrieben:
Schnittpunkt zwischen Ebene (durch Cursor gegeben) mit deiner Geraden?

Wie, was? :?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Aug 31, 2007 13:33 
Offline
Ernährungsberater
Benutzeravatar

Registriert: Sa Jan 01, 2005 17:11
Beiträge: 2068
Programmiersprache: C++
Du hast deine Gerade g = Stützvektor + r * Richtungsvektor sowie deine Ebene E = Stützvektor + s * (1, 0, 0)^T + t * (0, 0, 1)^T
Den Stützvektor sowie den Richtungsvektor der Geraden hast du ja. Bei der Ebene ist der Stützvektor der Punkt auf den dein Mauszeiger zeigt (z.B. per gluUnproject).
Jetzt berechnest du einfach den Schnittpunkt der Geraden mit der Ebene. Diese Punkt ist dann die Position der Kugel.

_________________
Steppity,steppity,step,step,step! :twisted:
❆ ❄ ❄ ❄ ❅ ❄ ❆ ❄ ❅ ❄ ❅ ❄ ❅ ❄ ❄
❄ ❄ ❄ ❅ ❄ ❄ ❄ ❅ ❄ ❄ ❆ ❄ ❄


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Aug 31, 2007 13:54 
Offline
DGL Member
Benutzeravatar

Registriert: Di Dez 03, 2002 22:12
Beiträge: 2105
Wohnort: Vancouver, Canada
Programmiersprache: C++, Python
Und welche tiefe gebe ich bei gluUnProject an? :roll:


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Aug 31, 2007 14:02 
Offline
Ernährungsberater
Benutzeravatar

Registriert: Sa Jan 01, 2005 17:11
Beiträge: 2068
Programmiersprache: C++
:?
Steht doch im Beispielcode.

_________________
Steppity,steppity,step,step,step! :twisted:
❆ ❄ ❄ ❄ ❅ ❄ ❆ ❄ ❅ ❄ ❅ ❄ ❅ ❄ ❄
❄ ❄ ❄ ❅ ❄ ❄ ❄ ❅ ❄ ❄ ❆ ❄ ❄


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Aug 31, 2007 14:15 
Offline
DGL Member
Benutzeravatar

Registriert: Di Dez 03, 2002 22:12
Beiträge: 2105
Wohnort: Vancouver, Canada
Programmiersprache: C++, Python
Ich nehme an du meinst den Wiki Beispiel Code?

Mir ist klar wie ich via glReadPixels ne tiefe auslese etc, nur... trotzdem ist mir nicht ganz klar welche tiefe... glReadPixels liest die tiefe an z.B der stelle wo ich hinklicke.. aber ich hab ka was ich wie zeichnen soll damit ich da die korrekte tiefe für die berechnung bekomme.

Oder versteh ich dich falsch?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Aug 31, 2007 14:43 
Offline
Ernährungsberater
Benutzeravatar

Registriert: Sa Jan 01, 2005 17:11
Beiträge: 2068
Programmiersprache: C++
Du brauchst irgendwo an hinterster Stelle ein einfaches Quad mit der Hintergrundfarbe. Dieses gibt er dann zurück wenn nichts davor liegt.

Edit:
Brauchst du bei dem Beispiel noch Selektion und hast irgendwelche im Vordergrund? Ansonsten könntest du anstatt der Geraden ein unsichtbares (weil geblendetes) aber existierendes Quad zeichnen und direkt mit gluUnProject die Position auslesen. Dann wäre es nur noch eine Schnittpunktberechnung zwischen zwei Geraden.

_________________
Steppity,steppity,step,step,step! :twisted:
❆ ❄ ❄ ❄ ❅ ❄ ❆ ❄ ❅ ❄ ❅ ❄ ❅ ❄ ❄
❄ ❄ ❄ ❅ ❄ ❄ ❄ ❅ ❄ ❄ ❆ ❄ ❄


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Aug 31, 2007 14:51 
Offline
DGL Member
Benutzeravatar

Registriert: Di Dez 03, 2002 22:12
Beiträge: 2105
Wohnort: Vancouver, Canada
Programmiersprache: C++, Python
Hi,

also ich soll einfach irgendeine beliebige tiefe nehmen? Dann kann ich ja auch die FarClipping Plane benutzen o.Ä... aber so ganz verstehen tu ich leider immernochnicht wie du das genau meinst :(

Aya~

PS: Ich habe schon noch ne menge andere sachen in der Scene, aber könnte zur not einfach nen renderpass nur dafür machen.


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 9 Beiträge ] 
Foren-Übersicht » Programmierung » Allgemein


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 9 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.008s | 16 Queries | GZIP : On ]