%% 4  Att illustrera plan i rummet med Matlab
%% 4.1 Plan triangel i rummet
% Takeaways
% Kommandot  fill3( lista_x , lista_y , lista_z ) fyller ut områden i rummet som begränsas av punkter vars första koordinater finns i  lista_x, andra koordinater i  lista_y  och tredje i  lista_z .
% Tillägget  'FaceAlpha'  kan sättat till ett tal mellan  0  och  1 , för att åstadkomma transparens.
% Om  A  är en matris ger kommandot  A( i , : )  rad  i  i  A .
% Tre punkter  p ,  q  och  r  i rummet, som inte ligger på en och samma linje, är hörn i en triangelyta  i rummet. Vill man illustrera den kan man göra det med kommandot  fill3  som ger en färglagd plan yta:
% fill3( [p(1) q(1) r(1)] , [p(2) q(2) r(2)] , [p(3) q(3) r(3)] ,'g')
%  där tillägget  'g'  bestämmer att ytan ska vara grön. När man använder  fill3  ska man samla punkternas första kooridnater i en första lista (vektor), sen de andra i en andra lista och sist tedje koordinaterna i en tedje lista.
% Pröva detta med tre fritt valda punkter i rummet:



%
% Det kan vara lite svårt att orientera sig när man ruskar på figuren, eftersom axlarna i bland döljs av ytan. Man kan göra den genomskinlig i olika grad genom att använda tillägget 'FaceAlpha' och sätta det till ett tal mellan  0  och  1 , där  0  står för helt genomskinlig (ytan syns då inte) och 1 för helt ogenomskinlig (axlar kan då döljas av ytan). Termen Alpha Channel används inom bildbehandling för att speca hur pixlar som ligger ovanpå varandra ska blandas för att skapa illustion av transparens.
% Pröva detta med  'FaceAlpha', 0.5 :



% Som du märker blir det ganska trist att knappa in listorna med  x- , y-  och z-koordinater. Det blir lättare om man först sätter ihop de tre kolonnvektorerna för punkterna  till en matris med (tre rader och) tre kolonner:  A = [ p q r ] . Listan på x-koordinater står nu som första rad i  A . Den kan man komma åt med  A( 1 , : ) . Förklaring till kommandot kommer senare. På liknande vis kommer man åt punkternas y- och z-koordinater.
% Pröva detta nu:



%
%% 4.2  Plan med given ekvation  ax + by + cz = d
% Takeaway
% Hur man skaffar fyra punkter i ett plan ovan för en rektangel i x,y-planet när planet är givet av en ekvation.
% Man kan använda  fill3  med fyra punkter i rummet för att illustrera ett plan genom punkterna med
% fill3( lista_x ,  lista_y , lista_z  )
% där  lista_x , lista_y , lista_z  är radvektorer med de fyra punkternas x- , y- respektive z-koordinater.
% Om  punkterna är  p , q , r  och  s  , skrivna som kolonnvektorer, är enklaste sättet att skaffa sig dessa listor att först göra en matris med pukternas kooridnater som kolonner:
% A = [ p q r s ]
% sen är
% lista_x = A( 1 , : ) ,  lista_y = A( 2 , : )  och  lista_z = A( 3 , :)
% Hur skaffar man säg då fyra rimliga punkter i ett givet plan  ax + by + cz = d  ? Vi ska förutsätta att  c\not=0 och väljer först fyra hörn i en axelparallell rektangel i  x, y - planet:
%
% Till var och en av  dessa fyra punkter i  x, y - planet behöver vi bestämma en  z-koordinat, så att vi får punkter i planet vi ska illustrera. Den tredje koordinaten i varje punkt i planet är bestämd av de två andra enligt
% z = ( d - ax -by ) / c
% (eftersom vi förutsatt att c inte är 0) . Vi vill beräkna detta värde för flera värden på x och y och definierar därför en anonym funktion med
% z_koord = @( x , y ) (d - a*x - b* y) / c
% Uppgift 4.1
% a) Illustrera planet med ekvation  3x - 2y + 2z = 5.
% b)  Välj en punkt i planet och markera planets normal med ett linjesegement där.
% Lösning



%
% Uppgift 4.2
% a)  Illustrera planen  2x + y + 4z = 4  och  2x + 3y + 8z = 8  i samma figur.
% b)  Lös ekvationssystemet
% \left\{\begin{array}{rcrcrcr}
% 2x & + & y & + & 4z &=& 4 \\
% 2x & + & 3y & + & 8z & = & 8
% \end{array}\right.
%      med utökad koefficientmatris,  rref  samt papper och penna.
% c)  Illustrera lösningen i samma figur som planen.

