Я создаю 3D-рендерер, который отображает куб на основе заданных точек и ребер. Для проецирования 3D-точек на 2D-экран используется следующая формула:
xproj = (x*f)/(z+f)
yproj = (y*f)/(z+f)
где f — фокусное расстояние, а x proj и yproj — координаты точек, которые будут размещены на экране. Моя проблема в том, что куб, который я показываю, больше похож на кубоид.
Вот как он выглядит:
Должен быть куб, выглядит как кубоид p>
Точки сохраняются в списке и проецируются на основе функции проецирования.
Я создаю 3D-рендерер, который отображает куб на основе заданных точек и ребер. Для проецирования 3D-точек на 2D-экран используется следующая формула: xproj = (x*f)/(z+f) yproj = (y*f)/(z+f) где f — фокусное расстояние, а x proj и yproj — координаты точек, которые будут размещены на экране. Моя проблема в том, что куб, который я показываю, больше похож на кубоид. Вот как он выглядит: Должен быть куб, выглядит как кубоид p> Точки сохраняются в списке и проецируются на основе функции проецирования. [code]points = [[-50, -50, 50], [-50, 50, 50], [50, 50, 50], [50, -50, 50], [-50, -50, -50], [-50, 50, -50], [50, 50, -50], [50, -50, -50]]
def project(pos, lines, fcl): pos_prj = [] for i in pos: x = i[0] y = i[1] z = i[2] try: x_prj = (x*fcl)/(z+fcl) y_prj = (y*fcl)/(z+fcl) except: x_prj = x y_prj = y draw_point([x_prj, y_prj]) pos_prj.append([x_prj, y_prj]) for i in lines: draw_edge(pos_prj[i[0]], pos_prj[i[1]])
# Projection function is called later in the main loop [/code] Я попробовал немного изменить используемую формулу (изменяя операторы, модифицируя формулу и т. д.), но это не сработало.
Я пытаюсь построить 3D -вращающийся куб с гладкой анимацией, где на заднем плане играет одно видео, но видео должно быть видно только через лица куба, например, просмотр окна. Цель состоит в том, чтобы создать иллюзию, что видео существует только за...
Я пытаюсь построить 3D -вращающийся куб с гладкой анимацией, где на заднем плане играет одно видео, но видео должно быть видно только через лица куба, например, просмотр окна. Цель состоит в том, чтобы создать иллюзию, что видео существует только за...
Я пытаюсь построить 3D -вращающийся куб с гладкой анимацией, где на заднем плане играет одно видео, но видео должно быть видно только через лица куба, например, просмотр окна. Цель состоит в том, чтобы создать иллюзию, что видео существует только за...
Я пытаюсь получить точки из изображения, спроецировать их на сферу, переместить точки по сфере, а затем преобразовать их обратно для моделирования тектоники плит. Код для получения точек с изображения работает нормально, а вот функции, связанные с...
Я пытаюсь выполнить запрос к базе данных PostgreSQL к моделям со строго типизированными идентификаторами и проецировать их на модель.
Не могу понять, почему запрос не работает..
Выдает исключение:
Unhandled exception....