Cesium绘制一个正方体

这节讲在cesium中绘制一个正方体,与threejs类似,在一个场景中添加一个正方体就好了,设置正方体的长宽高和位置,不过绘制的方式和threejs有很大的区别,这里还是用的类似百度echarts的绘制方式,通过json格式的配置文件描述正方体的长宽高和位置,以下是相关源码,可以替换掉token后复制到html文件中测试下:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <!-- Include the CesiumJS JavaScript and CSS files -->
  <script src="https://cesium.com/downloads/cesiumjs/releases/1.100/Build/Cesium/Cesium.js"></script>
  <link href="https://cesium.com/downloads/cesiumjs/releases/1.100/Build/Cesium/Widgets/widgets.css" rel="stylesheet">
</head>
<body>
  <div id="cesiumContainer"></div>
  <div id="credit"></div>
  <script>
    // 设置token
    Cesium.Ion.defaultAccessToken = 'token';
    
	//初始化div容器为cesium
	var viewer = new Cesium.Viewer('cesiumContainer');
	//阿仔容器中添加一个正方体,
	var redBox = viewer.entities.add({
	  //正方体的名字
	  name : 'Red box with black outline',
	  //正方体的经纬度坐标
	  position: Cesium.Cartesian3.fromDegrees(-110.0, 39.0, 300000.0),
	  //正方体的长宽高和颜色等
	  box : {
		dimensions : new Cesium.Cartesian3(300000.0, 300000.0, 300000.0),
		material : Cesium.Color.RED.withAlpha(0.5),
		outline : true,
		outlineColor : Cesium.Color.BLACK
	  }
	});
	
	//将相机视角调整到适合显示场景中的所有实体的范围
	viewer.zoomTo(viewer.entities);
  </script>
 </div>
</body>
</html>

效果图如下 1693791296113.jpg 以上如有问题可以在评论区给我留言

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
要利用Cesium绘制一个等高面(Isosurface),可以按照以下步骤进行操作: 1. 准备数据:要绘制等高面,需要有一个包含高程数据的网格数据集。可以使用现有的地形数据集,如Cesium Ion提供的全球高程数据集,或者自己生成一个高程数据集。 2. 加载数据:将高程数据加载到Cesium中。可以使用Cesium的TerrainProvider加载全球高程数据,也可以使用Cesium的3D Tiles加载自己生成的高程数据。 3. 绘制等高面:利用Cesium的PolygonGeometry和PolygonHierarchy类可以创建一个包含等高线的多边形。首先,将高程数据转换成一个三维网格,然后根据高程阈值,将网格中的所有点分成两组,一组是高于阈值的点,另一组是低于阈值的点。然后,通过连接高于阈值的点,创建一个多边形,该多边形就是等高面。最后,将等高面添加到Cesium的场景中即可。 下面是一个简单的代码示例,展示了如何在Cesium绘制一个等高面: ```javascript // 创建等高面的材质 var material = Cesium.Color.fromRandom({ alpha : 0.5 }); // 从高程数据创建三维网格 var grid = createGridFromTerrainProvider(terrainProvider); // 定义高程阈值 var threshold = 1000; // 根据高程阈值创建等高面 var polygon = createIsosurface(grid, threshold); // 创建等高面实体 var entity = viewer.entities.add({ polygon : { hierarchy : polygon, material : material } }); ``` 其中,`createGridFromTerrainProvider`和`createIsosurface`函数需要自己实现,用于从地形数据中创建网格数据和从网格数据中创建等高面。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

baker_zhuang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值