mirror of
https://gitee.com/blitheli/test-skybox.git
synced 2025-06-17 02:48:18 +00:00
35 lines
1.8 KiB
Markdown
35 lines
1.8 KiB
Markdown
# Cesium天空盒子(Skybox)制作和显示
|
||
|
||
#### 介绍
|
||
在Cesium中,星空背景是通过天空盒子方式(6张图片)来显示的,原生的图片分辨率太低,本项目用于生成天空盒子的6张图片。
|
||
|
||
#### 原理
|
||
星空背景本质上就是将所有的恒星投影到天空盒子对应的6个方位的图片上。
|
||
|
||
本项目利用Canvas的2D作图功能,创建一个纯黑色的背景。然后根据每个恒星的位置转换为对应图片下的像素坐标,然后再利用恒星
|
||
对应的星等画一个白色的点,点的像素大小和透明度由星等决定(恒星越亮,则点的像素越大,越不透明)。
|
||
|
||
目前基本设置为(详见:createSkyboxImage.js)
|
||
- 最亮: -1等,对应为5像素,透明度为1.0(不透明)
|
||
- 中等: 7等,对应为1像素,透明度为0.75
|
||
|
||
本项目中,最暗为7等星,因为超过8等星人眼就看不到了!
|
||
#### 软件架构
|
||
|
||
- CesiumUnminified文件夹为Cesium下载安装包里面的内容(Build目录下),本项目用于引用Cesium.js文件
|
||
- Skybox文件夹里存放了其它方式生成的天空盒子,可供测试使用
|
||
- CatalogSkybox.js,为天球坐标系ICRF到立方体盒子的投影转换相关函数
|
||
- createSkyboxImage.js,用于生成立方体盒子的一副图片
|
||
- hipparcos_7_concise.js,包含了依巴谷星表(hipparcos)的7等星以上的所有数据(经过处理的),来源: https://github.com/gmiller123456/hip2000
|
||
|
||
#### 使用说明
|
||
|
||
1. 使用Live Server打开index.html,即可加载Cesium默认的启动界面,同时加载了内置生成的天空盒子
|
||
2. 网页启动后,会自动将创建的6张天空盒子照片存放在浏览器的下载目录下
|
||
|
||
|
||
#### 其它
|
||
1. 用户可自行修改createSkyboxImage.js函数,使用不同的星等创建不同像素大小的星星!
|
||
|
||
|
||
20240814 liyunfei |