matlab練習程式(渲染三原色)

2022-06-10 14:21:10 字數 1272 閱讀 4383

這裡我用的空間是x向右為正,y向下為正,z向螢幕裡面為正。相當於標準右手系繞x軸旋轉了180度。

將三個點光源放在

r = [0.3,0,0.5];

g = [0.3,-0.5*cos(pi/6),-0.5*sin(pi/6)];

b = [0.3,0.5*cos(pi/6),-0.5*sin(pi/6)];

這三個位置上,向四周發射光線,取光線到y-z平面的模的倒數作為光的強度。

影象如下:

程式如下:

clear all;

close all;

clc;

r = [0.3,0,0.5

];g = [0.3,-0.5*cos(pi/6),-0.5*sin(pi/6

)];b = [0.3,0.5*cos(pi/6),-0.5*sin(pi/6

)];imgr1=;imgr2=;

imgg1=;imgg2=;

imgb1=;imgb2=;

for y=-1:0.004:1

imgr1=;imgg1=;imgb1=;

for z=-1:0.004:1

pm=[0

,y,z];

lightr=pm-r;

lightg=pm-g;

lightb=pm-b;

imgr=1/norm(lightr);

imgg=1/norm(lightg);

imgb=1/norm(lightb);

imgr1=[imgr1 imgr];

imgg1=[imgg1 imgg];

imgb1=[imgb1 imgb];

endimgr2=[imgr2;imgr1];

imgg2=[imgg2;imgg1];

imgb2=[imgb2;imgb1];

end[h w]=size(imgr2);

img=zeros(h,w,3

);img(:,:,

1) =mat2gray(imgr2);

img(:,:,

2) =mat2gray(imgg2);

img(:,:,

3) =mat2gray(imgb2);

imshow(img)

imwrite(img,

'img.png

')

三原色原理知多少

rgb顏色原理是用三種原色 紅 綠 藍的色光以不同的比例相加,以產生多種多樣的色光。rgb的命名 於三種相加原色的首字母 red 紅 green 綠 blue 藍 三原色的原理不是出於物理原因,而是由於生理原因造成的。例如,紅光和綠光按某種比例復合,對三種錐形細胞 刺激後產生的色覺可與眼睛對單純的黃...

三原色原理知多少

rgb顏色原理是用三種原色 紅 綠 藍的色光以不同的比例相加,以產生多種多樣的色光。rgb的命名 於三種相加原色的首字母 red 紅 green 綠 blue 藍 三原色的原理不是出於物理原因,而是由於生理原因造成的。人的眼睛內有幾種辨別顏色的錐形感光細胞,分別對黃綠色 綠色和藍紫色 或稱紫羅蘭色 ...

PS自學教程之色彩三原色RGB

螢幕上的任何乙個顏色都可以用rgb來表達和記錄,就像中國菜裡面的糖 鹽 味精可以混合成不同調料。類似 糖3克 鹽1克 等,來表示調料的多少,在電腦中,rgb的所謂 多少 就是指亮度,並使用整數來表示。按照計算,256級的rgb色彩總共能組合出約1678萬種色彩,即256 256 256 167772...