Форум: "Начинающим";
Текущий архив: 2005.12.18;
Скачать: [xml.tar.bz2];
ВнизРабота с Canvas. Найти похожие ветки
← →
Катерина (2005-11-29 18:27) [0]Помогите с графиком разобраться пожалуйста!надо построить график синусоиды.в общем все строится,осталась одна проблема:как правильно ограничить PX, т е координату по оси X,чтобы строился только один период синусоиды и как расположить правильно ось OY.Т.е.надо чтоб сам график проходил через точку (0,0)вот программка для наглядности:
procedure TForm1.BtnPaintClick(Sender: TObject);
var
X, Y, A, w: real; // координаты функции,амплитуды,частоты
PX, PY: longint; // координаты пикселей}
begin
try
A := StrToFloat (Edit1.Text);
if (StrToFloat(Edit1.Text)>1) then
begin
showmessage ("Амплитуда должна быть не больше единицы!");
exit;
end;
w := StrToFloat (Edit2.Text);
except showmessage("Проверьте ввод!Следует ввести числовые значения!");
end;
with Canvas do begin
MoveTo (190, ClientHeight div 2);
LineTo (ClientWidth-90, ClientHeight div 2);
MoveTo (ClientWidth div 2 , 0);
LineTo (ClientWidth div 2 , ClientHeight);
end;
for PX:=200 to (ClientWidth-100) do
begin
X := PX*4*Pi*w/(ClientWidth-100);
Y := A*Sin(X);
PY := trunc(ClientHeight - (Y+1)*ClientHeight/2);
Canvas.LineTo (PX,PY);
end;
end;
← →
Юрий Зотов © (2005-11-30 07:02) [1]Есть интервал значений по оси Y: от -1 до +1, причем -1 соответствует ClientHeigh, +1 соответствует нулю, а ось X проходит посередине высоты формы.
Есть интервал значений по оси X: от -Pi до +Pi, причем -Pi соответствует нулю, +Pi соответствует ClientWidth, а ось Y проходит посередине ширины формы.
Все остальное - элементарные пропорции из начальной школы плюс смещение на середину формы. Неужели это так сложно?
PX = Trunc((ClientWidth div 2) * (1 + X / Pi));
PY = Trunc((ClientHeight div 2) * (1 - Sin(X)));
← →
Катерина (2005-11-30 08:58) [2]Да это так сложно!
← →
Юрий Зотов © (2005-11-30 09:03) [3]> Катерина (30.11.05 08:58) [2]
Килограмм масла стоит 150 руб. Сколько стоит 200-граммовая пачка этого масла, если ее упаковка стоит 1 рубль?
Эту задачку Вы решите влегкую - а ведь здесь то же самое. Элементарная пропорция плюс смещение на стоимость упаковки.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2005.12.18;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.013 c