Springen naar inhoud

Verdubbel de hoek tussen 2 vectoren


  • Log in om te kunnen reageren

#1

317070

    317070


  • >5k berichten
  • 5567 berichten
  • Moderator

Geplaatst op 10 januari 2012 - 19:36

Ik zit hier een klein beetje vast met iets dat ik wil doen voor een project. Zou er iemand mij kunnen helpen?
In het kort komt het hier op neer:
Ik heb de (3D) vectoren A en B. Ik zoek een vector C die in hetzelfde vlak ligt als A en B, zodat de hoek tussen AB hetzelfde is als tussen BC. De vector die ik zoek ligt niet op dezelfde rechte als A.

Hoe bereken ik C?
Volgens mij moet er een eenvoudige methode zijn, maar ik vind hem dus niet...
What it all comes down to, is that I haven't got it all figured out just yet
And I've got one hand in my pocket and the other one is giving the peace sign
-Alanis Morisette-

Dit forum kan gratis blijven vanwege banners als deze. Door te registeren zal de onderstaande banner overigens verdwijnen.

#2

tempelier

    tempelier


  • >1k berichten
  • 1759 berichten
  • Ervaren gebruiker

Geplaatst op 10 januari 2012 - 19:53

Ik zit hier een klein beetje vast met iets dat ik wil doen voor een project. Zou er iemand mij kunnen helpen?
In het kort komt het hier op neer:
Ik heb de (3D) vectoren A en B. Ik zoek een vector C die in hetzelfde vlak ligt als A en B, zodat de hoek tussen AB hetzelfde is als tussen BC. De vector die ik zoek ligt niet op dezelfde rechte als A.

Hoe bereken ik C?
Volgens mij moet er een eenvoudige methode zijn, maar ik vind hem dus niet...


Een echt snele metode weet ik niet zo een twee drie.

Maar het kan via rotatie, bepaal de hoek tussen de twee vectoren en roteer een van de twee met die hoek.

Wel de goede kant op anders wordt de nieuwe hoek nul.
In de wiskunde zijn er geen Koninklijke wegen Majesteit.

#3

Drieske

    Drieske


  • >5k berichten
  • 10217 berichten
  • Moderator

Geplaatst op 10 januari 2012 - 20:02

Nog eenvoudiger: bekijk het vlak waarin je twee vectoren liggen en spiegel dan je ene vector ten opzichte van de andere.

Nuja, eenvoudig in theorie :). Hoe praktisch dit is, laat ik aan jou :).
Zoek je graag naar het meest interessante wetenschapsnieuws? Wij zoeken nog een vrijwilliger voor ons nieuwspostteam.

#4

317070

    317070


  • >5k berichten
  • 5567 berichten
  • Moderator

Geplaatst op 10 januari 2012 - 20:59

Nog eenvoudiger: bekijk het vlak waarin je twee vectoren liggen en spiegel dan je ene vector ten opzichte van de andere.

Ja, dat is hem! Dit kan ik gemakkelijk in vectoren uitdrukken: C = 2*(A.B)*B - A

Als bedanking de rendering van een glazen bal, waarvoor ik deze formule dus nodig had :) Nu breekt het licht op beide interfaces.

snapshot.jpg
What it all comes down to, is that I haven't got it all figured out just yet
And I've got one hand in my pocket and the other one is giving the peace sign
-Alanis Morisette-

#5

Drieske

    Drieske


  • >5k berichten
  • 10217 berichten
  • Moderator

Geplaatst op 10 januari 2012 - 22:36

Als bedanking

Haha, danku :)! En graag gedaan :).
Zoek je graag naar het meest interessante wetenschapsnieuws? Wij zoeken nog een vrijwilliger voor ons nieuwspostteam.

#6

Xenion

    Xenion


  • >1k berichten
  • 2606 berichten
  • Moderator

Geplaatst op 10 januari 2012 - 23:36

Voor de specular reflection in de Phong shading formule? (of Recursive Ray Tracing?)

#7

317070

    317070


  • >5k berichten
  • 5567 berichten
  • Moderator

Geplaatst op 10 januari 2012 - 23:58

Voor de specular reflection in de Phong shading formule? (of Recursive Ray Tracing?)

Nee, de phong shader heb ik ook al gedaan, maar dit op de foto is geen specular reflection. Op ieder punt wordt de reflectie en de refractie in de cube map/skybox berekend. Voor de refractie had ik de formule nodig (deze shader werkt enkel correct voor een bol). Die worden dan gecombineerd door de reflectie en transmissiecoŽfficiŽnt te berekenen op ieder punt. Het resultaat is dus geen benadering, maar fysisch correct en realtime en draait op de GPU.

Een Phong-shader is een benadering en werkt enkel met puntlichtbronnen. Die reflectie kun je dus nooit bereiken met een phong-shader. Ook is speculaire reflectie enkel voor bepaalde materialen zoals plastiek en metaal, niet voor glas. Ray Tracing is te geavanceerd om snel even te implementeren en werkt niet realtime :)

Ik moet morgen nog shadow-mapping doen, en ga eens kijken of ik ook absorption en dispersion kan toevoegen.
What it all comes down to, is that I haven't got it all figured out just yet
And I've got one hand in my pocket and the other one is giving the peace sign
-Alanis Morisette-

#8

Xenion

    Xenion


  • >1k berichten
  • 2606 berichten
  • Moderator

Geplaatst op 11 januari 2012 - 10:12

Je hebt de bol dan zelf analytisch voorgesteld ofzo en dan de berekening voor de snijpunten met de lightbox geprogrammeerd? Dus je volgt niet echt een lichtstraal?

#9

317070

    317070


  • >5k berichten
  • 5567 berichten
  • Moderator

Geplaatst op 11 januari 2012 - 22:58

Je hebt de bol dan zelf analytisch voorgesteld ofzo en dan de berekening voor de snijpunten met de lightbox geprogrammeerd? Dus je volgt niet echt een lichtstraal?

Klopt, alleen is de bol niet analytisch, maar een wireframe. Ik kan er bijvoorbeeld ook deze lemming in steken. Het resultaat is niet fysisch correct, aangezien het licht enkel aan de eerste interface breekt, maar onze hersenen hebben moeite om die fout te zien.

Het belang van het niet-volgen van de lichtstraal, is dat je bovenstaande berekening helemaal in de fragment shader kunt doen, en dat de berekening dus in parallel kan gebeuren op je ganse figuur.

glass_lemming.jpg
What it all comes down to, is that I haven't got it all figured out just yet
And I've got one hand in my pocket and the other one is giving the peace sign
-Alanis Morisette-





0 gebruiker(s) lezen dit onderwerp

0 leden, 0 bezoekers, 0 anonieme gebruikers

Ook adverteren op onze website? Lees hier meer!

Gesponsorde vacatures

Vacatures