Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2007.11.18;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.54 MB
Время: 0.052 c
15-1192190259
Cyrax
2007-10-12 15:57
2007.11.18
Дистрибьютеры, дилеры и ремонт техники в сервисных центрах...


2-1193317094
timekiller
2007-10-25 16:58
2007.11.18
XML, TComboBox


15-1192360899
asker
2007-10-14 15:21
2007.11.18
turbo basic for windows


2-1193163627
opoloXAI
2007-10-23 22:20
2007.11.18
Как вставить в TEdit знак "&amp;#216;"?


2-1193118344
F@T@L_Err0r
2007-10-23 09:45
2007.11.18
Выбор папки





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский