使用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...