Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Закрытая тема
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 15.01.2009, 19:24
Lisa01 Lisa01 вне форума
Прохожий
 
Регистрация: 15.01.2009
Сообщения: 4
Репутация: 10
Печаль Помогите написать програмку на Delphi

Помогите, пожалуйста, написать програмку - создание простой модели атома в Delphi. Очень-очень нужно Спасибо
  #2  
Старый 16.01.2009, 07:28
Interface Interface вне форума
Активный
 
Регистрация: 23.05.2008
Адрес: Россия, Уфа
Сообщения: 203
Репутация: 1
По умолчанию

Что значит
Цитата:
создание простой модели атома
Это текстовая модель? 3д модель; 2д модель???
__________________
Я ни в чем никогда не уверен... И в этом тоже...
  #3  
Старый 16.01.2009, 14:11
Lisa01 Lisa01 вне форума
Прохожий
 
Регистрация: 15.01.2009
Сообщения: 4
Репутация: 10
Лампочка

Модель атома Резерфорда - 2d, электроны должны двигаться вокруг ядра
  #4  
Старый 17.01.2009, 21:14
zerg zerg вне форума
Прохожий
 
Регистрация: 23.11.2008
Сообщения: 8
Репутация: 10
По умолчанию

Данных недостаточно. Нужно просто нарисовать? Или чтобы двигалось?
Уравнение движения по кругу: Х^2+Y^2=R^2 Только к Х и У нужно добавить смещение (так как если Вы будете это где-нибудь рисовать, то там скорее всего система отсчета привязана к верхнему левому углу)
Рисовать можно на самой форме, есть такая вещь как канва (TCanvas).
Для рисования можно поместить таймер, время срабатывания подбирается опытным путем (зависит, например, от мощности вашего компьютера). В его обработчике написать подпрограмму которая бы обновляла на форме движение вашего электрона вокруг вашего ядра. Чтобы не висло можно там же добавить Application.ProccessMessages;
  #5  
Старый 18.01.2009, 12:15
Lisa01 Lisa01 вне форума
Прохожий
 
Регистрация: 15.01.2009
Сообщения: 4
Репутация: 10
Хорошо

Большое спасибо. А как написать подпрограмму для таймера?
  #6  
Старый 18.01.2009, 20:01
Аватар для KOOL
KOOL KOOL вне форума
Активный
 
Регистрация: 06.01.2008
Адрес: Рязань
Сообщения: 306
Версия Delphi: 2009
Репутация: 6150
По умолчанию

Цитата:
Сообщение от zerg
Уравнение движения по кругу: Х^2+Y^2=R^2
Это уравнение не движения по кругу, а окружности. И в данном случае оно не поможет. Здесь нужно параметрическое уравнение x=r*cos(t); y=r*sin(t). Вот пример, думаю пригодится.
Код:
const centerx=200;  //координаты центра
      centery=200;

var   rad, angle:real; //радиус полета "электрона" и угол
      rE, rC:integer;  //радиусы "электрона" и "ядра"

procedure TForm1.Timer1Timer(Sender: TObject);
begin
  Self.Refresh;
  Canvas.Brush.Color:=$ff0000;
  Canvas.Ellipse(centerx-rC, centery-rC, centerx+rC, centery+rC);
  Canvas.FloodFill(centerx, centery, $ff00000, fsBorder);
  Canvas.Brush.Color:=$000000;
  Canvas.Ellipse(centerx+Round(rad*cos(angle))-rE, centery-Round(rad*sin(angle))-rE, centerx+Round(rad*cos(angle))+rE, centery-Round(rad*sin(angle))+rE);
  Canvas.FloodFill(centerx+Round(rad*cos(angle)), centery-Round(rad*sin(angle)), $000000, fsBorder);
  angle:=angle+pi/18;  //+10 градусов
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  angle:=0;  //исходные значения
  rad:=80;
  rE:=3;
  rC:=30;
end;
К сожалению, неизбежно мерцание. Интервал таймера-10
__________________
РГРТУ - ФВТ - Системы Автоматизированного ПРоектирования. ت
  #7  
Старый 19.01.2009, 12:57
Interface Interface вне форума
Активный
 
Регистрация: 23.05.2008
Адрес: Россия, Уфа
Сообщения: 203
Репутация: 1
По умолчанию

Цитата:
К сожалению, неизбежно мерцание
- конечно тут можно использовать DirectX и OpenGL. Но думаю тут это не к чему...
__________________
Я ни в чем никогда не уверен... И в этом тоже...
Закрытая тема


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 14:32.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025