### A Note on Non-Rectangular Boundaries ###
Most of the videos on this webpage are solutions to
the 2+1 wave equation with u(x,y,t) fixed at zero along
the domain of the domain of discourse. In many cases, the
domain of discource is not a rectangle.
In such a case, it is sufficient to write code as if one
was working on a rectangular domain, (this rect domain must
be chosen so that it contains the smaller non-rect domain)
and then include a subroutine in your code that determines if
a point within your rectangular domain is also within your
non-rectangular domain. if-else statements should then be
added to the code so that only points determined by the subroutine
to be within the non-rectangular domain participate in the main
body of the code.
An unfortunate effect of solving things this way is that the
whole enclosing rectangular domain gets shipped to the video
display program, not just the non rectangular subset. Consequently,
in all videos featuring a non rectangular domain, the true boundary is actually
invisible, and the boundary displayed is that of a rectangle.
One may try changing coordinates from (x,y)->(u,v) in such a
way that the curves u(x,y)=constant and v(x,y)=constant lie on the
boundary of the domain of discourse. The modified wave equation in
the new coordinate system may then be solved numerically on a
rectangular domain in u,v and the results converted back into x,y
coordinates. This helps cut down error and also allows the
displayed boundary to coincide with the true boundary
but in my opinion is alot more trouble than it's worth
which is why I haven't bothered doing it.