test-skybox/README.md
2024-08-14 16:48:59 +08:00

35 lines
1.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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