Нужна простая программа для построения 3D векторных полей

Вопрос или проблема

Мне нужно построить 3D электрическое поле, поэтому подойдет либо график векторного поля (длина стрелки = сила поля), либо линии потока.

Я НЕ занимаюсь кодированием или программированием, так что не использую matplotlib, Matlab, Mathematica, Python и т. д. В прошлом я использовал Desmos для создания 2D графиков и других вещей.

Есть какие-нибудь предложения? Спасибо.

Без кода

Чтобы построить 3D векторное поле в Desmos, вы можете использовать что-то вроде Графика векторного поля от Эллиота Уаймора. Для этого инструмента вам просто нужно указать три компонента векторной функции. Вы также можете изменить область для построения, а также длину и толщину векторов.

Другой проект, основанный на GeoGebra, – это 3D векторное поле от Хуана Карлоса Понсе Кампузано. Однако он немного хуже, чем предыдущий вариант, так как у вас есть только возможность масштабировать весь график, и деления осей даже не изменяются с учетом масштаба.

Однострочник

Хотя вы указали, что не хотите писать код, следующие варианты на самом деле представляют собой всего лишь одну строку вызова функции и не сложнее, чем сказать “x-компонента функции равна …, а y-компонента равна…, и т.д.” на естественном языке. Они предоставляются как резервные варианты на случай, если вам понадобятся более тонкие настройки или более привлекательные графики.

Вы можете использовать plot_vector_field3d() функцию в SageMath. Просто скопируйте две строки примерного кода, указанные в документации, которые также приведены с аннотацией ниже, в SageMathCell (это онлайн, так что вам не нужно настраивать ничего локально), и измените на функцию, которую хотите построить.

# Объявите переменные
x,y,z = var('x y z')
# Три компоненты функции,
# за которыми следуют диапазоны x, y и z осей во входных данных.
plot_vector_field3d((x*cos(z), -y*cos(z), sin(z)),
                     (x,0,pi), (y,0,pi), (z,0,pi))

Если у вас есть Mathematica (я пробовал метод ниже, используя WolframAlpha, но, к сожалению, это не работает), вы можете просто использовать функцию VectorPlot3D. Вот пример из документации:

VectorPlot3D[{x, y, z}, {x, -1, 1}, {y, -1, 1}, {z, -1, 1}]

Первый аргумент указывает функцию, которую вы строите, как f(x) = <x, y, z>, в то время как следующие три аргумента ограничивают оси x, y и z всем диапазоном [-1, 1].

Ответ или решение

Конечно! Если вам нужно построить 3D векторное поле (например, электрическое поле) без необходимости программирования, вот несколько простых и доступных инструментов.

1. Desmos

Вы можете использовать Vector Field Grapher от Эллиота Уаймора. Это интерактивный графический редактор, где вы сможете задать три компонента векторного поля. Инструмент позволяет менять область, в которой вы будете строить график, а также регулировать длину и толщину стрелок.

2. GeoGebra

Другой вариант – использование 3D Vector Field от Хуана Карлоса Понсе Кампусано, основанного на GeoGebra. Этот инструмент позволяет вам строить 3D векторными полями, хотя он немного менее функционален по сравнению с Desmos. В нем вы сможете регулировать масштаб всего графика, но деление по осям не будет изменяться в зависимости от масштаба.

3. Сервисы без кодирования

Хотя вы упомянули, что не хотите писать код, есть простые онлайн-сервисы, которые требуют минимального ввода от вас. Например, можно использовать SageMath.

Вы можете зайти на SageMathCell и просто вставить два простых строкового кода из документации. Вот пример:

# Объявляем переменные
x,y,z = var('x y z')
# Три компонента векторного поля, и диапазоны для осей
plot_vector_field3d((x*cos(z), -y*cos(z), sin(z)), (x,0,pi), (y,0,pi), (z,0,pi))

Просто измените функцию и диапазоны на те, которые вас интересуют.

4. WolframAlpha

Если у вас есть доступ к Mathematica, вы можете воспользоваться командой VectorPlot3D. Вот как это можно сделать:

VectorPlot3D[{x, y, z}, {x, -1, 1}, {y, -1, 1}, {z, -1, 1}]

В первом аргументе указывается функция, которую вы хотите построить. Вторые три аргумента определяют диапазоны для каждой из осей.

Заключение

Если вы ищете простые, готовые к использованию инструменты для построения 3D векторных полей, я рекомендую начать с Desmos или GeoGebra. Эти платформы достаточно интуитивно понятны и не требуют программирования. Если же вы захотите больше контроля над графиками, вы можете рассмотреть SageMath или WolframAlpha как более продвинутые инструменты. Надеюсь, это поможет вам создать нужный график!

Оцените материал
Добавить комментарий

Капча загружается...