%% Harj. 1 Doku 18 ratk.   H1Doku18R.m

%   SUORITA SKRIPTI OSISSA: Vie kohdistin %% - rajoittimien sis??n ja 
%              CTR-ENTER (Mac: CMD-ENTER)

%% tapa 1 (Skalaarityyli, Matlab:n "v"a"arink"aytt"o"a", mutta kelpaa, ja
%          opettaa ohjausrakenteita.)
clf
N = 1000;  % T"at"a voit kasvattaa, mutta "al"a"alytt"om"amm"asti!
hit = 0;
hold on 
for k=1:N
    x = rand(1);
    y = rand(1);
    if(y<-x+1)
        plot(x,y,'bo');
        hit = hit+1;
    else
        plot(x,y,'r.');
    end
end
title(['kolmion alan arviointi:' num2str(sum(hit)/N)])
shg
disp(['kolmion alan arviointi:' num2str(hit/N)])

%% tapa 2 (Oikeaoppinen, opettele erityisesti t"am"a, 
%          opit Matlabin perusajattelua perusprimitiivien avulla.)
clf
N = 1000;  % T"at"a voit kasvattaa, mutta "al"a"alytt"om"amm"asti!
x = rand(N,1);
y = rand(N,1);
hit = y < -x+1;
plot(x(hit),y(hit),'bo',x(~hit),y(~hit),'r.');
shg
title(['kolmion alan arviointi:' num2str(sum(hit)/N)])
disp(['kolmion alan arviointi:' num2str(sum(hit)/N)])

%% tapa 3 (Sopii yleisemmillekin alueille, k"aytt"a"a inpolygon-
%          funktiota, joka menee Matlabin perusydinaleen ulkopuolelle.)
clf
N = 1000;  % T"at"a voit kasvattaa, mutta "al"a"alytt"om"amm"asti!
x = rand(N,1);
y = rand(N,1);
hit = inpolygon(x,y,[0 1 0], [0 0 1]);
plot(x(hit),y(hit),'bo',x(~hit),y(~hit),'r.');
title(['kolmion alan arviointi:' num2str(sum(hit)/N)])
shg
disp(['kolmion alan arviointi:' num2str(sum(hit)/N)])

%% Tyylittelya, inpolygon-funktion soveltamista vaikeampaan
%   alueeseen.
clf
N = 5000;
x = rand(N,1);
y = rand(N,1);
hit = inpolygon(x,y,[0.1 0.5 0.1 0.3], [0.1 0.5 .9 .5]);
plot(x(hit),y(hit),'bo',x(~hit),y(~hit),'r.');
title(['kappaleen alan arviointi:' num2str(sum(hit)/N)])
shg
disp(['kappaleen alan arviointi:' num2str(sum(hit)/N)])

