Matlab文字球之長安十二時辰

2021-09-25 09:06:34 字數 1393 閱讀 2761

使用matlab做乙個滾動的文字球,文字內容**於**《長安十二時辰》片段,至於為什麼節選《長安十二時辰》,當然是因為他最近火啊。有興趣也可以做滾動文字球之百家姓、之千字文、之萬物等。廢話少說,**如下:

function changan

%% 球的方程

t1 = linspace(0,2*pi,20);

t2 = linspace(-pi/2,pi/2,20);

[theta, pho] = meshgrid(t1,t2);

x = cos(pho).*cos(theta);

y = cos(pho).*sin(theta);

z = sin(pho);

%% 讀文字及處理

fid=fopen('長安十二時辰.txt','r');

data_changan=fscanf(fid,'%s');

fclose(fid);

expression=;

replace=;

data_new=regexprep(data_changan,expression,replace);%正規表示式

str=data_new(1:400);

%%colormat = jet(200);

id = randi(200,1,400);

surf([x,x(:,1)]/8,[y,y(:,1)]/8,[z,z(:,1)]/8,'facecolor','r','edgecolor','none');

camlight;

hold on;

arrayfun(@(i)text(x(i),y(i),z(i),str(i),'color',colormat(id(i),:)),1:400);

axis([-1.1,1.1,-1.1,1.1,-1.1,1.1]);

axis vis3d off;

set(gcf,'windowbuttonmotionfcn',@mywindowbuttonmotionfcn);

hold off;

function mywindowbuttonmotionfcn(hobj, eve)

cp = get(gca,'currentpoint');

view(cp(1,:));

endend

文字球隨著滑鼠的滾動而滾動。

​簡單說明:第一部分為球的方程;第二部分讀取文字《長安十二時辰.txt​》,並使用正規表示式regexprep把其中的標點符號刪掉只保留漢字;第三部分使用arrayfun把讀取到的文字放到球上,並且設定文字為不同的顏色使文字球好看一點;第四部分設定figure的windowbuttonmotionfcn,當滑鼠移動時,執行相應的callback函式,響應函式通過獲取座標軸的座標點currentpoint,通過設定圖形的當前視點來實現文字球的滾動。

Matlab寫文字txt換行

matlab關於文字檔案的操作函式基本都是繼承c語言的,但存在一些細微的差別。1.寫txt換行的實現 方法一 fid fopen filename.txt w fprintf fid,d r n a fclose fid 方法二 fid fopen filename.txt wt 加t表示以文字檔案...

MATLAB 如何匯入 txt文字

小試牛刀之matlab matlab 1.fopen搭配textscan 2.利用impordata匯入資料 3.採用load函式 在matlab gui的學習中,需要匯入各種格式的.txt檔案,心血來潮想總結一波。首先,利用uigetfile選擇檔案位置,命令如下 filename,pathnam...

使用MATLAB載入文字資料

體驗了pandas 資料載入的便捷性之後,突然間發現 matlab 原來也有類似的便捷功能。比如,文字檔案 data.txt 中有如下資料 載入操作如下 a load data.txt a 1 5 3 6 2 4 1 3 5 7 9 8 3 1 4 1 5 9 a a 1 5 3 6 2 4 1 3...