使用Unity3D来进行凹多边形三角网剖分的代码,我在代码中使用了Vector3这个类,因此代码并不能脱离Unity3D框架来使用,当然作为参考可以。
这个例子对中国区域进行渲染,附赠了中国的边界数据。
工程名字和注释瞎写的,姑且一看吧。我把整个工程直接压缩后打包了。
对这个资源的详细说明,见博客
https://blog.csdn.net/kongxinyue/article/details/91128766
代码片段和文件信息
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
..A..H. 248320 2019-06-07 17:23 NonCoverPolygon.vsNonCoverPolygonv15.suo
文件 0 2019-06-07 15:41 NonCoverPolygon.vsNonCoverPolygonv15Serversqlite3db.lock
文件 929792 2019-06-07 16:42 NonCoverPolygon.vsNonCoverPolygonv15Serversqlite3storage.ide
文件 32768 2019-06-07 15:41 NonCoverPolygon.vsNonCoverPolygonv15Serversqlite3storage.ide-shm
文件 4128272 2019-06-07 17:23 NonCoverPolygon.vsNonCoverPolygonv15Serversqlite3storage.ide-wal
文件 43717 2019-06-07 15:40 NonCoverPolygonAssembly-CSharp.csproj
I.A.... 11882 2019-06-07 17:23 NonCoverPolygonAssetsScenesSampleScene.unity
文件 155 2019-06-07 15:37 NonCoverPolygonAssetsScenesSampleScene.unity.meta
文件 172 2019-06-07 15:37 NonCoverPolygonAssetsScenes.meta
文件 2205 2019-06-05 23:06 NonCoverPolygonAssetsscriptDrawRect.cs
文件 243 2019-06-07 15:40 NonCoverPolygonAssetsscriptDrawRect.cs.meta
文件 786 2019-06-05 23:16 NonCoverPolygonAssetsscriptLoadData.cs
文件 243 2019-06-07 15:39 NonCoverPolygonAssetsscriptLoadData.cs.meta
文件 685 2019-06-04 06:22 NonCoverPolygonAssetsscriptMeshDrawbase.cs
文件 243 2019-06-07 15:40 NonCoverPolygonAssetsscriptMeshDrawbase.cs.meta
文件 3597 2019-06-07 17:10 NonCoverPolygonAssetsscriptPolygon.cs
文件 243 2019-06-07 15:39 NonCoverPolygonAssetsscriptPolygon.cs.meta
文件 13154 2019-06-07 17:10 NonCoverPolygonAssetsscriptTriangular.cs
文件 243 2019-06-07 15:39 NonCoverPolygonAssetsscriptTriangular.cs.meta
文件 172 2019-06-07 15:39 NonCoverPolygonAssetsscript.meta
文件 183572 2019-06-07 17:11 NonCoverPolygonChina_1.at
文件 4768 2019-06-07 17:11 NonCoverPolygonChina_2.at
文件 1154 2019-06-07 17:11 NonCoverPolygonChina_3.at
文件 6003 2019-06-07 17:11 NonCoverPolygonChina_4.at
I.A.... 4116 2019-06-07 15:37 NonCoverPolygonLibraryAnnotationManager
I.A.... 4209016 2019-06-07 17:23 NonCoverPolygonLibraryassetDatabase3
I.A.... 10 2019-06-07 15:37 NonCoverPolygonLibraryAssetImportState
I.A.... 0 2019-06-07 15:37 NonCoverPolygonLibraryBuildPlayer.prefs
I.A.... 4152 2019-06-07 15:37 NonCoverPolygonLibraryBuildSettings.asset
I.A.... 16048 2019-06-07 17:24 NonCoverPolygonLibraryCurrentLayout.dwlt
............此处省略2274个文件信息
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class DrawRect
{
MeshFilter meshfilter;
private MeshRenderer meshrenderer;
Gameobject go;
Color meshColor = Color.red;
public void SetMeshRenderColor(Color color)
{
meshColor = color;
}
void CreateMesh()
{
meshfilter = go.GetComponent();
if(meshfilter == null)
meshfilter = go.AddComponent();
meshrenderer = go.GetComponent();
if(meshrenderer == null)
meshrenderer = go.AddComponent();
if (meshfilter.mesh != null)
{
Mesh mesh = new Mesh();
meshfilter.mesh = mesh;
}
meshrenderer.material.color = new Color(meshColor.r meshColor.g meshColor.b meshColor.a);//修改时间 2019/3/12
meshrenderer.material.shader = Shader.Find(“Transparent/Diffuse“);
}
public void SetGameobject(Gameobject _go)
{
go = _go;
CreateMesh();
}
public void setDataSource(List data)
{
List data3 = new List();
foreach (Vector2 d in data)
data3.Add(new Vector3(d.x d.y -1));
setDataSource(data3);
}
public void setDataSource(List data)
{
meshfilter.mesh.Clear();
meshfilter.mesh.SetVertices(data);
int[] triangle = CreateTriangle(data);
meshfilter.mesh.triangles = triangle;
}
public void setDataSource(List dataint[] triangles)
{
meshfilter.mesh.Clear();
meshfilter.mesh.SetVertices(data);
meshfilter.mesh.triangles = triangles;
}
int[] CreateTriangle(List data)
{
int[] triangles = new int[3 * (data.Count - 2)];
for (int i = 0; i < data.Count - 2; i++)
{
//这个算法好好琢磨一下吧~
triangles[3 * i] = 0;
triangles[3 * i + 1] = i + 2;
triangles[3 * i + 2] = i + 1;
}
return triangles;
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
..A..H. 248320 2019-06-07 17:23 NonCoverPolygon.vsNonCoverPolygonv15.suo
文件 0 2019-06-07 15:41 NonCoverPolygon.vsNonCoverPolygonv15Serversqlite3db.lock
文件 929792 2019-06-07 16:42 NonCoverPolygon.vsNonCoverPolygonv15Serversqlite3storage.ide
文件 32768 2019-06-07 15:41 NonCoverPolygon.vsNonCoverPolygonv15Serversqlite3storage.ide-shm
文件 4128272 2019-06-07 17:23 NonCoverPolygon.vsNonCoverPolygonv15Serversqlite3storage.ide-wal
文件 43717 2019-06-07 15:40 NonCoverPolygonAssembly-CSharp.csproj
I.A.... 11882 2019-06-07 17:23 NonCoverPolygonAssetsScenesSampleScene.unity
文件 155 2019-06-07 15:37 NonCoverPolygonAssetsScenesSampleScene.unity.me
文件 172 2019-06-07 15:37 NonCoverPolygonAssetsScenes.me
文件 2205 2019-06-05 23:06 NonCoverPolygonAssetssc
文件 243 2019-06-07 15:40 NonCoverPolygonAssetssc
文件 786 2019-06-05 23:16 NonCoverPolygonAssetssc
文件 243 2019-06-07 15:39 NonCoverPolygonAssetssc
文件 685 2019-06-04 06:22 NonCoverPolygonAssetssc
文件 243 2019-06-07 15:40 NonCoverPolygonAssetssc
文件 3597 2019-06-07 17:10 NonCoverPolygonAssetssc
文件 243 2019-06-07 15:39 NonCoverPolygonAssetssc
文件 13154 2019-06-07 17:10 NonCoverPolygonAssetssc
文件 243 2019-06-07 15:39 NonCoverPolygonAssetssc
文件 172 2019-06-07 15:39 NonCoverPolygonAssetssc
文件 183572 2019-06-07 17:11 NonCoverPolygonChina_1.at
文件 4768 2019-06-07 17:11 NonCoverPolygonChina_2.at
文件 1154 2019-06-07 17:11 NonCoverPolygonChina_3.at
文件 6003 2019-06-07 17:11 NonCoverPolygonChina_4.at
I.A.... 4116 2019-06-07 15:37 NonCoverPolygonLibraryAnnotationManager
I.A.... 4209016 2019-06-07 17:23 NonCoverPolygonLibraryassetDataba
I.A.... 10 2019-06-07 15:37 NonCoverPolygonLibraryAssetImportState
I.A.... 0 2019-06-07 15:37 NonCoverPolygonLibraryBuildPla
I.A.... 4152 2019-06-07 15:37 NonCoverPolygonLibraryBuildSettings.asset
I.A.... 16048 2019-06-07 17:24 NonCoverPolygonLibraryCurrentLayout.dwlt
............此处省略2274个文件信息
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。
评论列表(条)