MATLAB Shorts Mini Hack大赛来袭

描述

2024 年 10 月 7 日 - 11 月 10 日,加入 MATLAB Shorts Mini Hack 大赛!

用 ≤2,000 个字符的 MATLAB 代码来创建 12s 短片,或者围观点赞现有作品,或者对现有作品进行再创作!

用有限的代码,释放你无的创造力!

先 / 睹 / 为 / 快

以下作品使用了 613 个字符的 MATLAB 代码完成。感兴趣的你也可以在自己的电脑上跑一下,执行有声哦:

作者注释:

Eric Ludlam: 音频是由我编写的振荡器生成的,该振荡器由这个 minihack 脚本控制,以确保它与视频同步。请参阅下面 pumpspring 的注释部分。

Pumpspring 是从去年比赛中我同名的 minihack 改编而来的,这样我就可以尝试生成声音。由于声音生成不是 minihack 的一部分,我可以将其注释掉以节省字符。

function drawframe(f)
    persistent P Srf Zx
    spring=sinpi(f/24)+2;


    n=300;% Resolution of the sphere
    S=10; % Number of spirals
    w=.1/spring;% Thickness of the ribbon.
    nb=12;% Number of bumps in the punkin
    % Theta goes around S times, with n verts per round.
    T=linspace(0,S*2,n*S);
    T=[T;T];% top and bottom of ribbon
    % Phi slowly goes from -.5 to .5 (top+bottom of sphere) with same # verts
    % as theta.  
    P=linspace(-.5+w,.5,3000);
    %P=-.5:.0003:.5;
    P=[P;P-w];% top and bottom of ribbon, thickness of w.
    % Radius of punkin has bumps.  R modulates # of bumps.
    R=1-(1-mod(T*nb,2)).^2/15;
    % Make the surface coordinates
    X=cospi(P).*cospi(T);
    Y=cospi(P).*sinpi(T);


    if f==1
        Z=(.8+(0-(P*2).^4)*.2).*sinpi(P);
        Zx=max(Z,[],'all');


        % Draw
        Srf=surf(R.*X,R.*Y,R.*Z,'FaceColor','#f71','EdgeColor','n');
        surface(X/12,Y/12,Z/2+.7,'FaceColor','#080','EdgeColor','n');
        camlight
        lighting g
        material([.6 .9 .3 2 .5])
        daspect([1 1 1]);
        axis([-1 1 -1 1 -3 .5],'off');
        set(gca,'pos',[0 0 1 1],'clipping','off');
        set(gcf,'color','w');
    end
    Z2=(.8+(0-(P*2).^4)*.2).*sinpi(P)*spring;
    Z2x=max(Z2,[],'all');
    set(Srf,'ZData',Z2-diff([Zx Z2x]));
    %% Generate a tone:
    % Tone is based on how sproinged the pumpkin is.
    %springnorm = (spring-1)/2;
    % AS is "audio syncrhonizer" object I wrote for this purpose.
    %AS.osc.freq = 80-springnorm^4*20;
    %AS.osc.volume = springnorm^5;
为什么要参与?

创意表达:用 MATLAB 将你的想法以短片方式呈现出来

小白友好:没有经验也没关系,欢迎所有人参与

社区互动:为你喜欢的作品投票,或对现有作品进行再创作

赢取大奖:还可能收获令人兴奋的奖励(奖金、礼品卡、纪念衫等)! 

如何参与?

使用 MATLAB 代码创造你的 12s 精彩短片

本次竞赛持续 5 周:2024 年 10 月 7 日 00:00 - 11 月 10 日 23:59(美东时间)

提交作品参与比赛,或参与互动,为你喜欢的任意多的作品投票等

从社区中汲取创作灵感,加入你自己的创意,对现有作品进行再创作,使其成为你的作品

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分