• Remix
  • Share
  • New Entry

on 21 Nov 2023
  • 8
  • 91
  • 0
  • 0
  • 528
drawframe(1);
Write your drawframe function below
function drawframe(f)
% Define parameters
persistent powderBed laserPower laserWidth
if isempty(powderBed)
powderBed = zeros(80); % Initialize powder bed
powderBed(30:50, 30:50) = 1; % Initial powder distribution (square region)
laserPower = 5; % Laser power
laserWidth = 5; % Laser width
end
% Laser position (moving in a zigzag pattern)
x = mod(f, 20) * 4 + 4;
y = 4 * floor(f / 20) + 4;
% Simulate laser melting
for i = x - laserWidth:x + laserWidth
for j = y - laserWidth:y + laserWidth
if i > 0 && i <= 80 && j > 0 && j <= 80
distance = sqrt((i - x)^2 + (j - y)^2);
if distance <= laserWidth
powderBed(i, j) = powderBed(i, j) - laserPower * (1 - distance / laserWidth);
end
end
end
end
% Plotting powder bed
imagesc(powderBed);
colormap('Jet');
colormap(flipud(colormap))
colorbar;
% Hide axes
axis off;
end
Animation
Remix Tree