Форум: "Начинающим";
Текущий архив: 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