Генерация 3D КАПЧИ [рис.]

другая схема, показывающая __proto__ , прототип и конструктор отношений: enter image description here

12
задан Paul 5 September 2014 в 04:09
поделиться

4 ответа

Есть много подходов. Я бы лично создал изображение в библиотеке изображений Python, используя ImageDraw файл draw.text, преобразовав его в массив NumPy (usint NumPy asarray ), а затем отрендеринг с помощью Matplotlib . (Требуется пакет обслуживания Matplotlib .)

Полный код (в версии 2.5):

import numpy, pylab
from PIL import Image, ImageDraw, ImageFont
import matplotlib.axes3d as axes3d

sz = (50,30)

img = Image.new('L', sz, 255)
drw = ImageDraw.Draw(img)
font = ImageFont.truetype("arial.ttf", 20)

drw.text((5,3), 'text', font=font)
img.save('c:/test.png')

X , Y = numpy.meshgrid(range(sz[0]),range(sz[1]))
Z = 1-numpy.asarray(img)/255

fig = pylab.figure()
ax = axes3d.Axes3D(fig)
ax.plot_wireframe(X, -Y, Z, rstride=1, cstride=1)
ax.set_zlim((0,50))
fig.savefig('c:/test2.png')

alt text

Очевидно, что нужно проделать небольшую работу, устранение осей, изменение угла обзора и т. Д.

33
ответ дан 2 December 2019 в 03:43
поделиться

Еще одна привязка, которую следует учитывать при рендеринге с помощью opengl, - это pyglet . Его лучшая особенность в том, что это всего одна загрузка. Я думаю, он содержит все, что вам нужно для реализации того, что предлагает Анураг.

Я предупреждаю вас, что то, что вы пытаетесь сделать, не совсем простой первый проект в трехмерной графике. Если это ваше первое знакомство с OpenGL, рассмотрите серию руководств, таких как NeHe Tutorials и другую справку с веб-сайта OpenGL .

.
4
ответ дан 2 December 2019 в 03:43
поделиться

Я Не уверен, что я возьмусь за полную 3D-библиотеку для того, что у вас есть выше.

2
ответ дан 2 December 2019 в 03:43
поделиться

Используйте привязки Python для OpenGL, http: // pyopengl. sourceforge.net/[1123404 impression.[12128 sizes Создайте двухмерное изображение текста белого цвета на черной поверхности, используя PIL . Сделайте из этого трехмерную сетку, увеличьте z точки, где цвет белый, можно установить значение z = color, чтобы, размывая изображение, можно было получить реальные кривые в направлении z.

Создайте треугольник OpenGL из этих точек, используйте режим каркаса при визуализации.

Захватите буфер OpenGL в изображение, например, http://python-opengl-examples.blogspot.com/2009/04/render-to-texture.html .

1
ответ дан 2 December 2019 в 03:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: