CN108364330A - 一种基于平面坐标系的虚拟地块坐标映射方法及管理方法 - Google Patents
一种基于平面坐标系的虚拟地块坐标映射方法及管理方法 Download PDFInfo
- Publication number
- CN108364330A CN108364330A CN201810118578.5A CN201810118578A CN108364330A CN 108364330 A CN108364330 A CN 108364330A CN 201810118578 A CN201810118578 A CN 201810118578A CN 108364330 A CN108364330 A CN 108364330A
- Authority
- CN
- China
- Prior art keywords
- plot
- max
- virtual
- point
- plane
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/20—Drawing from basic elements, e.g. lines or circles
- G06T11/206—Drawing of charts or graphs
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/50—Controlling the output signals based on the game progress
- A63F13/52—Controlling the output signals based on the game progress involving aspects of the displayed game scene
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明公开了一种基于平面坐标系的虚拟地块坐标映射及管理方法,所述方法包括在平面坐标系x轴上取点max_X,min_X,在y轴上取点max_X,min_Y;使其成为相邻边长为max_X+│min_X│,max_Y+│min_Y│的矩形大虚拟地块;根据大虚拟地块中的坐标点与小虚拟地块的地块坐标相互映射的方法,该发明通过对平面坐标的坐标相互转换以及做点对面,点对点,面对点的相互映射,可以制作无限多的虚拟地块,拼接出无限大的虚拟地,并对其进行有序管理,该方法算法简单,易行,能够大幅度降低检索范围,提升查询效率及管理效率,可进行单独渲染,降低系统运行压力。
Description
技术领域
本发明涉及一种数字虚拟地表映射方法及运用方法。
背景技术
在手机游戏及应用程序的设计过程中,由于手机的性能的原因,不可能将一个实际的较大的或趋于无限大的虚拟地表的放置在手机中,如果虚拟地表较大,会极大的消耗手机资源,造成游戏及应用程序运行不畅或无法运行。此时,就需要将较大的虚拟地表进行分割,分割为一个个小的图块,待需要时,就可以将小的图块通过后台调入,然后逐个拼接,这样在游戏及应用软件的场景中就可以形成一个看似连续的虚拟地表画面。但是,通常趋向于无线大的虚拟地表的分割和拼接是基于墨卡托投影实现的,但墨卡托投影针对于地球地表这种不规则但趋于无限循环的球体地表,这种方式较多运用于与真实地球地表为基础的导航软件,不适用于游戏及其它非导航软件应用。需要占用较大的硬件资源,算法反推不精确,管理不灵活,特别对于性能较差的手机硬件往往造成使用者的感受不佳。
发明内容
本发明的目的是提供一种基于平面坐标系的虚拟地块坐标映射方法及管理方法。
为了实现上述目的,采用以下技术方案:
一种基于平面坐标系的虚拟地块坐标映射方法,所述方法包括在平面坐标系x轴上取点max_X,min_X,在y轴上取点max_X,min_Y;并满足max_X>0,max_Y>0,max_X<0,min_Y<0;max_X=│min_X│,max_Y=│min_Y│,使其成为相邻边长为max_X+│min_X│,max_Y+│min_Y│的矩形,使得大虚拟地块的所有点均位于由点(max_X,max_Y)、点(min_X,max_Y)、点(min_X,min_Y)和点(max_X,min_Y)所围成的矩形内;根据大虚拟地块中的任意坐标点(x,y)划分并映射到小虚拟地块的地块坐标(tileX,tileY)的方法,步骤为:
获取小虚拟地块的地块的横坐标tileX:
其中x:大虚拟地块中的平面横坐标点;level:划分等级;
获取小虚拟地块的地块的纵坐标tileY:
其中y:大虚拟地块中的平面纵坐标点;level:划分等级。
基于tileX,tileY,对其进行自定义编号,使其成为一个在平面坐标系中的矩形小虚拟地块,该小虚拟地块的地块中任意坐标(x′,y′)满足0<x′<1,0<y′<1。
所述方法还包括对小虚拟地块的地块坐标(x′,y′)反推映射到大虚拟地块的真实坐标(x,y)的方法,步骤为:
其中x:大虚拟地块中的平面横坐标点;level:划分等级;
其中y:大虚拟地块中的平面纵坐标点;level:划分等级。
一种采用如上基于平面坐标系的虚拟地块坐标映射方法的管理方法,A点是小虚拟地块上的物体,游戏及应用前端在A点所在地块及周围生成多个虚拟地块,生成方式为(2n-1)2,n为自然数,n≠0。
对应A点移动方向,生成部分新的地块,请求后端并生成地块上物品并渲染,删除因A点移动所产生的多余地块,同时删除其对应的虚拟地表及内容。
该发明通过对平面坐标的坐标相互转换以及做点对面,点对点,面对点的相互映射,可以制作无限多的虚拟地块,拼接出无限大的虚拟地,并对其进行有序管理,该方法算法简单,易行,能够大幅度降低检索范围,提升查询效率及管理效率,可进行单独渲染,降低系统运行压力。
说明书附图
图1坐标系比值为正且有效拆分;
图2划分方式;
图3划分映射方式(正方形);
图4划分映射方式(长方形);
图5反推映射方式(正方形);
图6反推映射风湿(长方形);
图7小虚拟地块拼接方式;
图8虚拟地表上A点移动方式;
具体实施方式
下面结合附图和具体实施例对本发明做进一步的说明。
虚拟地块:一个平面是无限个点组成的。在游戏及应用中需要将无限的点“合并”成块进行管理,本文称之块为虚拟地块。每个虚拟地块是平面坐标系中的无限个点坐标的集合,再将虚拟地块自定义编号作为管理的唯一标识。
大小虚拟地块映射管理:通过大小虚拟地块之间的划分映射与反推映射方式可对其进行映射管理。
虚拟地块编号:虚拟地块的为了便于管理都需要进行唯一性的自定义编号。
一、小虚拟地块划分映射:
1、所述方法包括在平面坐标系x轴上取点max_X,min_X,在y轴上取点max_X,min_Y;并满足max_X>0,max_Y>0,max_X=│min_X│,max_Y=│min_Y│,使其成为相邻边长为max_X+│min_X│,max_Y+│min_Y│的矩形;当max_X=max_Y时为正方形,当max_X≠max_Y时,为长方形。此时,大虚拟地块的所有点均位于由点(max_X,max_Y)、(min_X,max_Y)(min_X,min_Y)和(max_X,min_Y)所围成的矩形内;。
2、公式解析:
1.横纵坐标系统比值:
在平面坐标系中取max_X,max_Y,min_X,min_Y;并满足max_X>0,max_Y>0,max_X=│min_X│,max_Y=│min_Y│,使其成为相邻边长为max_X+│min_X│,max_Y=│min_Y│的矩形大虚拟地块;取大虚拟地块中任意坐标为(x,y),用获得横坐标系统比例,用获得纵坐标系统比例。但因为考虑到(x,y)中的x,y值都可能为负值,而考虑横纵坐标系统比值a,a′必须是一个正值,所以用的方式保证a,a′值必须为正值并有效拆分。如图1所示。
2.划分方式:
Level=1表示按坐标轴的方向将矩形大虚拟地块上划分成了21个等分地块,level=2表示按坐标轴的方向将矩形大虚拟地块上划分成了22个等分地块,以此类推,level=n表示按坐标轴的方向将矩形大虚拟地块上划分成了2level个等分地块,因为每次划分都是在x、y轴方向上同时划分,所以划分出来的小虚拟地块形状与大虚拟地块相同。如图2所示。
3.结果取整:
因为运算出的小虚拟地块横纵坐标tileX,tileY可能带有小数,为了使其成为横纵坐标集合从而达到运算和管理需要,对此运算结果进行向下取整运算。
最终公式:
获取小虚拟地块的地块的横坐标tileX:
x:大虚拟地块中的平面横坐标点
max_X:选取的横坐标值;
level:划分等级
3、获得地块块纵坐标tileY
同理,根据获得tileX的方式,获得tileY
y:大虚拟地块中的平面纵坐标点
max_Y:选取的纵坐标值;
level:划分等级
至此,获得了小虚拟地块的坐标集为(tileX,tileY),对其进行自定义编号。
通过以上算法,根据x,y的取值可以获得一系列的(tileX,tileY)的,根据这些小虚拟地块坐标集,可让(x,y)的各项取值划分映射到每一个小虚拟地块。直线距离相对临近的(x,y)坐标取值将会划分到同一块小虚拟地块上,直线距离相对较远的(x,y)坐标取值将会划分到不同的小虚拟地块上。
示例1:正方形大虚拟地块:
自定义假设:max_X=max_Y=180;假设划分等级:Level=17;
取大虚拟地块中坐标A(x,y)为(106.508084,29.536231);通过公式获得(tileX,tileY)为(104314,76289);根据结果为其自定义编号:YC001
取直线距离相对临近的坐标B(x,y)为(106.508382,29.535712),通过公式得出(tileX,tileY)为(104314,76289);根据结果可以得出,其两点的(tileX,tileY)相同,因此判定A,B点映射到了同一个小虚拟地块。
取直线距离相对较远的坐标C(x,y)为(106.511142,29.53815),通过公式得出(tileX,tileY)为(104315,76290)
根据结果判定A,C点映射到了不同小虚拟地块,如图3所示。
示例2:长方形大虚拟地块:
自定义假设:max_X=180;max_Y=100;
假设划分等级:level=17。
取大虚拟地块中坐标D(x,y)为(106.508084,29.536231);
我们通过公式获得(tileX,tileY)为(104314,84892);根据结果为其自定义编号:YC002
取直线距离相对临近的坐标F(x,y)为(106.508382,29.535712),通过公式得出(tileX,tileY)为(104314,84892);根据结果判定D,F点映射到了同一个小虚拟地块。
取直线距离相对较远的坐标G(x,y)为(106.511142,29.53815),通过公式得出(tileX,tileY)为(104315,84894);根据结果判定D,G点映射到了不同小虚拟地块,如图4所示。
二、大虚拟地块坐标反推映射:
使用(tileX,tileY)坐标的反推映射精确坐标(x,y)
在游戏及应用中,可以基于上述方法得到的虚拟小地块坐标集(tileX,tileY),通过计算反推获得其在大虚拟地块中的真实坐标(x,y)。
方法如下:
1、将该小虚拟地块放入平面坐标系中并让其地块中的任意坐标
(x′,y′)满足0<x′<1,0<y′<1。
2、在小虚拟地块中取任意一横坐标x′;
x:大虚拟地块中的平面横坐标点
max_X:选取的横坐标值;
level:划分等级;
3、在小虚拟地块中取任意一纵坐标y′;
y:大虚拟地块中的平面纵坐标点
max_Y:选取的纵坐标值;
level:划分等级
示例3:正方形小虚拟地块:
由示例1已知max_X=max_Y=180;取得C点映射得到的小虚拟地块编号为TC003,其坐标集(tileX,tileY)为(104315,76290);在该地块上取任意取两点坐标
g(0.345355,0.834564),h(0.521234,0.782123)
已知level=17
通过公式反推回坐标系为g1(106.51065313568114,
29.539035362548844),h1(106.51113620178222,
29.538891329040524),都趋近与C点的在大虚拟地块上的坐标
(106.511142,29.53815),假如g,h坐标点之间产生平面位移,g1,h1之间也同样产生映射位移,反之亦然,如图5所示。
示例4:长方形小虚拟地块:
由示例2已知max_X=180,max_Y=100;取得G点映射得到的小虚拟地块编号为TC004,其坐标集(tileX,tileY)为(104315,84894);在该地块上取任意取两点坐标
t(0.345355,0.834564),y(0.521234,0.782123)
已知level=17
通过公式反推回坐标系为t1(106.51065313568114,
29.53923731079101),y1(106.51113620178222,
29.539157292175275),都趋近与G点的在大虚拟地块上的坐标
(106.511142,29.53815),假如t,y坐标点之间产生平面位移,t1,y1之间也同样产生映射位移,反之亦然,如图6所示:
三、游戏及应用的运用方式
在游戏及应用中,我们通过以上算法得到各种(tileX,tileY)坐标集,在游戏及应用前端则动态生成地块,并对其进行自定义的唯一编号。
1、用“矩形”的面构建这些无数小虚拟地块(可以是矩形图片或带“矩形”面的立方体)形成游戏及应用的无限地表,让其与在平面坐标轴上的大虚拟地块上的各各点,形成点对面(大虚拟地块坐标对小虚拟地块),点对点(小虚拟地块坐标对大虚拟地块坐标)的对应关系,但不生成。
2、假设A点是小虚拟地块上的物体,游戏及应用前端会在A点所在地块及周围生成多个虚拟地块,生成方式为(2n-1)2,n为自然数,n≠0,根据n的取值形成适合游戏及应用的虚拟地表。(如图7)
A点向任何方向移动:
A点移动方向相关:
①.对应A点移动方向,生成部分新的地块,请求后端并让其告知地块上物品,生成并渲染;具体方式为:当后端判定A点到达到新的小虚拟地块上时请求后端生成所在地块并根据虚拟地块生成方式在周围生成多个虚拟地块,更新并渲染其每个虚拟地表上的类容。
②.删除因A点移动所产生的多余地块,同时删除其对应的虚拟地表及内容。如生成虚拟地块时n=1,则更新A点所在当前地块,删除A点原所在地块。(如图8)
③.生成及删除方式也可根据实际渲染进一步优化。
通过该运用方式则进一步减少了游戏及应用对虚拟场景,虚拟物品等虚拟对象的渲染消耗,提高了游戏及应用的性能。
Claims (5)
1.一种基于平面坐标系的虚拟地块坐标映射方法,其特征在于:所述方法包括在平面坐标系x轴上取点max_X,min_X,在y轴上取点max_X,min_Y;并满足max_X>0,max_Y>0,max_X<0,min_Y<0;
max_X=│min_X│,max_Y=│min_Y│,形成相邻边长为max_X+│min_X│,max_Y+│min_Y│的矩形,使得大虚拟地块的所有点均位于由点(max_X,max_Y)、点(min_X,max_Y)、点(min_X,min_Y)和点(max_X,min_Y)所围成的矩形内;根据大虚拟地块中的任意坐标点(x,y)划分并映射到小虚拟地块的地块坐标(tileX,tileY)的方法,步骤为:
获取小虚拟地块的地块的横坐标tileX:
其中x:大虚拟地块中的平面横坐标点;level:划分等级;
获取小虚拟地块的地块的纵坐标tileY:
其中y:大虚拟地块中的平面纵坐标点;level:划分等级。
2.如权利要求1所述所述的基于平面坐标系的虚拟地块坐标映射方法,其特征在于:基于tileX,tileY,对其进行自定义编号,使其成为一个在平面坐标系中的矩形小虚拟地块,该小虚拟地块的地块中任意坐标(x′,y′)满足0<x′<1,0<y′<1。
3.如权利要求2所述的基于平面坐标系的虚拟地块坐标映射方法,其特征在于:所述方法还包括对小虚拟地块的地块坐标(x′,y′)反推映射到大虚拟地块的真实坐标(x,y)的方法,步骤为:
其中x:大虚拟地块中的平面横坐标点;level:划分等级;
其中y:大虚拟地块中的平面纵坐标点;level:划分等级。
4.一种对如权利要求1至3任一所述的基于平面坐标系的虚拟地块坐标映射方法的管理方法,其特征在于:A点是小虚拟地块上的物体,游戏及应用前端在A点所在地块及周围生成多个虚拟地块,生成方式为(2n-1)2,n为自然数,n≠0。
5.如权利要求4所述的管理方法,其特征在于:对应A点移动方向,生成部分新的地块,请求后端并生成地块上物品并渲染,删除因A点移动所产生的多余地块,同时删除其对应的虚拟地表及内容。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810118578.5A CN108364330A (zh) | 2018-02-06 | 2018-02-06 | 一种基于平面坐标系的虚拟地块坐标映射方法及管理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810118578.5A CN108364330A (zh) | 2018-02-06 | 2018-02-06 | 一种基于平面坐标系的虚拟地块坐标映射方法及管理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108364330A true CN108364330A (zh) | 2018-08-03 |
Family
ID=63004665
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810118578.5A Pending CN108364330A (zh) | 2018-02-06 | 2018-02-06 | 一种基于平面坐标系的虚拟地块坐标映射方法及管理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108364330A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111210515A (zh) * | 2019-12-30 | 2020-05-29 | 成都赫尔墨斯科技股份有限公司 | 一种基于地形实时渲染的机载合成视觉系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104504760A (zh) * | 2014-12-09 | 2015-04-08 | 北京畅游天下网络技术有限公司 | 实时更新三维图像的方法和系统 |
US20150258438A1 (en) * | 2014-01-09 | 2015-09-17 | Square Enix Holdings Co., Ltd. | Online game server architecture using shared rendering |
CN106902513A (zh) * | 2017-03-02 | 2017-06-30 | 苏州蜗牛数字科技股份有限公司 | 一种vr游戏画面进行优化的方法 |
-
2018
- 2018-02-06 CN CN201810118578.5A patent/CN108364330A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150258438A1 (en) * | 2014-01-09 | 2015-09-17 | Square Enix Holdings Co., Ltd. | Online game server architecture using shared rendering |
CN104504760A (zh) * | 2014-12-09 | 2015-04-08 | 北京畅游天下网络技术有限公司 | 实时更新三维图像的方法和系统 |
CN106902513A (zh) * | 2017-03-02 | 2017-06-30 | 苏州蜗牛数字科技股份有限公司 | 一种vr游戏画面进行优化的方法 |
Non-Patent Citations (1)
Title |
---|
李均: "3D游戏引擎中的室外大场景渲染技术研究与实现", 《中国优秀硕士学位论文全文数据库信息科技辑》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111210515A (zh) * | 2019-12-30 | 2020-05-29 | 成都赫尔墨斯科技股份有限公司 | 一种基于地形实时渲染的机载合成视觉系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4733116B2 (ja) | ルールベースの手続的地形生成用資源管理 | |
CN107016924A (zh) | 虚拟地图中的瓦片地图生成方法、更新方法和装置 | |
CN103279983B (zh) | 中国唐朝风格古建筑的建模方法 | |
CN104050708A (zh) | 一种3d游戏引擎lod系统的实现方法 | |
CN105574931A (zh) | 一种电子地图道路绘制方法及装置 | |
CN111260766A (zh) | 虚拟光源处理方法、装置、介质及电子设备 | |
CN108171797B (zh) | 网格物体生成方法及装置 | |
CN105740256A (zh) | 一种三维地图的生成方法及装置 | |
CN102855654B (zh) | 一种超大规模天气效果渲染方法 | |
CN101976468A (zh) | 一种多分辨率动态地形可视化方法及系统 | |
CN105654552A (zh) | 一种面向任意分布大规模点云数据的快速Delaunay构网方法 | |
CN102147926A (zh) | 3d图标的处理方法、装置及移动终端 | |
CN110930492B (zh) | 模型渲染的方法、装置、计算机可读介质及电子设备 | |
CN108364330A (zh) | 一种基于平面坐标系的虚拟地块坐标映射方法及管理方法 | |
CN104200425A (zh) | 一种gpu图形处理过程中图元裁剪装置及裁剪方法 | |
CN107562779B (zh) | 一种二维矢量多边形自相交的空间拓扑处理方法 | |
CN108038900A (zh) | 倾斜摄影模型单体化方法、系统及计算机可读存储介质 | |
CN101071511A (zh) | 阴影绘制方法及装置 | |
CN108363554A (zh) | 一种基于平面坐标系的虚拟地块坐标映射方法及管理方式 | |
CN110860088A (zh) | 竞速游戏中小地图的渲染方法、装置以及游戏终端 | |
TWI622022B (zh) | 深度計算方法及其裝置 | |
CN104794747A (zh) | 一种基于射线原理的三维点云数据精简算法 | |
CN108553902A (zh) | 一种基于ue引擎的多维材质的变换方法 | |
CN106846489B (zh) | 一种基于vtk处理obj文件的方法 | |
Shiono et al. | Data structure and triangulation algorithm for non-uniform landscapes |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180803 |