LINUX.ORG.RU

Векторная графика, изображение поверхностей второго порядка

 


0

1

Добрый день, подскажите, пожалуйста приложения, в которых можно рисовать поверхности и объемные фигуры векторной графики. И было бы идеально, если эти изображения можно было сохранять в формате eps. Мне для курсовой нужно изображать объемы фигур, заданных двойными интегралами и научник требует, чтобы это было все в векторной форме.. Помогите, пожалуйста. Как пример, нужно нарисовать тело, объем которого равен интегралу от функции z=x^2+y^2, где 0<=x<=1, 0<=y<=1-x.

Ответ на: комментарий от torvn77

Ну, мне просто эти изображения потом нужно будет вставить в латех. Он вроде svg тоже поддерживает, поэтому наверное подойдет. А какая идея?

math1love
() автор топика
Ответ на: комментарий от anonymous

Я пробовал, там просто выдает приложения для рисования, а мне нужно именно мат. приложения, которые строят графики и поверхности…

math1love
() автор топика

Делаешь в Inkscape в SVG, затем:

inkscape --without-gui --export-eps=epsfilename --export-area-drawing svgfilename

И получаешь EPS.

anonymous
()
Ответ на: комментарий от math1love

Мне нужно 3D, и этот сайт выдает ошибку при построении

x^2+y^2 Ось X 0 1 Ось Y 0 1

Все ok!

Владимир

anonymous
()

Гугли SMath Studio, Scilab или GNU Octave. В той или иной степени все свободные аналоги Mathcad. Во всяком случае в плане построения графиков (в том числе 3D) его способны заменить.

anonymous
()

Я бы с превеликим удовольствием, точнее удивлением, посмотрел бы преобразователь трехмерных аналитических формул в двумерные аналитические формулы, да еще представимые в двумерных векторных форматах.

anonymous
()
Ответ на: комментарий от anonymous

Я бы с превеликим удовольствием, точнее удивлением, посмотрел бы преобразователь трехмерных аналитических формул в двумерные аналитические формулы, да еще представимые в двумерных векторных форматах.

Элементарно же. Фронтальная горизонтальная и профильная плоскости проекции.

anonymous
()
Ответ на: комментарий от anonymous

Но он говорит о формулах …

Подстановка координат: XYZ -> x’y’. Не?

anonymous
()
Ответ на: комментарий от anonymous

Элементарно же.

Я не походил предмет «начертательная геометрия», но видел мучения, у кого был этот предмет, и «элементарности» там было очень мало. Например, пересечение конуса, ладно-ладно, гиперболоида с параллелепипедом.

anonymous
()
Ответ на: комментарий от anonymous

Эээ здесь нужна «Аналитическая геометрия».
Гуглим «получение формул проекций трехмерных фигур» …

Владимир

anonymous
()
Ответ на: комментарий от anonymous

Я не походил предмет «начертательная геометрия», но видел мучения, у кого был этот предмет, и «элементарности» там было очень мало. Например, пересечение конуса, ладно-ладно, гиперболоида с параллелепипедом.

Мучения возможны лишь потому, что вчерашние школьники подобного не делали. Ничего в «начерте» архисложного нет. А некоторым даже удовольствие дисциплина доставляет. Чем-то ситуация похожа на Сопромат, кстати. Сопромат — первая техническая дисциплина не имеющая прямых отсылок к школьной программе. А потому «молодняк» им пугают. А там тоже ничего страшного — он вообще моей любимой дисциплиной был на втором курсе.

P.S. Ну и как заметил анон Владимир, это скорее об аналитической геометрии. Из начертательной здесь только понятие плоскостей проекции.

anonymous
()
Ответ на: комментарий от anonymous

Гуглим

Не гуглил.

Допустим, получишь ты систему нелинейных неравенств. Как представить решение этой системы в виде «элементарных» функций? Давай, удиви меня.

anonymous
()
Ответ на: комментарий от math1love

Я скачивал mathcad и mathlab, но они все платные…

Ну разумеется. Это профессиональные продукты, сфера применения которых гораздо шире построения студенческих графиков. Ещё раз говорю, попробуй SMath Studio — она свободная и бесплатная, причем автор именно Mathcad и пытается в ней реализовать. Успешно или нет, пусть каждый уже смотрит при работе с ней в своих «маткадовских» сценариях. Студента должно удовлетворить. Есть версии как для Windows, так и для Linux.

anonymous
()
Ответ на: комментарий от anonymous

А вы об этом, разбираюсь сейчас в гнуплоте

math1love
() автор топика
Ответ на: комментарий от anonymous

Пакет PGFPlots супер, но слишком сложный, куча программирования…

math1love
() автор топика
Ответ на: комментарий от math1love

SVG от инскейпа это чистый и не очень большой xml, вектор в нём задаётся текстовой строкой и довольно хуманреадабельной, так что можешь поробовать разобраться с ним и сделать скрипт строящий нужный тебе вектор или совокупность(группу) векторов.

torvn77 ★★★★★
()
Последнее исправление: torvn77 (всего исправлений: 1)

Простейший matplotlib еще не советовали? Верхнюю границу твоей поверхности можно изобразить, например, так:

from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
import numpy as np

X = np.linspace(0, 1, 50)
Y = np.linspace(0, 1, 50)
X1, Y1 = np.meshgrid(X, Y)
XY = list(filter(lambda x: x[0]+x[1]<=1, zip(X1.flatten(),Y1.flatten())))
X2, Y2 = list(zip(*XY))
Z = list(map(lambda x: x[0]**2+x[1]**2, XY))

fig = plt.figure()
ax = fig.gca(projection='3d')
ax.plot_trisurf(X2, Y2, Z, linewidth=0.2, antialiased=True)
plt.show()

А уж сохранить результат для вставки в LaTeX можно в разных форматах, хоть в pgf.

TeopeTuK ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.