summaryrefslogtreecommitdiff
path: root/beam_tracing/octave/plot_beams_and_faces_figure.m
blob: a63ac8570546baf0600d728a3c6d880f9b03c9c5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
function plot_beams_and_faces_figure(border_limits, img, faces, fig_handle)
	%% plot faces and beams images
	% border_limits has coordinates of left bottom and right top coners
	xlb=border_limits(1);
	ylb=border_limits(2);
	xrt=border_limits(3);
	yrt=border_limits(4);

	[Ny,Nx]=size(img);
	xc=linspace(xlb,xrt, Nx);
	yc=linspace(ylb,yrt, Ny);

	figure(fig_handle);
	%% dummy plot just to put axis in the proper directions
	plot(xlb,ylb,'.', xrt,yrt, '.');
	hold on;
	

	%% color map  as gradient of particular color
	Ncolors=64; % number of colors
	% starting values
	hsv_s=rgb2hsv([1,0,0]);
	hue_f = hsv_s(1);
	sat_f = hsv_s(2);
	val_f = hsv_s(3);
	% stop values
	hue_s = hue_f;
	sat_s = 0;
	val_s = 1;
	hue=linspace(hue_s,hue_f, Ncolors);
	sat=linspace(sat_s,sat_f, Ncolors);
	val=linspace(val_s,val_f, Ncolors);
	cmap =  hsv2rgb([hue', sat', val']);

	colormap( cmap );

	%% plot ray images
	imagesc(xc,yc, img); colorbar;
	hold on;

	%% plot all faces
	Nf=size(faces)(2); % number of faces
	for i=1:Nf
		hold on;
		t=linspace(0,1,100);
		xf=faces{i}.vertex1(1) + (faces{i}.vertex2(1)-faces{i}.vertex1(1))*t;
		yf=faces{i}.vertex1(2) + (faces{i}.vertex2(2)-faces{i}.vertex1(2))*t;
		plot(xf,yf, 'k-');
	end

	axis('equal');
	hold off;



end