Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Сделать график распределения расстояний между простыми числами


Автор: Vit 7.2.2005, 21:43
Сначала берёшь максимальное расстояние между числами и сравниваешь его с высотой экрана GetMaxY, чтобы график поместился полностью в высоту + оставить некоторое пространство для других деталей. Аналогично с шириной графика.
Далее, делишь ширину на кол-во найденных простых чисел, чтобы узнать зазор между каждым.

Код
MX - GetMaxX
MY - GetMaxY

MarginX - зазор между графиком и экраном по оси X
MarginY - зазор между графиком и экраном по оси Y
OrigX - начальная координата графика по оси X
OrigY - начальная координата графика по оси Y

Height - высота графика
Width - ширина графика
WBar - ширина столбика (допустим, 10)
Step - зазор между столбиками
MaxDist - макс. растояние между простыми числами (собственно, высота столбика)
ScaleY - масштаб высоты столбика


Код
//определение начала координат графика
OrigX := (MX - 2 * MarginX) div 2;
OrigY := (MY - 2 * MarginY) div 2;

Step := (Width - WBar * PrimeCount) div (PrimeCount - 1);
ScaleY := Height div MaxDist;

For k := 1 to PrimeCount do
begin
  BarHeight := ScaleY * Distance[k];
  DrawBar (BarHeight, k); // рисуешь к-тый столбик высотой BarHeight. Позицию вычисли сам
end;


Надеюсь, разъяснил более (менее?) понятно.  :cool

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)