diff --git a/src/game/astronomy/color-index.cpp b/src/game/astronomy/color-index.cpp
new file mode 100644
index 0000000..90c54f7
--- /dev/null
+++ b/src/game/astronomy/color-index.cpp
@@ -0,0 +1,30 @@
+/*
+ * Copyright (C) 2020 Christopher J. Howard
+ *
+ * This file is part of Antkeeper source code.
+ *
+ * Antkeeper source code is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * Antkeeper source code is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Antkeeper source code. If not, see .
+ */
+
+#include "color-index.hpp"
+
+namespace ast
+{
+
+double bv_to_k(double bv)
+{
+ return 4600.0 * (1.0 / (0.92 * bv + 1.7) + 1.0 / (0.92 * bv + 0.62));
+}
+
+} // namespace ast
diff --git a/src/game/astronomy/color-index.hpp b/src/game/astronomy/color-index.hpp
new file mode 100644
index 0000000..91c0202
--- /dev/null
+++ b/src/game/astronomy/color-index.hpp
@@ -0,0 +1,38 @@
+/*
+ * Copyright (C) 2020 Christopher J. Howard
+ *
+ * This file is part of Antkeeper source code.
+ *
+ * Antkeeper source code is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * Antkeeper source code is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Antkeeper source code. If not, see .
+ */
+
+#ifndef ANTKEEPER_COLOR_INDEX_HPP
+#define ANTKEEPER_COLOR_INDEX_HPP
+
+namespace ast
+{
+
+/**
+ * Approximates the temperature of a star, given its B-V index.
+ *
+ * @see Ballesteros, F. J. (2012). "New insights into black bodies". EPL 97 (2012) 34008.
+ *
+ * @param bv B-V index.
+ * @return Temperature, in Kelvin.
+ */
+double bv_to_k(double bv);
+
+} // namespace ast
+
+#endif // ANTKEEPER_COLOR_INDEX_HPP