Matlab'da dönen bir küre canlandırmaya çalışıyorum ancak küre üzerindeki ışık onunla birlikte dönüyor. Bunun yerine, aydınlatma koordinat sistemi ile sabit kalırken kürenin dönmesini istiyorum. İşte kodumun şu anda üretmekte olduğu bir gif: Animation.Matlab'da Animasyonlu Yüzeyli Aydınlatma Kaliteleri
% Simulation Time
dt = 0.05;
time = 0:dt:5;
% Prep Figure
figure('Color',[1 1 1],'Renderer','zbuffer','ColorMap', [1,0,0; 0,0,1])
% Generate Sphere
[X,Y,Z] = sphere(20);
r = 0.75*25.4;
h = surf(r*X,r*Y,r*Z,Z,'FaceColor','interp');
hold on
% Adjust Axes, Lighting, and Shading
axis equal
view([40 25]);
light('Position',[1 1 1])
set(findobj(gca,'type','surface'),...
'FaceLighting','phong',...
'AmbientStrength',.3,'DiffuseStrength',.8,...
'SpecularStrength',.9,'SpecularExponent',25,...
'BackFaceLighting','unlit','EdgeColor','k')
filename = 'Rotation.gif';
for n = 1:36
rotate(h,[0 0 1],10,[0 0 0])
im = frame2im(getframe(1));
[imind,cm] = rgb2ind(im,256);
if n == 1;
imwrite(imind,cm,filename,'gif', 'Loopcount',inf,'DelayTime',dt);
else
imwrite(imind,cm,filename,'gif','WriteMode','append','DelayTime',dt);
end
end
Talebinizi anladığımdan emin değilim. Eğer bir küre kendi merkezinin etrafında dönüyorsa ve renkler (veya ışık etkisi) hala kalıyorsa, artık animasyon yoktur. Kıtalar ve okyanuslar, daha sonra eklenmek istediğiniz anlamına gelmezse, çevirmek? Aksi halde, bazı renk değerlerini hala (= ışık) tutmanız ve diğer bazı renk değerlerini (= kıtalar ve okyanuslar) ve her ikisini de (çoğaltır) ikiye katlamanız gerekir. – Wli
@Wli Soru daha iyi görünüyor: "[1 1 1] 'deki mutlak koordinat sistemindeki ışık nesnesi küre ile birlikte dönüyor gibi görünüyor. Gerçekten döndürme, yalnızca nesne nesnesi için çağrılır, ışık nesnesi için değil ". Işığın konumunu döngüde kontrol ettim, asla değişmedi. Yani, iyi ya da kötü için, matlab, döndürme çağrısının (sezgisel olmayan) sonra ışık efektlerini güncellememesi gibi görünüyor. – CitizenInsane
“VertexNormals” yüzeyinin güncellenmemesiyle ilgili bir sorun gibi görünüyor. http://www.mathworks.co.uk/matlabcentral/fileexchange/35210-rotate-m-function-fixed – nkjt