Skip to content

Instantly share code, notes, and snippets.

@GCBallesteros
Last active February 16, 2018 10:57
Show Gist options
  • Select an option

  • Save GCBallesteros/0d8935524fe9d3b024c5c7c848524016 to your computer and use it in GitHub Desktop.

Select an option

Save GCBallesteros/0d8935524fe9d3b024c5c7c848524016 to your computer and use it in GitHub Desktop.
Gaussian Beam Function
(define (gaussian-beam zR k z) (lambda (x)
(let
((z-prime (/ z zR))
(k-norm (vector3-norm k))
(x2 (vector3-dot x x)))
(*
(/ 1 (sqrt (+ 1 (* z-prime z-prime))))
(exp (+
(/ (* -1 k-norm x2) (* 2 zR (+ 1 (* z-prime z-prime))))
(/ (* 0-1i z-prime k-norm x2) (* 2 zR (+ 1 (* z-prime z-prime))))
(* 0+1i (atan z-prime))
(* 0-1i (vector3-dot k x))))))))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment