原文鏈接
https://mp.weixin.qq.com/s/9zuXVqnIsRHOJM8fbgE0uw
先睹為快
在線體驗網(wǎng)址:
https://charlespikachu.github.io/constellation/
效果如下:
導語
年關將近添忘,上來多發(fā)幾篇文章,顯得這個公眾號很活躍的樣子應該沒什么問題吧若锁。
暑假去了上海天文館搁骑,回來之后就一直想做個類似這樣的東西,但各種事情拖來拖去就到年底了拴清,本來想用python寫這個天文館的靶病,但是發(fā)現(xiàn)寫出來效果好丑,昨天就沒推文口予,今天換js重寫了一版娄周,也算是給大家換換口味,畢竟不能吊死在python這一棵老樹上沪停。
廢話不多說煤辨,讓我們愉快的開始吧。
相關文件
https://github.com/CharlesPikachu/constellation
原理簡介
要實現(xiàn)這個網(wǎng)站木张,首先要爬取自己需要的數(shù)據(jù)众辨,網(wǎng)站鏈接在這:
http://uenosato.net/hr_diagram/hrdiagram3.html
整理好的數(shù)據(jù)截圖如下:
完整的數(shù)據(jù)在infos.js這個文件里。接著定義一些三維旋轉和矩陣運算中常用的一些操作舷礼,例如四元數(shù)的運算:
矩陣運算:
然后利用相關的公式把星星和星座的位置映射到三維球體上就好啦(這個具體原理其實我也不太懂T_T鹃彻,畢竟不是干這行的,我看別人寫的教程和code是這樣做的妻献,就依葫蘆畫瓢了):
大功告成蛛株,完整源代碼詳見相關文件~
現(xiàn)在網(wǎng)站只完成了一個基本的框架团赁,后續(xù)我會添加更多內(nèi)容,比如星座的詳細介紹谨履,以及一些有趣的小功能欢摄,歡迎大家持續(xù)關注。
更新效率大概和點贊和閱讀量成正比笋粟。
參考文獻
[1]. https://zhuanlan.zhihu.com/p/97186723
[2]. https://github.com/takasa5/michibiki
[3]. http://uenosato.net/hr_diagram/hrdiagram3.html
[4].?https://github.com/asSqr/Hipplanetarium