Предоставляемая информация является недостаточной, поэтому она может не применяться к вашему контексту, но ...
Ваша исходная структура БД выглядит так:
Помимо проблемы, о которой вы заявили, вы не сможете нормализовать эту структуру.
Я предлагаю что-то вроде этого:
Другая возможность - если вам нужен магазин, чтобы быть 1) игроком 2) активным 3) оба. Затем таблицу магазина следует изменить следующим образом:
Это, очевидно, работа в процессе, надеюсь, это поможет вам начать думать о вашем решении по-другому.
Рекомендую создать список точек. Каждый элемент списка представляет собой кортеж с координатами x и y точки:
points = []
for i in range(p):
t = 2 * mt.pi * i / p
x = r * mt.cos(t)
y = r * mt.sin(t)
points.append((x, y))
или
points = [(r*mt.cos(t), r*mt.sin(t)) for t in [2*mt.pi * i/p for i in range(p)]]
Линии от каждой точки до каждой другой точки можно нарисовать в 2 вложенных цикла. Каждая петля пересекает весь список точек:
glLineWidth(2.0)
glBegin(GL_LINES)
glColor3f(0.0, 1.0, 0.0)
for pt1 in points:
for pt2 in points:
glVertex2f(*pt1)
glVertex2f(*pt2)
glEnd()
Нарисуйте точки сверху линий в одном цикле:
glPointSize(7.0)
glBegin(GL_POINTS)
glColor3f(1.0, 0.0, 0.0)
for pt in points:
glVertex2f(*pt)
glEnd()
Примечание, glLineWidth
[ 116] задают ширину растровых линий, а glPointSize
задают диаметр растеризованных точек.