Python和Matlab怎么实现炫酷的3D旋转图
发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,本篇内容主要讲解"Python和Matlab怎么实现炫酷的3D旋转图",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"Python和Matlab怎么实现炫酷的
千家信息网最后更新 2026年10月31日Python和Matlab怎么实现炫酷的3D旋转图
本篇内容主要讲解"Python和Matlab怎么实现炫酷的3D旋转图",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"Python和Matlab怎么实现炫酷的3D旋转图"吧!
1.Python爬取美女照片
1.1 留恋忘返的网址
站长素材-分享综合设计素材的平台 (chinaz.com)
1.2 Python代码
#~~~~欢迎关注公众号:电力系统与算法之美~~~~~~~~~~~~· #~~~~~~~~~导入相关库~~~~~~~~~~~~~~~~~~~~·import urllib.requestfrom lxml import etree #~~~~~~~~~1.请求对象的定制~~~~~~~~~~~~~~~~~def create_request(page): if (page == 1): url = 'https://sc.chinaz.com/tag_tupian/YaZhouMeiNv.html' else: url = 'https://sc.chinaz.com/tag_tupian/yazhoumeinv_' + str(page) + '.html' # print(url) headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.104 Safari/537.36' } request = urllib.request.Request(url=url, headers=headers) return request #~~~~~~~~~~~2.获取网页的源码~~~~~~~~~~~~~~~~~~~~~def get_content(request): response = urllib.request.urlopen(request) content = response.read().decode('utf-8') return content #~~~~~~~~~~~~~~~~~~~3.下载图片~~~~~~~~~~~~~~~~~~~~~~~~~~def down_img(content): # 下载文件格式:urllib.request.urlretrieve('图片地址','文件的名字') tree = etree.HTML(content) name_list = tree.xpath('//div[@id = "container"]//a/img/@alt') # 一般涉及到图片的网站,都会进行懒加载,要把src换成src2(懒加载时,src会以src2出现) src_list = tree.xpath('//div[@id = "container"]//a/img/@src2') # print(len(name_list)) # print(len(src_list)) for i in range(len(name_list)): name = name_list[i] src = src_list[i] url = 'https:' + src url = url.replace('_s', '') urllib.request.urlretrieve(url=url, filename='./meinv/' + name + '.jpg') #~~~~~~~~~运行~~~~~~~~~~~~~~~if __name__ == '__main__': start_page = int(input('请输入起始页码:')) end_page = int(input('请输入终止页码:')) for page in range(start_page, end_page + 1): #~~~~1.定制请求对象~~~~~ request = create_request(page) #~~~~2.获取网页源码~~~~~ content = get_content(request) #~~~~~3.解析源码并下载图片~~~ down_img(content)1.3 结果
温馨提示:meinv这个文件夹是提前建立的。
2.Python实现
2.1 条件准备
由1中爬取的照片,我们就可以为接下来的事做准备啦。选取十二张照片,如图:
2.2 运行展示
运行出来比下面这个还炫酷:
2.3 Python实现
CSS3制作3D图片立方体旋转特效 ![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
3.Matlab实现
3.1 运行展示
动态视频:
3.2 Matlab代码
%====欢迎关注关注号:电力系统与算法之美function wlz3dpath='.\meinv\';%文件夹名称files=dir(fullfile(path,'*.jpg')); picNum=size(files,1); %% 遍历路径下每一幅图像for i=1:picNum fileName=strcat(path,files(i).name); img=imread(fileName); img=imresize(img,[120,120]); imgSet{i}=img;end %% fig axes设置fig=figure('units','pixels','position',[50 50 600 600],... 'Numbertitle','off','resize','off',... 'name','album3d','menubar','none');ax=axes('parent',fig,'position',[-0.5 -0.5 2 2],... 'XLim', [-6 6],... 'YLim', [-6 6],... 'ZLim', [-6 6],... 'Visible','on',... 'XTick',[], ... 'YTick',[],... 'Color',[0 0 0],... 'DataAspectRatioMode','manual',... 'CameraPositionMode','manual');hold(ax,'on')ax.CameraPosition=[5 5 5]; %% 用于绘制图片的网格[XMesh,YMesh]=meshgrid(linspace(-1,1,120),linspace(-1,1,120));ZMesh=ones(120,120); %% 绘制图片立方体surfPic(1)=surf(XMesh,YMesh,ZMesh,'CData',imgSet{mod(0,picNum)+1},'EdgeColor','none','FaceColor','interp');surfPic(2)=surf(XMesh,YMesh(end:-1:1,:),-ZMesh,'CData',imgSet{mod(1,picNum)+1},'EdgeColor','none','FaceColor','interp');surfPic(3)=surf(ZMesh,XMesh,YMesh(end:-1:1,:),'CData',imgSet{mod(2,picNum)+1},'EdgeColor','none','FaceColor','interp');surfPic(4)=surf(XMesh,ZMesh,YMesh(end:-1:1,:),'CData',imgSet{mod(3,picNum)+1},'EdgeColor','none','FaceColor','interp');surfPic(5)=surf(-ZMesh,XMesh,YMesh(end:-1:1,:),'CData',imgSet{mod(4,picNum)+1},'EdgeColor','none','FaceColor','interp');surfPic(6)=surf(XMesh,-ZMesh,YMesh(end:-1:1,:),'CData',imgSet{mod(5,picNum)+1},'EdgeColor','none','FaceColor','interp'); %% 依靠小立方体数据绘制中等立方体for i=1:6 surfPicA(i)=surf(surfPic(i).XData.*1.5,surfPic(i).YData.*1.5,surfPic(i).ZData.*1.5,... 'CData',surfPic(i).CData,'EdgeColor','none','FaceColor','interp','FaceAlpha',0.7); end %% 用来调整放大比例的矩阵resizeMat=[2 2 2.5;2 2 2.5;2.5 2 2; 2 2.5 2;2.5 2 2;2 2.5 2]; %% 最大图片绘制 % for i=1:6% surfPicB(i)=surf(surfPic(i).XData.*resizeMat(i,1),...% surfPic(i).YData.*resizeMat(i,2),...% surfPic(i).ZData.*resizeMat(i,3),...% 'CData',surfPic(i).CData,'EdgeColor',...% 'none','FaceColor','interp','FaceAlpha',0.7); % end lastDis=300;preDis=300;set(fig,'WindowButtonMotionFcn',@move2center) function move2center(~,~) xy=get(fig,'CurrentPoint'); preDis=sqrt(sum((xy-[300,300]).^2)); end fps=40;theta=0;rotateTimer=timer('ExecutionMode', 'FixedRate', 'Period',1/fps, 'TimerFcn', @rotateCube);start(rotateTimer) function rotateCube(~,~) theta=theta+0.02; ax.CameraPosition=[cos(theta)*5*sqrt(2),sin(theta)*5*sqrt(2),5]; if (~all([preDis lastDis]<150))&&any([preDis lastDis]<150) for ii=1:6 if preDis<150 surfPicA(ii).XData=surfPic(ii).XData.*resizeMat(ii,1); surfPicA(ii).YData=surfPic(ii).YData.*resizeMat(ii,2); surfPicA(ii).ZData=surfPic(ii).ZData.*resizeMat(ii,3); else surfPicA(ii).XData=surfPic(ii).XData.*1.5; surfPicA(ii).YData=surfPic(ii).YData.*1.5; surfPicA(ii).ZData=surfPic(ii).ZData.*1.5; end end end lastDis=preDis; end % 弃用方案:太卡% set(fig,'WindowButtonMotionFcn',@move2center) % function move2center(~,~)% xy=get(fig,'CurrentPoint');% dis=sum((xy-[300,300]).^2);% for ii=1:6% if dis<200% surfPicA(ii).XData=surfPic(ii).XData.*resizeMat(ii,1);% surfPicA(ii).YData=surfPic(ii).YData.*resizeMat(ii,2);% surfPicA(ii).ZData=surfPic(ii).ZData.*resizeMat(ii,3);% else% surfPicA(ii).XData=surfPic(ii).XData;% surfPicA(ii).YData=surfPic(ii).YData;% surfPicA(ii).ZData=surfPic(ii).ZData;% end % end% % % % end end到此,相信大家对"Python和Matlab怎么实现炫酷的3D旋转图"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
图片
文件
立方体
运行
源码
照片
代码
内容
对象
文件夹
电力
电力系统
算法
系统
素材
网站
网页
页码
之美
准备
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
广州大一互联网络科技有限公司
美国互联网保险保险科技
关于新基建和互联网科技
互联网科技股票
银优互联网科技有限公司
长亮科技 互联网金融
互联网金融和金融科技
无锡溥仪互联网科技有限公司
太原新华互联网科技学校怎么样
青海省互联网新科技
新兴科技互联网创新大赛颁奖典礼
互联网公司黑科技创始人
企晟互联网信息科技有限公司
烟台灵鸽互联网科技有限公司
张召忠谈中国互联网科技
宇信科技在杭州互联网排第几
从那以后互联网科技有限公司
下一代互联网重大应用科技园
容联科技互联网电商
互联网科技职业技能培训学校
广东猪兼强互联网科技有限公司
国智互联网科技
智网互联网科技
菲比寻常互联网科技
卓越科技互联网 招聘
北京三清互联网科技
华夏恒生互联网科技013171
互联网公司高科技产品
江苏互联网智能科技产品出厂价
互联网科技职业技能培训学校