Равномерно распределите звезды на сфере по категориямPython

Программы на Python
Anonymous
Равномерно распределите звезды на сфере по категориям

Сообщение Anonymous »

Я работаю над проектом, в котором мне нужно нанести звезды на виртуальную сферу. Звезды должны быть расположены на равном расстоянии друг от друга и от центра сферы (0,0,0), с определенным распределением категорий яркости по поверхности сферы. В каждом сегменте сферы должно быть пропорциональное сочетание звезд в зависимости от их яркости, чтобы обеспечить равномерное покрытие всей сферы.
Подход и проблема:
Нормализация. Я начал с нормализации положения каждой звезды, чтобы сформировать сферу, масштабируя их векторы положения до фиксированного радиуса.
Четная точка Распределение: я создал 1000 равномерно расположенных точек на сфере, используя выборку сферы Фибоначчи.
Первоначальное сопоставление: Сопоставление каждой точки с ближайшей звездой сработало хорошо. без учета яркости звезд.
Распределение по категориям: Проблема возникает, когда я пытаюсь включить желаемое распределение яркости звезд. Категории требуют определенных пропорций по поверхности сферы, но я изо всех сил стараюсь поддерживать равномерное распределение при классификации по яркости.
Текущий метод: Моя последняя попытка заключалась в случайном перетасовке. сгенерированные точки, а затем присваивая их звездам в зависимости от их категории яркости. Например, каждый 1,9-й балл достается звезде категории яркости «8». Однако этот метод не смог обеспечить требуемого равномерного распределения, особенно потому, что звезды категории «8» редки, но достаточно многочисленны, чтобы соответствовать требованиям распределения.

Код: Выделить всё

import pandas as pd
import numpy as np
from sklearn.neighbors import NearestNeighbors

def classify_stars(vmag):
if vmag >= 10:
return '1'
elif 7 

Подробнее здесь: [url]https://stackoverflow.com/questions/78480373/evenly-distribute-stars-on-a-sphere-according-to-categories[/url]

Вернуться в «Python»