Hi,
I'm getting myself familiar with Optometrika at the moment.
I made this simple example for myself. I was assuming to get something on the screen while the light source is not very far out of the optic axis.
startup;
close all;
tic;
bench = Bench;
diam=12;
position=[ 140 0 0 ];
R=7.76;
conic=-0.1;
cornea_front=Lens(position , diam, R, conic, { 'air' 'mirror' } );
bench.append( cornea_front );
% screen
screen = Screen( [ 0 0 0 ], 24, 20, 1200, 1080 );
bench.append( screen );
% create some rays
nrays = 500000;
% create divergent rays
rays_in = Rays( nrays, 'source', [ 0 -15 0 ], [ 1 0.5 0 ], 0.8, 'hexagonal','air',860 );
rays_through = bench.trace( rays_in,0);
%rays_through = bench.trace( rays_in );
bench.draw( rays_through, 'rays' );
figure( 'Name', 'Image on the screen', 'NumberTitle', 'Off' );
imshow( screen.image, [] );