一种基于魔方模型三维动态数据展示的方法
文献发布时间:2023-06-19 11:19:16
技术领域
本发明涉及一种三维动态数据展示的方法,尤其涉及一种使用魔方模型三维动态数据展示的方法,属于互联网领域。
背景技术
近年来,全球掀起了互联网行业迅速生长的风潮,进而促使大量新兴互联网站点和网页出现,互联网用户获取信息的方式已经产生了巨大的变化。就国内而言,根据2020年国家相关部门发布的《中国互联网络发展状况统计报告》,可以看到,截至2020年6月,我国网民规模达9.40亿,较2020年3月增长3625万,互联网普及率达67.0%,较2020年3月提升2.5个百分点。
目前,网页又可分为以超链接为主要方式的二维网页和依托web3D技术的三维网页。简单说,二维网页相当于在一张平面白纸上是以静态文字和图画来表述内容,通过FLASH、DRAMWEAVER等软件的“超级连接”的功能形成内容彼此有机交织,因此,目前所使用的二维网页,相当于是一本页页相连的“杂志”。这种交互方式的优点是简单易于操作,缺点是单一,超链接的方式,交互能力较弱,只能上下滑动(参考期刊2008科协论坛(下半月)浅谈网页设计中三维空间感的营造)。
传统的二维网页通常只能具有排列文字和图像的平面化特征,而三维空间网页并不特指使用了三维软件或技术制作的网页,具有一定的深度感和纵深感网页都可以称为三维空间网页;我们平常看到的平面图像只是反映了物体上下、左右的二维关系,浏览者无法体验到多维空间带来的乐趣。
发明内容
针对海量动态信息在的web页面和小程序的三维展示问题,本发明的目的在于提供一种基于魔方模型三维动态数据展示的解决方法。三维空间是从根本的视觉空间入手,在传统的二维平面图像的上下、左右关系中增加了前后纵深感,这不仅在视觉上显示了其空间层次丰富的效果,在互动设计上,人们通过鼠标或者手势的操控可以进入到网页内前进或后退的操控整个网页,浏览者可以体验到多维空间带来的乐趣。所以,三维空间感不论在视觉上还是交互上对浏览者都具有相当大的吸引力。
本发明的技术方案为:
一种基于魔方模型三维动态数据展示的方法,其步骤包括:
1)使用页面编辑语言定义六个块级元素作为三维魔方模型的六个基础面并使用该页面编辑语言中的一设定标签将该六个基础面包裹进去;
2)在该设定标签中定义3D元素距视图的距离,使二维平面产生三维透视效果;
3)将该六个基础面分别进行平移、旋转、缩放,构建成三维魔方模型;
4)建立一页面资源池,用于存储在各所述基础面上进行展示的页面;
5)将页面资源池相应的页面分配到该三维魔方模型的六个基础面;
6)设定向上旋转、向下旋转、向左旋转及向右旋转四个交互触发手势并为每一交互触发手势设置一对应的三维魔方模型旋转处理方法;当检测识别出第i个交互触发手势时,执行第i个交互触发手势对应的三维魔方模型旋转处理方法i,对三维魔方模型进行相应旋转,显示对应基础面上的页面。
进一步的,使用HTML+JS+CSS语言应用vue开发框架建立三维魔方模型,将海量动态数据分散到魔方的各个面进行展示;其中使用HTML中的
进一步的,在该整体的
进一步的,利用css的transform属性将该六个基础面分别进行平移、旋转、缩放,构建成三维魔方模型。
进一步的,步骤4)中,为该页面资源池中的每一页面分别一调用值;然后定义两个数组xlist、ylist,将各个页面的调用值分别填入两个数组xlist、ylist中;然后调用两个数组xlist、ylist里的调用值初始化魔方六个基础面要显示内容,即将页面资源池相应的页面分配到该三维魔方模型的六个基础面。
进一步的,将页面资源池中的每一页面分别生成一对应组件,然后将其插入对应基础面进行展示。
本发明使用魔方多面动态信息展示的方法,提出了一种三维模型、无限延展的思路:使用HTML+JS+CSS语言应用vue开发框架建立三维魔方模型,将海量动态数据分散到魔方的各个面进行展示。
与传统的二维网页通常只能具有排列文字和图像的平面化特征不同,本发明通过HTML+JS+CSS语言在二维平面中的改变大小、添加阴影、图片拼贴等编排手法所营造出来三维魔方模型,将海量信息分割成不同的小块,生成不同的组件,最后再插入魔方的各个页面进行展示。在互动设计上,人们可以通过鼠标或者手势的操控魔方上下左右转动,本方法的具体流程示意如图1所示。
Step1:使用HTML(超文本标记语言)的
Step2:在整体的
Step3:利用css的transform属性将六个基础面按照一定的形式分别进行平移、旋转、缩放,构建成三维的立方体魔方模型,实现效果示意如图4所示;
Step4:建立相应的页面资源池,分别使用一个唯一的值代表这些页面,方便进行调用,示例如下;
页面1(调用值:1)、页面2(调用值:2)……页面n(调用值:n)
Step5:定义xlist、ylist两个数组,将各个页面代表的值填入这两个数组,示例如下;
xlist=[1,3,5…n]
ylist=[2,4,6…n-1]
Step6:通过调用xlist、ylist两个数组里的调用值初始化魔方六个基础面要显示内容,即将页面资源池相应的页面放入魔方的六个基础面;
Step7:先设定向上旋转、向下旋转、向左旋转及向右旋转四个交互触发手势并为每一交互触发手势设置一对应的三维魔方模型旋转处理方法,当检测识别出相应的交互触发手势i(比如向下手势),并执行交互触发手势i对应的三维魔方模型旋转处理方法i,对三维魔方模型进行相应旋转(即向下旋转魔方),显示对应基础面上的页面,实现效果示意如图5所示。
与现有技术相比,本发明的积极效果为:
本发明不仅在视觉显示上增添了页面空间层次效果,而且在互动设计上,人们通过鼠标或者手势的操控就可以进入到网页内前进或后退的操控整个网页,使浏览者可以体验到多维空间带来的乐趣。本发明提供的三维空间感不论在视觉上还是交互上对浏览者都具有相当大的吸引力。
附图说明
图1为本发明的方法流程示意图;
图2为初始二维平面示意图;
图3为二维平面产生三维透视效果图;
图4为三维魔方构建示意图;
图5为三维魔方转动示意图;
图6为本发明三维魔方模型图;
图7为初始化后魔方展示效果图;
图8为本发明魔方转动展开示意图。
具体实施方式
下面结合附图对本发明进行进一步详细描述。
(一)构建三维魔方模型
在新建的vue工程里,新建MagicCube.vue页面,使用css3的transform属性构建三维魔方模型,具体实现方式如下所示:
step1:建立魔方六个基础面div;
Step2:利用css的perspective属性指定了观察者与z=0平面的距离,使具有三维位置变换的元素产生透视效果,配置文件格式如下
Step3:生成基础面的div的样式,定义div的长度、宽度、位置及背景,配置文件格式如下
.box-page{
height:37rem;
width:32rem;
position:absolute;
backface-visibility:hidden;
background-image:url("../../assets/ic_cube_single.png");
background-size:100%100%;
}
Step4:使用CSS3:nth-child()选择器匹配父元素box-page中的第一个元素,将基础面往Z轴方向平移一段距离,生成魔方的front面,配置文件格式如下
Step5:使用CSS3:nth-child()选择器匹配父元素box-page中的第二个元素,将基础面往Z轴方向平移一段距离,然后以Y轴为中心倾斜90度,生成魔方的right面,配置文件格式如下
Step6:使用CSS3:nth-child()选择器匹配父元素box-page中的第三个元素,将基础面往Z轴方向平移一段距离,然后以X轴为中心倾斜90度,再在将div进行一定放缩,生成魔方的top面,配置文件格式如下
Step7:使用CSS3:nth-child()选择器匹配父元素box-page中的第四个元素,将基础面往Z轴方向平移一段距离,然后以Y轴为中心倾斜-90度,生成魔方的top面,配置文件格式如下
Step8:使用CSS3:nth-child()选择器匹配父元素box-page中的第五个元素,将基础面往Z轴方向平移一段距离,然后以X轴为中心倾斜-90度,再在将div进行一定放缩,生成魔方的bottom面,配置文件格式如下
Step9:使用CSS3:nth-child()选择器匹配父元素box-page中的第六个元素,将基础面往Z轴方向平移一段距离,然后以Y轴为中心倾斜180度,生成魔方的back面,配置文件格式如下
执行完以上步骤后即可完成在二维平面上构建三维魔方模型,具体模型如图6所示。
(二)定义要展示的所有的页面组件
在MagicCube.vue页面里定义两个数组xlist与ylist,使用import导入所有的页面组件,将需要展示的页面值填入数据xlist与ylist,xlist与ylist的值如下所示;
xlist=[x0,x1,x2,……,xn]
ylist=[y0,y1,y2,……,yn]
其中,xn代表第n个页面,n可以是10,也可以是100,同理yn也是一样,将页面资源池里的页面分成两组,通过页面值去调用页面,比如x1就代表了页面1,x2代表页面2。
(三)初始化魔方六面要显示的页面
使用vue的component组件将xlist与ylist各个值页面导入魔方六个面的div里面,各个面的预设值为:
FrontPageName=xlist[0]
RigthPageName=xlist[1]
BackPageName=xlist[2]
LeftPageName=xlist[3]
TopPageName=ylist[0]
BottomPageName=ylist[n]
初始化后魔方展示效果如图7所示。页面只有要显示的时候才进行分配,以右转为例,初始为魔方前面(显示页面0,代表值为x0),魔方右面(显示页面1,代表值为x1),魔方背面(显示页面2,代表值为x2),魔方右面(显示页面2,代表值为x3),x3~xn不做分配及使用;第一次右转后,魔方前面(显示页面1,代表值为x1),魔方右面(显示页面2,代表值为x2),魔方背面(显示页面3,代表值为x3),魔方右面(显示页面4,代表值为x4),上下面显示页面不变;经过第n次右转后,魔方前面(显示页面n-3,代表值为xn-3),魔方右面(显示页面n-2,代表值为xn-2),魔方背面(显示页面n-1,代表值为xn-1),魔方右面(显示页面n,代表值为xn),上下面显示页面不变,这时x0~xn-4不做分配及使用;y1~yn同理。
(四)动态数据变化展示
通过集成libGesture.js手势翻转库判断转动的方向,当交互触发时,使用css的keyframes属性生成转动动画,当转动动画结束后,通过vue的computed属性监视FrontPageName、leftPageName,BackPageName、RigthPageName、topPageNam及bottomPageName的取值变化,生成新的dom进行显示,具体转动效果如图8所示。
以上实施仅用以说明本发明的技术方案而非对其进行限制,本领域的普通技术人员可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明的精神和范围,本发明的保护范围应以权利要求书所述为准。
- 一种基于魔方模型三维动态数据展示的方法
- 基于三维动态模型检测水工隧洞缺陷的方法
- 农业;林业;畜牧业;狩猎;诱捕;捕鱼
- 焙烤;制作或处理面团的设备;焙烤用面团
- 屠宰;肉品处理;家禽或鱼的加工
- 其他类不包含的食品或食料;及其处理
- 烟草、雪茄烟、纸烟、吸烟者用品
- 服装
- 帽类制品
- 鞋类
- 服饰缝纫用品、珠宝
- 手携物品或旅行品
- 刷类制品
- 家具、家庭用的物品或设备、咖啡磨、香料磨、一般吸尘器
- 医学或兽医学、卫生学
- 救生、消防
- 运动、游戏、娱乐活动
- 本部其他类目中不包括的技术主题
- 一般的物理或化学的方法或装置
- 破碎、磨粉或粉碎、谷物碾磨的预处理
- 用液体或用风力摇床或风力跳汰机分离固体物料、从固体物料或流体中分离固体物料的磁或静电分离、高压电场分离
- 用于实现物理或化学工艺过程的离心装置或离心机
- 一般喷射或雾化、对表面涂覆液体或其他流体的一般方法
- 一般机械振动的发生或传递
- 将固体从固体中分离、分选
- 清洁
- 固体废物的处理、被污染土壤的再生
- 基本上无切削的金属机械加工、金属冲压
- 铸造、粉末冶金
- 机床、其他类目中不包括的金属加工
- 磨削、抛光
- 手动工具、轻便机动工具、手动器械的手柄、车间设备、机械手
- 手动切割工具、切割、切断
- 木材或类似材料的加工或保存、一般钉钉机或钉U形钉机
- 加工水泥、黏土或石料
- 塑料的加工、一般处于塑性状态物质的加工
- 压力机
- 纸品或纸板或类似纸的方式加工的材料制品制作、纸或纸板或类似纸的方式加工的材料的加工
- 层状产品
- 附加制造技术
- 印刷、排版机、打字机、模印机
- 装订、图册、文件夹、特种印刷品
- 书写或绘图器具、办公用品
- 装饰艺术
- 一般车辆
- 铁路
- 无轨陆用车辆
- 船舶或其他水上船只、与船有关的设备
- 飞行器、航空、宇宙航行
- 输送、包装、贮存、搬运薄的或细丝状材料
- 卷扬、提升、牵引
- 开启或封闭瓶子、罐或类似的容器、液体的贮运
- 鞍具、家具罩面
- 微观结构技术
- 纳米技术
- 无机化学
- 水、废水、污水或污泥的处理
- 玻璃、矿棉或渣棉
- 水泥、混凝土、人造石、陶瓷、耐火材料
- 肥料、肥料制造
- 炸药、火柴
- 有机化学
- 有机高分子化合物、其制备或化学加工、以其为基料的组合物
- 染料、涂料、抛光剂、天然树脂、黏合剂、其他类目不包含的组合物、其他类目不包含的材料的应用
- 石油、煤气及炼焦工业、含一氧化碳的工业气体、燃料、润滑剂、泥煤
- 动物或植物油、脂、脂肪物质或蜡、由此制取的脂肪酸、洗涤剂、蜡烛
- 生物化学、啤酒、烈性酒、果汁酒、醋、微生物学、酶学、突变或遗传工程
- 糖工业
- 使用化学药剂、酶类或微生物处理小原皮、大原皮或皮革的工艺,如鞣制、浸渍或整饰、其所用的设备、鞣制组合物(皮革或毛皮的漂白入D06L、皮革或毛皮的染色入D06P)
- 铁的冶金
- 冶金、黑色或有色金属合金、合金或有色金属的处理
- 对金属材料的镀覆、用金属材料对材料的镀覆、表面化学处理、金属材料的扩散处理、真空蒸发法、溅射法、离子注入法或化学气相沉积法的一般镀覆、金属材料腐蚀或积垢的一般抑制
- 电解或电泳工艺、其所用设备
- 晶体生长
- 组合技术
- 天然或化学的线或纤维、纺纱或纺丝
- 纱线、纱线或绳索的机械整理、整经或络经
- 织造
- 编织、花边制作、针织、饰带、非织造布
- 缝纫、绣花、簇绒
- 织物等的处理、洗涤、其他类不包括的柔性材料
- 绳、除电缆以外的缆索
- 造纸、纤维素的生产
- 道路、铁路或桥梁的建筑
- 水利工程、基础、疏浚
- 给水、排水
- 建筑物
- 锁、钥匙、门窗零件、保险箱
- 一般门、窗、百叶窗或卷辊遮帘、梯子
- 土层或岩石的钻进、采矿
- 一般机器或发动机、一般的发动机装置、蒸汽机
- 燃烧发动机、热气或燃烧生成物的发动机装置
- 液力机械或液力发动机、风力、弹力或重力发动机、其他类目中不包括的产生机械动力或反推力的发动机
- 液体变容式机械、液体泵或弹性流体泵
- 流体压力执行机构、一般液压技术和气动技术
- 工程元件或部件、为产生和保持机器或设备的有效运行的一般措施、一般绝热
- 气体或液体的贮存或分配
- 照明
- 蒸汽的发生
- 燃烧设备、燃烧方法
- 供热、炉灶、通风
- 制冷或冷却、加热和制冷的联合系统、热泵系统、冰的制造或储存、气体的液化或固化
- 干燥
- 炉、窑、烘烤炉、蒸馏炉
- 一般热交换
- 武器
- 弹药、爆破
- 测量、测试
- 光学
- 摄影术、电影术、利用了光波以外其他波的类似技术、电记录术、全息摄影术〔4〕
- 测时学
- 控制、调节
- 计算、推算、计数
- 核算装置
- 信号装置
- 教育、密码术、显示、广告、印鉴
- 乐器、声学
- 信息存储
- 仪器的零部件
- 特别适用于特定应用领域的信息通信技术
- 核物理、核工程
- 基本电气元件
- 发电、变电或配电
- 基本电子电路
- 电通信技术
- 其他类目不包含的电技术
- 其他专利