Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.11.18;
Скачать: CL | DM;

Вниз

Моделирование движения зарядов   Найти похожие ветки 

 
Stella ©   (2007-10-21 21:41) [0]

Подскажите, пожалуйста, как можно реализовать при помощи делфи, программу движение зарядов (движутся хаоически) при p-n переходе, я что не пробывала ничего не получается, помогите плиз. Я девочка, учусь на программиста, 1 курс.


 
DVM ©   (2007-10-21 21:55) [1]


> я что не пробывала ничего не получается

если ничего не пробовать то и не получится.


> Я девочка, учусь на программиста, 1 курс.

учтем.

Конкретно, что не получается?


 
@!!ex ©   (2007-10-21 22:08) [2]

> [0] Stella ©   (21.10.07 21:41)

Код того, что не получилось - в студию!


 
Jump   (2007-10-21 23:22) [3]

А!!! Караул! Орешник слетел! Только первую страницу показывает! А!!! Там же был пример задачи падающих шаров. А тут движущиеся заряды. Собственно, одно и то же. А орешник взял да слетел... :(

P.S. ДелфиМастер разваливается... анкеты... орешник... каюк.


 
Аноним   (2007-10-22 09:37) [4]

Удалено модератором


 
Stella ©   (2007-10-22 10:57) [5]

А, что вы вообще не знаете как такое запрограммировать, код, только там совсем мало:
unit Unit1;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, ExtCtrls, StdCtrls, Buttons, ImgList;

type
 img=^TImage;
 TForm1 = class(TForm)
   BitBtn1: TBitBtn;
   BitBtn2: TBitBtn;
   Image1: TImage;
   Timer1: TTimer;
   procedure FormActivate(Sender: TObject);
   procedure BitBtn2Click(Sender: TObject);
   procedure BitBtn1Click(Sender: TObject);
 private
   { Private declarations }
 public
   { Public declarations }
 end;

const n=20;//высота поля картинки
size=20;//размер одного эемента поля в пкселях

var
 Form1: TForm1;
 New       : TControl;
 image:array[1..2*n,1..n] of img;

implementation

{$R *.dfm}

procedure draw;
var i,j:integer;
TypeClass : TControlClass;
begin
for I := 0 to n*2-1 do
begin
for j := 0 to n-1 do
begin
TypeClass:=TImage;
New:=TypeClass.Create(Form1);

if (i<=10)or(j<=10) then New.Name:="img"+"0"+IntTostr(i)+"0"+IntTostr(j)
else New.Name:=New.ClassName+IntTostr(i)+IntTostr(j);
image[i+1,j+1]:=@New;
if (i<20) and (i>10) then TImage(New).Picture.LoadFromFile("plus.bmp")
else TImage(New).Picture.LoadFromFile("minus.bmp");

TImage(New).Transparent:=true;
TImage(New).AutoSize:=true;
TImage(New).Left:=i*size;
TImage(New).Top:=j*size;
New.Parent:=Form1;
end;
end;
end;
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
Timer1.Enabled:=true;
TImage(image[3,3]).Visible:=false;
end;

procedure TForm1.BitBtn2Click(Sender: TObject);
begin
Timer1.Enabled:=false;
end;

procedure TForm1.FormActivate(Sender: TObject);
begin
draw;
end;

end.


 
Stella ©   (2007-10-22 10:58) [6]

Помогите мне, а то если вы не поможете, то никто не поможет, пожалейте меня


 
Рамиль ©   (2007-10-22 11:17) [7]


> Stella ©   (22.10.07 10:58) [6]

Объясните, что происходит в p-n переходе для начала. Я физику процесса не представляю, например. Если хаотически, то как он вообще работает? Отобразить процесс визуально это самое простое в этой задаче.


 
Рамиль ©   (2007-10-22 11:22) [8]

И не надо никаких image array ов, храните в списке (массиве) координаты, в OnPaint рисуйте все по координатам, при измении вызывайте Invalidate.
И зачем сдались TImage? есть вероятность мерцания, достаточно простой канвы и Bitmap ов (выводить на канву API TransparentBlt)


 
Stella ©   (2007-10-22 20:19) [9]

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


 
Anatoly Podgoretsky ©   (2007-10-22 20:20) [10]

> Stella  (22.10.2007 20:19:09)  [9]

Хаотично что, путь или скорость?
Но и то и другое реализуется через Random


 
@!!ex ©   (2007-10-22 20:24) [11]

> [9] Stella ©   (22.10.07 20:19)

постучись мне в асю:
228305662
и объясни толком двигаются они навстречу друг другу или все таки хаотично??


 
vpbar ©   (2007-10-22 20:26) [12]

Стелла, вы девочка, надеюсь симпатичная, что у вас на первом курсе нет парней более-менее соображающих. Задачто то не сложная, просто писать некогда. Так вы подойдите к кому-нибудь из них, мило улыбнитесь и попросите. Думаю что не откажут.


 
@!!ex ©   (2007-10-22 20:37) [13]

> [12] vpbar ©   (22.10.07 20:26)

Может и нет.


 
Stella ©   (2007-10-23 14:56) [14]

Мне не кто не хочет помочь не потому, что я страшилка, просто они такие, что ещё у меня написать им программу попросят, я же не прошу у вас программу целиком, хотя бы наброски, я сама не соображу, а помочь мне не кто не хочет даже вы


 
@!!ex ©   (2007-10-23 15:04) [15]

> [14] Stella ©   (23.10.07 14:56)

ЛОЛ...
В вашем сообщении идет подтверждение: "не потому, что я страшилка"..
Может не стоит так предложения строить?


 
@!!ex ©   (2007-10-23 17:57) [16]

http://afera-net.narod.ru/Charges.rar - 990кб
С зажатой кнопой мыши - вращение сосуда.
Скролл - Zoom
если будет тормозить, в конфиге пишите HighQuality=0  Разница в скорости - примерно в 12 раз.
Да и вообще в конфиге можно миром управлять.
Менять размеры сосуда, поведение частиц.
Сразу говорю, музыку выключить нельзя. :)
Частицы не сталкиваются, я предлагал, но заказчик сказал: "Не надо"
Я еще хотел систему частиц прикрутить, но потом подумал, что это наверно лишнее. ;)

P.S.
Stella, если разберешься в коде... молодец...
А если сможешь перед преподом выдать за свое... вдвойне молодец. :))

P.P.S.
В дальнейшем есть желание сделать демку с частицами, которые сталкиваются и честно обмениваются энергией.


 
vpbar ©   (2007-10-23 19:54) [17]

@!!ex ©   (23.10.07 17:57) [16]
P.P.S.
В дальнейшем есть желание сделать демку с частицами, которые сталкиваются и честно обмениваются энергией.

На самом деле физика процессов в рn переходе немного сложнее, поэтому хватит хаотического движения. Ибо в дальнейшем приближении нужно учитывать поля дифузные токи и все такое. К тому же положительные частицы, котороые при этом движутся - это дырки. Частицы весьма  виртуальные и столкновение электрона с дыркой - это не то что шарика с шариком.


 
@!!ex ©   (2007-10-23 19:57) [18]

> [17] vpbar ©   (23.10.07 19:54)

Да, понятно. Мы сейчас это и делаем... Пока что очень сложно.. Но вполне реально.

P.S.
Столкновение не зарядодв, а частиц элиментарных. Проще объяснить когда сделаю. Но там столкновение шариков, хотя и не совсем простое...


 
Dance   (2007-10-23 20:33) [19]

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


 
vpbar ©   (2007-10-23 21:02) [20]

>>@!!ex ©   (23.10.07 19:57) [18]
Ну молодцы. Я делал для диплома, но только внешеюю сторону + эмпирические законы. А до рельного моделирования не потянул - сложновато как то решать уравнение Шредингера в периодическом поле. Хотя можно конечно, просто задача такая вообщем не стояла.
>>Dance   (23.10.07 20:33) [19]
При столкновении электрона с дыркой происходит процесс рекомбинации с образованием фононов или фотонов.


 
@!!ex ©   (2007-10-23 21:30) [21]

> [19] Dance   (23.10.07 20:33)


> [20] vpbar ©   (23.10.07 21:02)

Реализацией столкновений не я занимаюсь, а другой человек... С высшим образованием и все такое.. собственно его идея и была.. на мне только графика. :)


 
Dance   (2007-10-23 21:36) [22]

vpbar ©   (23.10.07 21:02) [20]
Осталось это отразить в программе :)
Насчет фотонов - это интересно, что то не припомню когда электрон превращается по сути в свет. Пойду полистаю полупроводниковую физику.

@!!ex ©   (23.10.07 21:30) [21]
Но так или иначе это интересно, пусть даже графика...

Интересная мыслю вдруг возникла не в тему, а кто напишет более оптимаольную программу прикладчик или чистый программист?


 
vpbar ©   (2007-10-23 21:46) [23]

>>Dance   (23.10.07 21:36) [22]
Светодиоды видел?. Так вот там при рекомбинации  излучаются вотоны.
Интересная мыслю вдруг возникла не в тему, а кто напишет более >>оптимаольную программу прикладчик или чистый программист?
Программист по тз и алгоритмам прикладника.


 
Dance   (2007-10-23 22:16) [24]

vpbar ©   (23.10.07 21:46) [23]
Программист по тз и алгоритмам прикладника.

Может да, а может и нет.
Так как алгоритмы могут в себе содержать скрытые ошибки, и получается программист может долго не понять что же не так.
А прикладчик сразу может уловить что и где пошло при расчетах не так, так как он знает и чувствует это на практике :))
Но все же это действительно очень интересный вопрос.


 
Efir   (2007-10-23 22:20) [25]


> Dance   (23.10.07 21:36) [22]


Думаю тот, кто разбирается в этом вопросе лучше.


 
Dance   (2007-10-23 22:33) [26]

Efir   (23.10.07 22:20) [25]
Я тоже так думаю.
Не зря же специализированные проги пишут сами работники в этой области.


 
DVM ©   (2007-10-23 22:49) [27]


> @!!ex ©   (23.10.07 17:57) [16]

Даже если бы движение электронов и дырок удалось визуализировать (у меня вообще есть сомнения в смысле этой затеи как и в форме электрона в виде шарика), то вряд ли бы оно выглядело так :)


 
DVM ©   (2007-10-23 22:51) [28]

Вообще те, кто дает подобные задачи явно слабо разбираются в той области, которая описывается в задаче.


 
@!!ex ©   (2007-10-23 22:57) [29]

Да я уже несколько раз говорил, что не электроны мы двигать собрались. :))


 
DVM ©   (2007-10-23 23:04) [30]

В вузах постоянно дают задачи, истинную сложность которых преподаватели сами не понимают. Или они надеются, что эту сложность не увидят студенты. Большинство нет, но многие да.

Вот, помню мне давно как-то дали задание нарисовать качающуюся неваляшку из стороны в сторону. Предполагалось, наверное, что она должна тупо равномерно поворачиваться вокруг центра нижнего шарика.
Я тал делать погряз в расчетах - она катится на своем основании да еще сила тяжести - 286 комп тех времен не справлялся с рисованием оного из-за рассчетов.


 
Efir   (2007-10-23 23:34) [31]


> DVM ©   (23.10.07 23:04) [30]


И чё, всё объяснять только формулами?
Такие описания даются с целью хоть как-то (пусть и очень отдалённо) представить процесс для лучшего восприятия.


 
DVM ©   (2007-10-23 23:41) [32]


> И чё, всё объяснять только формулами?

не, формулы особенно из раздела квантовой физики они на любителя :)


> Такие описания даются с целью хоть как-то (пусть и очень
> отдалённо) представить процесс для лучшего восприятия.

Зачастую кое-как составленная пояснительная записка к задаче только вводит в заблуждение.


 
SergeIT   (2007-10-24 01:00) [33]

Мда!
У меня полдиссертации - подобное моделирование, но ни одной картики, демонстрирующей данный процесс наглядно. И как это показать - не представляю. Зря такие задания дают.


 
Dance   (2007-10-24 06:22) [34]

SergeIT   (24.10.07 01:00) [33]
Может зря, а может и нет. Ведь если студент начинает ковыряться в этих вопросах, то он лучше начинает понимать сам физический процесс, а самое интересное то, что когда поняв, у него может появиться вполне резонный вопрос, а зечем моделировать-то графически, все же и так ясно (ему).

Задачи такие, я считаю, в принципе интересные, но только преоды должный их давать с определенными допущениями при решении, а то так действительно можно погрязнуть в одних расчетах и до графика дело и не дойдет :)



Страницы: 1 вся ветка

Текущий архив: 2007.11.18;
Скачать: CL | DM;

Наверх




Память: 0.56 MB
Время: 0.022 c
15-1192522701
Kirillys
2007-10-16 12:18
2007.11.18
не могу войти в чат


15-1192432862
Ломброзо
2007-10-15 11:21
2007.11.18
VisioModeler


2-1193142958
__Alex
2007-10-23 16:35
2007.11.18
TListBox, MoveItems?


4-1178967178
Дмиитрий Белькевич
2007-05-12 14:52
2007.11.18
Сеанс терминальной сессии


15-1192364384
i
2007-10-14 16:19
2007.11.18
IE в висте