Pascal/Delphi. Построение силовых линий

Ответить
Anton_XXX
Сообщения: 108
Зарегистрирован: 21 дек 2006, 17:15

Привет Всем!
Помогите с задачей на Pascal, мож на Delphi
Уже 2 неделю маюсь, никак не выходит у мя((

Задача:

Разработать метод построения силовых линий электрического поля, созданного системой зарядов, находящихся в одной плоскости.

Хотяб алгоритм скажите плызззз...
Спасиб!)
Аватара пользователя
Turboworld
Сообщения: 29
Зарегистрирован: 27 дек 2007, 23:31
Контактная информация:

А скинь ка хотя бы картинку - как они выглядят, эти линии.... для двух зарядов... и для трёх желательно... чтобы примерно представить чо нужно изобразить графически :)

http://window.edu.ru/window_catalog/pdf ... 4&p_page=7 - вот это посмотри.
http://window.edu.ru/window_catalog/red ... isu003.pdf - а это скачай. Там как раз про моделирование векторных полей и пишут. :)

Успехов ;)
Решаю задачки на Паскале. Практически любой сложности. Да, дорого. Но договориться всегда можно. Аська 337351594 ;)
Аватара пользователя
Turboworld
Сообщения: 29
Зарегистрирован: 27 дек 2007, 23:31
Контактная информация:

и еще вот что нашел - тут чисто про построение походу :)

http://physics.tsu.tula.ru/bib/izv/4/grafsky.doc (3 Мб)

Читай не хочу, называется :)
Решаю задачки на Паскале. Практически любой сложности. Да, дорого. Но договориться всегда можно. Аська 337351594 ;)
Anton_XXX
Сообщения: 108
Зарегистрирован: 21 дек 2006, 17:15

Спасибо за ссылки, это я уже все видел)
Вот тут есть exe программа построения силовых линий. Жаль, кода автор не оставил((


Смотрите: http://smartcinema.jino-net.ru/1.rar
Anton_XXX
Сообщения: 108
Зарегистрирован: 21 дек 2006, 17:15

Вот проверьте, правильно ли я рассписал эти формулы:

Изображение

program ex_1;
uses crt;
var
E,Ey,Ex:array[0..100] of real;
z,x,y,q:array[0..100] of real;
N,i:integer; {x[0] - координата видимой точки}
{x - координата i-того заряда}

begin
Ex[x]:=0;
Ey[y]:=0;

x[0]:=0;
y[0]:=0;

q[1]:=0.000000005; {первый заряд}
q[2]:=0.000000008; {второй заряд}

x[1]:=100; y[1]:=100; {координата 1 заряда}
x[2]:=400; y[2]:=300; {координата 2 заряда}

for i:=1 to N do
begin
x[N+i]:=sqr(x[0]-x);
y[N+i]:=sqr(y[0]-y);
z[N+i]:=sqr(z[0]-z);

Ex:=q*(x[0]-x)/sqrt((x[N+i]+y[N+i]+z[N+i])*(x[N+i]+y[N+i]+z[N+i])*(x[N+i]+y[N+i]+z[N+i]));
Ey:=q*(y[0]-y)/sqrt((x[N+i]+y[N+i]+z[N+i])*(x[N+i]+y[N+i]+z[N+i])*(x[N+i]+y[N+i]+z[N+i]));
Ex[0]:=Ex[0]+Ex[i];
Ey[0]:=Ey[0]+Ey[i];

end;

E[k]:=sqrt(sqr(Ex[0])+sqr(Ey[0])); {получаем общий E двух зарядов}

end.
atavin-ta
Сообщения: 585
Зарегистрирован: 30 янв 2009, 06:38

Мне тоже надо построить силовые линии электрического поля. Но поле имеет вихревую составляющую, а его напряжённость поставляется готовым алгоритмом в виде массива значений вектора, отнесенных к центрам паралелипеиальных ячеек (точкам, регуолярно распределённых в пространстве). Нужен только алгоритм визуализации, но не рассчёта. Пишу на С++, но алгоритм лучше описать по-русски.
dr.Jekill
Сообщения: 526
Зарегистрирован: 03 янв 2009, 23:17
Откуда: Voronezh
Контактная информация:

Почитай физику... подумай...
Задача, не такая уж и сложная, просто модераторам (как, наверно, и мне) лень.
Нет религии выше истины
atavin-ta
Сообщения: 585
Зарегистрирован: 30 янв 2009, 06:38

&quot писал(а):Почитай физику... подумай...
Именно на основе знаний физики я и сделал алгоритм и прогу для рассчёта напряжённости. Проблема в алгоритме визуализации, а не в физике.
Вопрос: "Почему вы все сионисты? Нельзя ли писать на чём то другом?".
Ответ: "Писать можно на чём угодно. Но зачем же так себя ограничивать? Пиши на С!".
Ответить