На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! правила раздела Алгоритмы
1. Помните, что название темы должно хоть как-то отражать ее содержимое (не создавайте темы с заголовком ПОМОГИТЕ, HELP и т.д.). Злоупотребление заглавными буквами в заголовках тем ЗАПРЕЩЕНО.
2. При создании темы постарайтесь, как можно более точно описать проблему, а не ограничиваться общими понятиями и определениями.
3. Приводимые фрагменты исходного кода старайтесь выделять тегами code.../code
4. Помните, чем подробнее Вы опишете свою проблему, тем быстрее получите вразумительный совет
5. Запрещено поднимать неактуальные темы (ПРИМЕР: запрещено отвечать на вопрос из серии "срочно надо", заданный в 2003 году)
6. И не забывайте о кнопочках TRANSLIT и РУССКАЯ КЛАВИАТУРА, если не можете писать в русской раскладке :)
Модераторы: Akina, shadeofgray
  
> Как сделать направленное векторное поле?
    Вздумалось мне создать векторное поле, организованное неким набором потенциалов. Как линии электрических напряженностей в поле, образованном точечными электрическими зарядами. При этом было у меня одно условие, которое, как оказалось, противоречит физике явления, а мне надо. И вот как его реализовать получше - пока не могу понять.

    Мне нужно, чтобы поле представляло собой либо окружности либо прямые линии, причем, сложность как раз в том, чтобы контролировать его "прямизну" я хочу сплайнами, создаваемыми отдельно "поверх" поля.

    Т.е. я хочу получить контролируемое по направлению, но физическое по своей сути поле. Захотел - чтобы оно кружилось вокруг точки (это понятно, поставил точку, оно кружится). Захотел - чтобы поле кружилось вокруг двух точек и "отталкивалось" (тоже понятно как - создал точки с разным потенциалом). А захотел - чтобы вдоль ЗАДАННОЙ некоей линией траектории поле на ДАННОМ участке шло прямо или вдоль изогнутого сплайна. И вот с этим проблема.

    Сначала я думал, что всего лишь достаточно будет задать ряд точек с одинаковым потенциалом (соленоид) и поле пойдет вдоль этой линии. Однако, оказалось, что рядом расположенные вдоль линии точки только в некоем приближении создают вокруг себя с обоих сторон поле, направленное вдоль этой линии. Оказалось это так удобно рисовать в учебниках по физике и в целом для ряда физических экспериментов это поле соленоида можно считать направленным постоянно вдоль. А расчеты показывают, что поле соленоида не является сплошным по направлению - близко к конечным точкам единичных зарядов оно проникает внутрь соленоида. Если включить фильтр по потенциалу (EQ filter) и игнорировать слишком малые потенциалы вблизи точек, то тоолько тогда получается картина похожая на соленоид из учебника. А на самом деле поле все равно завихряется вокруг этих малых точечных зарядов.

    Мне же нужно, чтобы поле было параллельно выстраевоемой мной линии точечных зарядов и не проходило сквозь эту линию. Это возможно только при бесконечно малом расстоянии между точечными зарядами, составляющими линию, однако количество расчетов при этом превышает мыслимые значения.

    А мне, еще раз повторюсь, хотелось бы контролировать направление поля с помощью простых линий, прямых или изогнутых сплайнов, но так чтобы поле шло строго вдоль этих линий.
    Первая картинка - поле двух противоположных точечных зарядов.
    Вторая картинка - то же, плюс "соленоид" из некоего количества зарядов примерно одинакового потенциала (точки добавляются вручную, потенциал задается протягиванием, поэтому он не совсем одинаков, но это не важно сейчас). Как видно вектора напряженностей "проникают внутрь" соленоида
    Третья картинка - то же что вторая, но включен фильтр по значению напряженности, исключая слишком малые. Таким образом поле ориентировано вдоль линии, что и нужно. Только внутри, там где фильтр обрезает малые значения - пустота.

    А ХОТЕЛОСЬ БЫ - чтобы внутри линии напряженности просто повторяли направление линии.
    Вот как в последней картинке, где я их нарисовал в фотошопе красным.
    Есть идеи? :rolleyes:
    Прикреплённая картинка
    Прикреплённая картинка

    Прикреплённая картинка
    Прикреплённая картинка

    Прикреплённая картинка
    Прикреплённая картинка

    Прикреплённая картинка
    Прикреплённая картинка
    Сообщение отредактировано: мыш -
      Правильно ли я понял что тебе надо задать вихревое поле с помощью потенциального?
        В принципе да, но я бы сказал чуть иначе: нужно задать поле по заданному отрезку эквипотенциальной поверхности наверное. Которая не просто отрезок эквипотенциала, но еще и совпадает с множеством бесконечно приближенных к друг другу единичных зарядов.

        Но с небольшим уточнением - как я и описал выше (прошу прощения за то что так путанно и многобуквенно), эквипотенциальное поле в непосредственной близости к эквипотенциальному отрезку, задаваемому конечной совокупностью точек, ведет себя совсем не так как хотелось бы: оно не идет параллельно отрезку а завихряется "внутрь". А способа задать конечный отрезок иначе чем совокупностью точек не существует, поскольку в физике потенциалы задаются точками. Отрезок из равного потенциала - это, насколько я понимаю, всегда совокупность точек.

        Я бы готов даже немного сжульничать относительно физики и не прям вот строгими формулами задать а попроще. Задача не физическая у меня а эстетическая. Просто вообще не пойму как это сделать.

        Есть еще один вариант, физически точный и вообще правильный, только я наверное не смогу решить такую задачу математически: Можно ведь по заданному отрезку эквипотенциала просто рассчитать положения зарядов, формирующих этот эквипотенциал. Он будет, как на рисунке 1, неким водоразделом в середине пространства между зарядами.
          Цитата Суровый @
          Правильно ли я понял что тебе надо задать вихревое поле с помощью потенциального?

          Цитата мыш @
          В принципе да

          :scratch:
          Да но вихревое поле нельзя задать потенциалами.
          0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
          0 пользователей:


          Рейтинг@Mail.ru
          [ Script execution time: 0,1081 ]   [ 19 queries used ]   [ Generated: 19.04.24, 08:39 GMT ]