Hoe de brekingswet (Snellius ) in 3dVector-vorm om te keren?

Pagina: 1
Acties:

Vraag


Acties:
  • 0 Henk 'm!

  • crz06
  • Registratie: December 2020
  • Laatst online: 02-05 04:50
Is er een eenvoudige manier om de brekingswet (De wet van Snellius ) in 3dVector-vorm om te keren? M.a.w., als de invallende en uitgezonden 3d vectoren 𝐢 en 𝐭 (beide met norm = 1) bekend zijn, hoe vind je dan de normaalvector van het grensoppervlak (tussen media met brekingsindex n1 en n2, resp.) die nodig zijn om de gewenste richtingsverandering te bereiken door breking?

Ik heb nog geen simpele oplossing gevonden, dus elke suggestie wordt gewaardeerd. Wellicht dat in deze Youtube video een uitleg wordt gegeven maar ik heb geen wiskundige of programmer achtergrond, dus eventuele oplossingen met quaternionen kan ik zo snel niet op waarde schatten)

Afbeeldingslocatie: https://tweakers.net/i/JV6XcbCwtau1HlK_h7J_E97NDkQ=/800x/filters:strip_icc():strip_exif()/f/image/516r6OI5et0aZLwJXkCzakm9.jpg?f=fotoalbum_large

...

Als er een formule bestaat wil ik die uiteindelijk toepassen in een Python code in mijn CAD programma (Rhino 3d & Grasshopper)

...

Alle reacties


Acties:
  • 0 Henk 'm!

  • OverloadOfRed
  • Registratie: Maart 2010
  • Laatst online: 11-06 11:07

OverloadOfRed

Bla, blabla

Je specifieke probleem lezen alleen al geeft mij hoofdpijn, maar ik weet wel dat ik tijdens mijn studie, waarbij ik toch wat meer met vectoren en berekeningen daarop moest doen, echt enorm veel heb gehad aan dit youtube kanaal:
https://www.youtube.com/c/TheOrganicChemistryTutor/featured

Ik geef het weinig kans dat je hier een kant-en-klare oplossing krijgt, maar mogelijk dat je op een CAD of game programming (vectoren everywhere) subforum meer geluk hebt.

Ik ben chatman, supersnel met MSN. Er is niemand die me niet kent


Acties:
  • 0 Henk 'm!

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 12-06 12:44

Janoz

Moderator Devschuur®

!litemod

pff, het is eigenlijk al een behoorlijke tijd geleden dat ik hier echt aan heb lopen rekenen.

Sowieso is het handig om er in ieder geval even bij te zetten wat nu eigenlijk de wet van Snellius is:

n1 sin θ1 = n2 sin θ2

Verder kun je er vanuit gaan dat alle drie de vectoren in hetzelfde vlak zitten waardoor het eigenlijk een 2d probleem wordt. We weten niet de hoeken met de normaal, maar we weten wel de hoek tussen de vectoren. Laten we die α noemen. Met die waarde kunnen we de de ene hoek met de normaal afleiden uit de andere, namelijk:

α = π + θ2 - θ1

Druken we de ene hoek nu uit ind e andere dan komen we op:

θ1 = π + θ2 - α

Vullen we dit in in de bovenstaande formule:

n1 sin(π + θ2 - α) = n2 sin θ2

Als je daar alle n's en de α invult heb je een formule met 1 onbekende. En daar loop ik een beetje vast,

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Acties:
  • 0 Henk 'm!

  • ValHallASW
  • Registratie: Februari 2003
  • Niet online
Op basis van Wikipedia: Snell's law :

Afbeeldingslocatie: https://tweakers.net/i/eSoU-miAXSNQAFKkgQhH_gkasu4=/full-fit-in/4000x4000/filters:no_upscale():fill(white):strip_exif()/f/image/Plz5PMd9jqw73z8xIhRVdkP0.png?f=user_large

(vrefract = t, r = n1/n2, l = i, c = -\vec{n}\cdot\vec{l})

Bij gegeven t en i lijkt de normaalvector (op een scalar factor na) me dan gegeven door

\vec{n} ~ \vec{t} - n1/n2 \vec{i}