本帖最后由 silas 于 2019-12-10 10:17 编辑
开题:假设知道了你所处的环境的表面亮度以及透明度参数,还有你的望远镜的口径、焦距以及目镜焦距,然后计算你可以看到的深空天体(下文简称DSO)?这个DSO的可见性能不能用具体的数值来表示?基于这个问题,我参考了Blackwell于Observer' s Handbook发表的一些理论,在刀锋等一些目视大佬的帮助下,开发了计算程序Windows版本,以及小程序版本。
这个计算公式参考自 https://www.cloudynights.com/top ... visibility-of-dsos/ ,使用了Guest_**DONOTDELETE**_*简化过后的公式。Excel公式下载:
405587-DSOCN (1).rar
(2.72 KB, 下载次数: 94)
原版本的计算公式经过了我的扩展,考虑了大气透明度程度AOD,程序读取数据支持“梅西耶星表”,“赫歇尔400-I星表”,“NGC星表”,Windows版本程序还支持自定义数据。
下面贴一下这个计算的代码吧
mag1 = parseFloat(mag1) // Magnitude
longax1 = parseFloat(longax1) // Long axis (min)
shortax1 = parseFloat(shortax1) // Short axis (min)
diamet1 = parseFloat(diamet1) // Diameter (mm) of TELESCOPE
focal1 = parseFloat(focal1) // Focal Length (mm) of TELESCOPE
eyefo1 = parseFloat(eyefo1) // Eyepiece focal (mm) of TELESCOPE
skysur1 = parseFloat(skysur1) // Surface Brightness (mag/sq'') of TELESCOPE
AOD = parseFloat(AOD) // AOD of sky
var objsrfb = mag1 + 2.5 * Math.log(2827 * longax1 * shortax1) / Math.log(10) // Surface Brightness of Object (mag/sq'') assuming exit pupil of 7 mm (eye)
if (AOD > 0 && AOD < 1) { //
objsrfb = objsrfb - 2.5 * Math.log(1 - AOD) / Math.log(10)
}
var magnif = focal1 / eyefo1 // Magnification
var appsize = Math.sqrt(longax1 * shortax1) * magnif // Apparent size of Object after magnification
var exitpur = diamet1 / magnif // Exit Pupil (mm)
var dimmi = 5 * Math.log(7 / exitpur) / Math.log(10) // Dimming w.r.t. 7 mm exit pupil
var objrslbr = objsrfb + dimmi // Resulting brightness of object
var skyrslbr = skysur1 + dimmi // Resulting Sky Brightness
var b0 = Math.sqrt(7.5 * Math.log(appsize / 15) / Math.log(10) + 0.45) + 19.3
var sss = 0.42 + 0.155 * Math.log(appsize / 15) / Math.log(10)
var E1 = 0.35
var threshold = sss * (skyrslbr - 19) + b0 - E1 * (Math.pow((skyrslbr / 24), 5)) // Limiting brightness
var contrast = threshold - objrslbr // CONTRAST (negative = object not visible)
return contrast
程序
深空天体目视可见度计算器 V1.0.part01.rar
(5 MB, 下载次数: 95)
深空天体目视可见度计算器 V1.0.part02.rar
(5 MB, 下载次数: 88)
深空天体目视可见度计算器 V1.0.part03.rar
(4.17 MB, 下载次数: 90)
小程序
程序用的计算星表数据其实不算很精细,特别是对于星系这类目标,不同星表的长短轴数据相差甚远,不说用其计算出来的表面亮度能不能用于实际目视标准(实际看到的部分可能小于标称值),对于很多拥有明亮星系核的特殊星系可能是不适用的。还有对于疏散星团这类非面状天体判定可见度标准也存在疑问。这个版本的暂且作为待改进版本。如果高手们发现了更好的公式或者数据,不妨留言或者到项目里提issue:
github.com/ultrapre/DSO
|