\section{Do it yourself null geodesic}
By using the interactive form below, you can create a 3D scene with your own
null geodesics. This is a very good way of getting a feeling of how
light rays move around a rotating black hole.

\begin{latexonly}
\begin{quote}
In the HTML version there is an interactive form at this place.
{\em Please go see it there!\/}.
Summary of the form: one specifies
\begin{itemize}
\item	The black hole properties: $M$ and $a/M$
\item	The initial position of the photon $(r,\theta,\varphi)$
\item	The initial direction of the photon $(dr,d\theta,d\varphi)$
\item	The numerical integration parameters
\item	The desired 3D scene format
\item	The drawing style of the geodesic
\item	The color of the geodesic
\item	The coordinate system widget parameters
\item	The horizon widget parameters
\item	The static limit / ergosphere widget parameters
\end{itemize}
and then gets the output 3D scene.
\end{quote}
\end{latexonly}
%
\begin{rawhtml}

<!-- 
Bo Milvang-Jensen (milvang@astro.ku.dk)
For the RelViz Web exhibition, June 1996
Last rev.: 11-Jun-1996
 -->

<!-- 
<form method="post"
action="/cgi-bin/post-query">
 -->

<form method="post" 
action="/cgi-bin/milvang/RelViz/form1.cgi">


    <dl>
    
    <dt><h4>Black hole properties</h4>
    <dd><i>M</i> &nbsp; = &nbsp;
	<input name="M" maxlength=10 size=10 value=1.0>
	&nbsp; (mass) <br>
	<i>a/M</i> &nbsp; = &nbsp; 
	<input name="a_over_M"  maxlength=10 size=10 value=0.998     > 
	&nbsp; (measure of rotation,
	<img alt="0 \leq a/M \leq 1" align=middle 
	src="Math/a_over_M_limits.gif">&nbsp;)
    
    <dt><h4>Initial position of photon</h4>
    <dd><i>r</i> &nbsp; = &nbsp; 
	<input name="r"  maxlength=10 size=10 value=5.0       >
	&nbsp; (you must have 
	<img alt="r gt r_H=M+(M^2-a^2)^1/2" align=middle 
	src="Math/r_gt_r_H.gif">&nbsp;) 
	<br>
	<img align=bottom alt=theta src="Math/theta.gif"> &nbsp; = &nbsp;
	<input name="th" maxlength=10 size=10 value=!pi/4     > 
	&nbsp; [radians] <br>
	<img align=middle alt=phi  src="Math/phi.gif"> &nbsp; = &nbsp;
	<input name="ph" maxlength=10 size=10 value=0.0       >
	&nbsp; [radians] (unimportant, since there is symmetry around the z-axis)<br>
	<i>t</i> &nbsp; = &nbsp;
	<input name="t"  maxlength=10 size=10 value=0.0       >
	&nbsp; (unimportant, since the metric is time independent)<br>
        <br>
        <i>Note:</i> 
        You can specify <img alt="pi" align=bottom src="Math/pi.gif"> (pi)
        as &nbsp; <tt>!pi</tt> &nbsp; in the normal IDL fasion.

    <dt><h4>Initial direction of photon</h4>
    <dd><i>dr</i> &nbsp; = &nbsp; 
	<input name="dr"  maxlength=10 size=10 value=-0.5      >     <br>
	<img align=bottom alt=dtheta src="Math/dtheta.gif"> &nbsp; = &nbsp;
	<input name="dth" maxlength=10 size=10 value=-0.2      >
	&nbsp; [radians] <br>
	<img align=middle alt=dphi   src="Math/dphi.gif"> &nbsp; = &nbsp;
	<input name="dph" maxlength=10 size=10 value=0.11      >
	&nbsp; [radians] <br>
	<i>Note:</i>
	Here, a null geodesic is obtained by solving
	<img align=bottom alt=ds^2=0 src="Math/ds2_0.gif">
	for <i>dt</i>. Therefore, the user cannot specify <i>dt</i>.

    <dt><h4>Affine parameter control</h4>
    <dd><img align=bottom alt=dlambda src="Math/dlambda.gif"> &nbsp; = &nbsp; 
	<input name="dl"   maxlength=10 size=10 value=0.20      >
	&nbsp; (affine parameter step size)<br>
        # steps &nbsp; = &nbsp; 
	<input name="nl" maxlength=10 size=10 value=300       >
	&nbsp; (max 10,000)

    <dt><h4>3D scene format</h4>
    <dd>
    <input type="radio" name="scene_format" value="Inventor" checked>
    Inventor <br>
    <input type="radio" name="scene_format" value="VRML"> 
    VRML
	<p>
	<i>Note:</i> you have to manually switch on "Headlight" 
	(in the "View" menu)
	in WebSpace to be able to see the 3D widgets below.
	In ivview there seems to be light everywhere.
    
    <dt><h4>Drawing style of geodesic</h4>
    <dd>
    <input type="radio" name="pointset" value="0" checked>
    Line <br>
    <input type="radio" name="pointset" value="1"> 
    Points
	<p>
	<i>Note:</i> I think that <i>Line</i> looks the best, but <i>Points</i>
	allows you too see (more clearly) the spacing between the points.
	Try sending the photon directly towards a nonrotating black hole,
	e.g. 
	<i>
	a/M=0, 
	dr=-0.5,
	<img align=bottom alt=dtheta src="Math/dtheta.gif">=0,</i>
	and 
	<i>
	<img align=middle alt=dphi   src="Math/dphi.gif">=0</i>.
    
    <dt><h4>Color of geodesic</h4>
    <dd>R &nbsp; = &nbsp; 
	<input name="cr"   maxlength=5 size=5 value=0.0      > &nbsp;
        G &nbsp; = &nbsp; 
	<input name="cg"   maxlength=5 size=5 value=1.0      > &nbsp;
        B &nbsp; = &nbsp; 
	<input name="cb"   maxlength=5 size=5 value=1.0      >
    
    <dt><h4>Coordinate system widget</h4>
    <dd><ul>
	<li>
        <input type="radio" name="coo" value="on" checked>
        Enabled &nbsp; or &nbsp;
        <input type="radio" name="coo" value="off"> 
        Disabled
	<li>
        Axis length &nbsp; = &nbsp; 
	<input name="coo_length"   maxlength=5 size=5 value=5.0      > 
	<li>
	Label <i>x</i> axis with 3D letter "<tt>x</tt>":
        <input type="radio" name="labelx" value="1">
        yes &nbsp; or &nbsp;
        <input type="radio" name="labelx" value="0" checked> 
        no
	</ul>
	<p>
	<i>Note:</i> the <i>x</i>, <i>y</i>, and <i>z</i> axis are
	red, green, and blue,
	respectively, and have a transparency of 0.25.
	If you cannot view color, you should enable the x axis labeling,
	and then find the <i>y</i> and <i>z</i> axis using the right hand rule.
    
    <dt><h4>Horizon widget</h4>
    <dd><ul>
	<li>
        <input type="radio" name="horizon" value="on" checked>
        Enabled &nbsp; or &nbsp;
        <input type="radio" name="horizon" value="off"> 
        Disabled
	<li> Radius: 
        <input type="radio" name="auto_radius" value="on" checked>
        <i>r</i> &nbsp; = &nbsp; 
	<img alt="r_H=M+(M^2-a^2)^1/2" align=middle src="Math/r_H.gif"> 
	&nbsp; or &nbsp;
        <input type="radio" name="auto_radius" value="off"> 
        <i>r</i> &nbsp; = &nbsp;
	<input name="manual_radius" maxlength=5 size=5 value=1.0      > 
	<li> Color: &nbsp;
        R &nbsp; = &nbsp; 
	<input name="hcr"   maxlength=5 size=5 value=1.0      > &nbsp;
        G &nbsp; = &nbsp; 
	<input name="hcg"   maxlength=5 size=5 value=1.0      > &nbsp;
        B &nbsp; = &nbsp; 
	<input name="hcb"   maxlength=5 size=5 value=0.0      >
	<li> Transparency &nbsp; = &nbsp;
	<input name="transp"   maxlength=5 size=5 value=0.50     >
	</ul>
	<i>Note:</i> you can of course get a black horizon instead of a
	yellow one by setting R=G=B=0 !
    
    <dt><h4>Static Limit / Ergosphere widget</h4>
    <dd><ul>
	<li>
        <input type="radio" name="make_r_stat" value="on">
        Enabled &nbsp; or &nbsp;
        <input type="radio" name="make_r_stat" value="off" checked> 
        Disabled
	<li> Color: &nbsp;
        R &nbsp; = &nbsp; 
	<input name="scr"   maxlength=5 size=5 value=1.0      > &nbsp;
        G &nbsp; = &nbsp; 
	<input name="scg"   maxlength=5 size=5 value=0.0      > &nbsp;
        B &nbsp; = &nbsp; 
	<input name="scb"   maxlength=5 size=5 value=1.0      >
	</ul>
	<i>Note:</i> the static limit is given by
	<img align=middle src="Math/r_stat.gif">&nbsp;.
	<br>
	It is shown as a wire mesh.
    
    <dt><h4>Submit!</h4>
    <dd><img alt="" align=middle src="/Icons/Icons/arrows/forward.gif"> 
	<input type="submit" value="Get output">
	(be patient!) or 
	<input type="reset" value="reset form">
	<br>
	<i>Note:</i> when your browser says
	"Connect: Host www.astro.ku.dk contacted. Waiting for reply...",
	my machine is actually calculating the null geodesic you 
	specified.
	<br>
	Typical calculation time: 10 seconds.
    
    </dl>

\end{rawhtml}
