Verdubbel de hoek tussen 2 vectoren

Moderators: dirkwb, Xilvo

Reageer
Gebruikersavatar
Berichten: 5.609

Verdubbel de hoek tussen 2 vectoren

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-

Gebruikersavatar
Berichten: 4.320

Re: Verdubbel de hoek tussen 2 vectoren

317070 schreef: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.

Gebruikersavatar
Berichten: 10.179

Re: Verdubbel de hoek tussen 2 vectoren

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.

Gebruikersavatar
Berichten: 5.609

Re: Verdubbel de hoek tussen 2 vectoren

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
snapshot.jpg (114.58 KiB) 573 keer bekeken
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-

Gebruikersavatar
Berichten: 10.179

Re: Verdubbel de hoek tussen 2 vectoren

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

Gebruikersavatar
Berichten: 2.609

Re: Verdubbel de hoek tussen 2 vectoren

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

Gebruikersavatar
Berichten: 5.609

Re: Verdubbel de hoek tussen 2 vectoren

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-

Gebruikersavatar
Berichten: 2.609

Re: Verdubbel de hoek tussen 2 vectoren

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?

Gebruikersavatar
Berichten: 5.609

Re: Verdubbel de hoek tussen 2 vectoren

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
glass_lemming.jpg (212.54 KiB) 573 keer bekeken
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-

Reageer