MATLAB跳動的愛心

520,一個會動的心~~~

function?particleHeart2
% @author : slandarer% 所需匿名函數
col1Func=@(n)?repmat([255,158,196]./255,[n,1])+repmat([-39,-81,-56]./255,[n,1]).*rand([n,1]);
col2Func=@(n)?repmat([118,156,216]./255,[n,1])+repmat([137,99,39].*.1./255,[n,1]).*rand([n,1]);
aFunc=@(n) eval(char([100,105,115,112,40,39,20316,32773,58,115,108,97,110,100,97,114,101,114,39,41]));
szFunc=@(n)?rand([n,1]).*15+8;hold?on
% 計算愛心點位置并繪制愛心
n=120;
x=linspace(-3,3,n);?
y=linspace(-3,3,n);
z=linspace(-3,3,n);
[X,Y,Z]=ndgrid(x,y,z);
F=((-(X.^2).*(Z.^3)-(9/80).*(Y.^2).*(Z.^3))+((X.^2)+(9/4).*(Y.^2)+(Z.^2)-1).^3);
FV=isosurface(F,0);
hpnts=FV.vertices;
hpnts=(hpnts-mean(hpnts)).*[.75,.7,.7];
hpnts=hpnts+rand(size(hpnts)).*.7;
heartHdl=scatter3(hpnts(:,1),hpnts(:,2),hpnts(:,3),'.','SizeData',5,'CData',col1Func(size(hpnts,1)));% 計算星星位置并繪制星星
sx1=rand([2e3,1]).*120-60;
sy1=rand([2e3,1]).*120-60;
sz1=ones(size(sx1)).*-30;
star1Hdl=scatter3(sx1,sy1,sz1,'.','SizeData',szFunc(length(sx1)),'CData',col2Func(size(sx1,1)));
sx2=rand([2e3,1]).*120-60;
sy2=rand([2e3,1]).*120-60;
sz2=rand([2e3,1]).*120-20;
star2Hdl=scatter3(sx2,sy2,sz2,'.','SizeData',szFunc(length(sx2)),'CData',[1,1,1]);% 坐標區域修飾
ax=gca;
ax.XLim=[-30,30];
ax.YLim=[-30,30];
ax.ZLim=[-40,30];
ax.Projection='perspective';
% ax.DataAspectRatio=[1,1,1];
view(-42,14);aFunc(1);
ax.Color=[0,0,0];
ax.XColor='none';
ax.YColor='none';
ax.ZColor='none';
set(ax,'LooseInset',[0,0,0,0]);
set(ax,'Position',[-1/5,-1/5,1+2/5,1+2/5])
set(gcf,'Color',[0,0,0]);% 旋轉愛心和星星
theta1=0;theta2=0;theta3=0;
while1theta1=theta1-0.01;theta2=theta2-0.003;theta3=theta3-0.02;set(heartHdl,'XData',hpnts(:,1).*cos(theta1)-hpnts(:,2).*sin(theta1),...'YData',hpnts(:,1).*sin(theta1)+hpnts(:,2).*cos(theta1))set(star1Hdl,'XData',sx1.*cos(theta2)-sy1.*sin(theta2),...'YData',sx1.*sin(theta2)+sy1.*cos(theta2))set(star2Hdl,'XData',sx2.*cos(theta3)-sy2.*sin(theta3),...'YData',sx2.*sin(theta3)+sy2.*cos(theta3))pause(0.05)
end
end

function?particleHeart2
% @author : slandarer% 所需匿名函數
col1Func=@(n)?repmat([255,158,196]./255,[n,1])+repmat([-39,-81,-56]./255,[n,1]).*rand([n,1]);
col2Func=@(n)?repmat([118,156,216]./255,[n,1])+repmat([137,99,39].*.1./255,[n,1]).*rand([n,1]);
aFunc=@(n) eval(char([100,105,115,112,40,39,20316,32773,58,115,108,97,110,100,97,114,101,114,39,41]));
szFunc=@(n)?rand([n,1]).*15+8;hold?on
% 計算愛心點位置并繪制愛心
n=120;
x=linspace(-3,3,n);?
y=linspace(-3,3,n);
z=linspace(-3,3,n);
[X,Y,Z]=ndgrid(x,y,z);
F=((-(X.^2).*(Z.^3)-(9/80).*(Y.^2).*(Z.^3))+((X.^2)+(9/4).*(Y.^2)+(Z.^2)-1).^3);
FV=isosurface(F,0);
hpnts=FV.vertices;
hpnts=(hpnts-mean(hpnts)).*[.75,.7,.7];
hpnts=hpnts+rand(size(hpnts)).*.7;
heartHdl=scatter3(hpnts(:,1),hpnts(:,2),hpnts(:,3),'.','SizeData',5,'CData',col1Func(size(hpnts,1)));% 計算星星位置并繪制星星
sx1=rand([2e3,1]).*120-60;
sy1=rand([2e3,1]).*120-60;
sz1=ones(size(sx1)).*-30;
star1Hdl=scatter3(sx1,sy1,sz1,'.','SizeData',szFunc(length(sx1)),'CData',col2Func(size(sx1,1)));
sx2=rand([2e3,1]).*120-60;
sy2=rand([2e3,1]).*120-60;
sz2=rand([2e3,1]).*120-20;
star2Hdl=scatter3(sx2,sy2,sz2,'.','SizeData',szFunc(length(sx2)),'CData',[1,1,1]);% 坐標區域修飾
ax=gca;
ax.XLim=[-30,30];
ax.YLim=[-30,30];
ax.ZLim=[-40,30];
ax.Projection='perspective';
% ax.DataAspectRatio=[1,1,1];
view(-42,14);aFunc(1);
ax.Color=[0,0,0];
ax.XColor='none';
ax.YColor='none';
ax.ZColor='none';
set(ax,'LooseInset',[0,0,0,0]);
set(ax,'Position',[-1/5,-1/5,1+2/5,1+2/5])
set(gcf,'Color',[0,0,0]);% 旋轉愛心和星星
theta1=0;theta2=0;theta3=0;
while1theta1=theta1-0.01;theta2=theta2-0.003;theta3=theta3-0.02;set(heartHdl,'XData',hpnts(:,1).*cos(theta1)-hpnts(:,2).*sin(theta1),...'YData',hpnts(:,1).*sin(theta1)+hpnts(:,2).*cos(theta1))set(star1Hdl,'XData',sx1.*cos(theta2)-sy1.*sin(theta2),...'YData',sx1.*sin(theta2)+sy1.*cos(theta2))set(star2Hdl,'XData',sx2.*cos(theta3)-sy2.*sin(theta3),...'YData',sx2.*sin(theta3)+sy2.*cos(theta3))pause(0.05)
end
end

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/906383.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/906383.shtml
英文地址,請注明出處:http://en.pswp.cn/news/906383.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Go的單測gomock及覆蓋率命令

安裝gomock: go get github.com/golang/mock/gomockgo get github.com/golang/mock/mockgen 使用 mockgen 生成 mock 代碼: 參考 mockgen -sourceservice/user.go -destinationservice /mocks/mock_user_service.go -packagemocks go test -coverprofilecoverage.ou…

vue添加loading后修復頁面渲染問題

問題:想要通過選擇流程(1)后加載出角色信息(2) 選擇后無法展示經過排查,再調用接口給角色數組賦值后,頁面在接口調用完之前就已經渲染完成。接口是采用的異步加載解決:loadingRoles…

Python入門手冊:Python簡介,什么是Python

在當今數字化時代,編程語言猶如一把把神奇的鑰匙,能夠開啟通往技術世界的大門。而Python,無疑是其中最閃耀的一顆明星。今天,就讓我們一起走進Python的世界,從它的起源、應用領域以及優缺點三個方面,來全面…

用PyTorch在超大規模下訓練深度學習模型:并行策略全解析

我猜咱們每個人肯定都累壞了,天天追著 LLM 研究社區跑,感覺每天都冒出個新的最牛模型,把之前的基準都給打破了呢。要是你好奇為啥創新速度能這么快,那主要就是研究人員能夠在超大規模下訓練和驗證模型啦,這全靠并行計算…

提示工程(Prompt Engineering)應用技巧

Prompt(提示)就是用戶與大模型交互輸入的代稱。即我們給大模型的輸入稱為 Prompt,而大模型返回的輸出一般稱為 Completion。 Prompt 需要清晰明確地表達需求,提供充足上下文,使語言模型能夠準確理解我們的意圖。更長、…

[原創](現代Delphi 12指南):[macOS 64bit App開發]: 如何獲取目錄大小?

[作者] 常用網名: 豬頭三 出生日期: 1981.XX.XX 企鵝交流: 643439947 個人網站: 80x86匯編小站 編程生涯: 2001年~至今[共24年] 職業生涯: 22年 開發語言: C/C++、80x86ASM、Object Pascal、Objective-C、C#、R、Python、PHP、Perl、 開發工具: Visual Studio、Delphi、XCode、…

Unity入門學習(四)3D數學(4)之四元數Quaternion

目錄 一、什么是四元數 二、和歐拉角的關聯以及為什么會出現四元數 三、四元數的基本組成 Unity中的表示: 四、四元數Quaternion這個類中具有的屬性和方法 常用屬性 核心方法 五、四元數之間的計算 1. 叉乘(組合旋轉) 2. 點積&#…

活體檢測接口全面評測:2025年活體檢測選擇指南

一、活體檢測:數字化時代的身份驗證基石 活體檢測是一種通過分析人體生物特征動態變化來驗證身份真實性的技術,其核心在于區分真實人體與偽造樣本(如照片、視頻、3D 面具等)。技術原理主要基于以下維度: 多模態數據采…

物聯網工程畢業設計課題實踐指南

1. 智能家居控制系統 1.1 基于ZigBee的智能家居控制 實踐過程 硬件選型主控:CC2530/CC2531傳感器:溫濕度、光照、人體紅外執行器:繼電器、電機、LED燈系統架構 A[傳感器層] --> B[ZigBee網絡] B --> C[網關] C --> D[云平臺] D --> E[手機APP] 開…

電網中竊電分析:概念、算法與應用

一、引言 在現代電力系統中,竊電行為是一個嚴重影響電網經濟運行和供電秩序的問題。竊電不僅導致供電企業的經濟損失,破壞了電力市場的公平性,還可能對電網的安全穩定運行構成威脅,甚至引發安全事故。隨著科技的不斷進步&#xff…

一洽小程序接入說明

接入說明 文檔以微信小程序作為示例介紹,其他小程序接入操作與此類似 1、添加校驗文件 開發者使用微信小程序提供的 webview 組件可以實現打開一洽的H5對話 小程序的“域名配置”中添加一洽的對話域名地址,需要獲取校驗文件提供給一洽放在域名根目錄下…

【數據結構 -- AVL樹】用golang實現AVL樹

目錄 引言定義旋轉方式LL型RR型LR型RL型 實現結構獲取結點高度平衡因子更新高度左旋右旋插入結點中序遍歷 引言 AVL樹,基于二叉搜索樹通過平衡得到 前面我們知道,通過🔗二叉搜索樹可以便捷快速地查找到數據,但是當序列有序時&am…

PyTorch圖像識別模型和圖像分割模型體驗

文章目錄 倉庫地址練習:圖像自動識別模型數據集說明模型訓練和保存導入數據集搭建神經網絡訓練和保存實現 模型測試測試代碼測試結果 練習:圖像自動分割模型模型訓練和保存加載數據集搭建神經網絡訓練和保存 模型測試測試代碼測試效果 倉庫地址 圖像識別…

威綸通觸摸屏IP地址設定步驟及程序下載指南

在使用威綸通觸摸屏時,正確設定IP地址以及完成程序下載是確保其正常運行和實現功能的關鍵步驟。本文將詳細介紹威綸通觸摸屏IP地址設定步驟及程序下載的方法。 一、IP地址設定步驟 (一)前期準備 確保威綸通觸摸屏已經通電并啟動&#xff0…

一文讀懂|大模型智能體互操作協議:MCP/ACP/A2A/ANP

導讀 隨著推理大模型的出現(deepseek,Qwen3等),進一步地推進了大模型的智能體系統發展。然而,如何使智能體更好的調用外部工具,智能體與智能體之間如何有機地協作,仍然沒有一個完美的答案。這篇…

前端下載ZIP包方法總結

在前端實現下載 ZIP 包到本地,通常有以下幾種方法,具體取決于 ZIP 包的來源(靜態文件、后端生成、前端動態生成等): 方法 1:直接下載靜態文件(最簡單) 如果 ZIP 包是服務器上的靜態…

簡單使用Slidev和PPTist

簡單使用Slidev和PPTist 1 簡介 前端PPT制作有很多優秀的工具包,例如:Slidev、revealjs、PPTist等,Slidev對Markdown格式支持較好,適合與大模型結合使用,選喲二次封裝;revealjs適合做數據切換&#xff0c…

數據挖掘:從數據堆里“淘金”,你的數據價值被挖掘了嗎?

數據挖掘:從數據堆里“淘金”,你的數據價值被挖掘了嗎? 在這個數據爆炸的時代,我們每天都在產生海量信息:社交媒體上的點贊、網購時的瀏覽記錄,甚至是健身手環記錄下的步數。這些數據本身可能看似雜亂無章…

程序運行報錯分析文檔

zryhuawei:~/src/modules/Connect$ ./newbuild/OpConnectAidTool \WARNING: MYSQL_OPT_RECONNECT is deprecated and will be removed in a future version. replace into process_tracking (step_id,date,status,context_data,start_time,end_time,error_log) values(?,?,?…

基于flask+vue的電影可視化與智能推薦系統

基于flaskvue爬蟲的電影數據的智能推薦與可視化系統,能展示電影評分、評論情感分析等直觀的數據可視化圖表,還能通過協同過濾算法為用戶提供個性化電影推薦,幫助用戶發現更多感興趣的電影作品,具體界面如圖所示。 本系統主要技術架…