Есть много подходов. Я бы лично создал изображение в библиотеке изображений 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')
Очевидно, что нужно проделать небольшую работу, устранение осей, изменение угла обзора и т. Д.
Еще одна привязка, которую следует учитывать при рендеринге с помощью opengl, - это pyglet . Его лучшая особенность в том, что это всего одна загрузка. Я думаю, он содержит все, что вам нужно для реализации того, что предлагает Анураг.
Я предупреждаю вас, что то, что вы пытаетесь сделать, не совсем простой первый проект в трехмерной графике. Если это ваше первое знакомство с OpenGL, рассмотрите серию руководств, таких как NeHe Tutorials и другую справку с веб-сайта OpenGL .
.Я Не уверен, что я возьмусь за полную 3D-библиотеку для того, что у вас есть выше.
Используйте привязки 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 .