這裡我用的空間是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...