Motion, Pursuit, Fixate, and Distractor (Visual Depth Perception 2)

framelabel={Row[{HoldForm[((Style["d",Italic]α)/(Style["d",Italic]t))],"°/sec"}],Row[{HoldForm[((Style["d",Italic]θ)/(Style["d",Italic]t))],"°/sec"}]};

depthPlain=ContourPlot[i (mm/pp)(( 180)/((pp-mm)π)),{pp,0,20},{mm,-10,.99pp},FrameLabel->framelabel,RotateLabel->False,ContourShading->False,PlotRange->{{0,20},{-10,10}},ContourStyle->{Brown},Contours->{-10,-30,-50,-70,-90,10,30,50,70,90,110}];
depth=Show[{depthPlain,Graphics[{Brown,{Line[{{0,0},{10,10}}],Line[{{0,0},{20,0}}]}}],Graphics[{Brown,Dashing[.01],{Circle[{0,0},{18,8},{-π/2.2,π/3}],Text["-f←d",{1.4,-8}],Text["d=0",{17,1}],Text["∞←d",{8,7}],Text["d=10",{15,4}],Text["d=30",{12,6}],Text["d=-30",{7,-7}],Text["d=-10",{13,-6}],Text["d↗",{16,-3}]}}]}];
framePlain=ContourPlot[180 (i/(π pp)),{pp,0.01,20},{mm,-10,10},FrameLabel->framelabel,RotateLabel->False,ContourShading->False,ContourStyle->Blue,Contours->{20,40,60,80,100,120,140,160}];
frame=Show[{framePlain,Graphics[{Black,AbsoluteThickness[1],{Line[{{0,0},{20,0}}]}}],Graphics[{Blue,Dashing[.01],{Line[{{2,5},{20,5}}]}}],
Graphics[{Blue,{Text["f=20",{180i/20/π,9}],Text["f=40",{180i/40/π,9}],Text["f=60",{180i/60/π,9}],Text["∞←f",{1,9}],Text["←f",{12,6}]}}]}];

Manipulate[
p=(i/f)*(180/π);
m=((d i)/((d+f) (f+n r)))*(180/π);
mp=m/p;
n=0;
i=6.5;
r=i/5;
PM={p,m};
Show[{framePlain,depthPlain,Graphics[{Red,AbsolutePointSize[4],{Text[Row[{Style["d",Italic]/Style["f",Italic], " = ",Round[((PM [[2]])/(PM[[1]]))(1/(1-PM[[2]]/PM[[1]])),.01], ", ",HoldForm[Style["d",Italic]θ/(Style["d",Italic]α)]," = ",Round[((PM[[2]])/(PM[[1]])),.01]}],PM+{1,-1}],Line[{{0,0},20{1, mp}}],Point[PM]}}],
Graphics[{Red,{Text[Row[{Style["f",Italic]," = ",Round[f,.1]}],{1,4}]}
}],Graphics[{Red,{Text[Row[{Style["d",Italic]," = ",Round[d,.1]}],{1,-4}]}}]
},ImageSize->{400,400}]

,
{{f,40,"fixate distance f"},20,200},
{{d,10,"distractor distance d"},-19.99,20},SaveDefinitions->True,TrackedSymbols->Manipulate]

CAPTION

This Demonstration shows the retinal motion and pursuit rates for your choice of f and d in the case of a fixate and distractor on the y axis and an observer moving at 6.5 cm/sec (interocular distance per second) to the right on the x axis.  The observer's eyes are "fixed" on the point F (the "fixate" point). "Fixation" means the ray from F through the eye node strikes the fovea at the center of the retina (see: Fixation and Distraction (Visual Depth Perception 5)).

DETAILS

This Demonstration is for the case of a fixate and distractor on the y axis and an observer moving at speed 6.5 cm/sec (interocular distance per second) to the right on the x axis.  Additional details of this framework are given in the Demonstration "Motion/Pursuit Law in 1D (Visual Depth Perception 1)". This Demonstration shows a different graphical representation of the dynamic quantities.

If you know f, pursuit at speed i is given by the formula

((dα)/(dt)) =(i/(f+n r))

at t=0. Once you know f and d, time zero motion is given by the formula

((dθ)/(dt))=((d i)/((d+f) (f+n r))).

All the points on the red line have the same M/P ratio and same relative depth. The brown curves have the same d=±10,±30,⋯ and the vertical blue lines have the same f= 20, 40, 60, ⋯.

The eye parameters n, r, i, etc. are described in the Demonstration "Eye Parameters (Visual Depth Perception 6)" in the Related Links.

THIS NOTEBOOK IS THE SOURCE CODE FROM

"Motion, Pursuit, Fixate, and Distractor (Visual Depth Perception 2)" from the Wolfram Demonstrations Project
 http://demonstrations.wolfram.com/MotionPursuitFixateAndDistractorVisualDepthPerception2/

Contributed by: Keith Stroyan

A full-function Wolfram Mathematica system (Version 6 or higher) is required to edit this notebook.
GET WOLFRAM MATHEMATICA »

© Wolfram Demonstrations Project & Contributors   |   Terms of Use   |   Make a new version of this Demonstration »