Member
Статус: Не в сети Регистрация: 08.05.2007 Откуда: скил в BF3?
Ребят подскажите пожалуйста как можно нарисовать трёмерный график фукции (зависимость 2 переменных от времени) в дельфи? если можно примерчик какой нибудь. З.Ы. не посылайте на OpenGL. З.ы.ы усановыл GLscene но чёт анемагу разобратся... может кто работал, подскажите?
_________________ Когда в 1850 году из Европы в Америку привезли первую партию воробьёв, американцы так обрадовались, что закормили их всех до смерти
Member
Статус: Не в сети Регистрация: 04.12.2009 Откуда: Питер
SpuTnick писал(а):
Ребят подскажите пожалуйста как можно нарисовать трёмерный график фукции (зависимость 2 переменных от времени) в дельфи? если можно примерчик какой нибудь. З.Ы. не посылайте на OpenGL. З.ы.ы усановыл GLscene но чёт анемагу разобратся... может кто работал, подскажите?
Само по-себе дело несложное. Переменные меняются в реал-тайме, или статичный график? GLScene нужно использовать обязательно, или хватит GDI?
_________________ курить я, конечно, не брошу, но пить буду обязательно.
Member
Статус: Не в сети Регистрация: 08.01.2005 Откуда: Москва
SpuTnick писал(а):
Ребят подскажите пожалуйста как можно нарисовать трёмерный график фукции (зависимость 2 переменных от времени) в дельфи? если можно примерчик какой нибудь.
Member
Статус: Не в сети Регистрация: 08.05.2007 Откуда: скил в BF3?
сукинкот
сукинкот писал(а):
Переменные меняются в реал-тайме, или статичный график?
не т график статический.. Просто задаётся период наблюдения и вычисляется значения переменных
сукинкот писал(а):
GLScene нужно использовать обязательно, или хватит GDI?
не обязательно. это лишь то, с чего я начал пробовать. нашел небольшой хелп с примерами, а там дальше методом научного тыка коёчё стало вырисовываться.
H(CHCl11B11) наслышан про OpenGL, может и не правда... но спасибо, всё равно...Обязательно посмотрю пример.
_________________ Когда в 1850 году из Европы в Америку привезли первую партию воробьёв, американцы так обрадовались, что закормили их всех до смерти
Подскажите, как в делфи объявить массив в объекте, если его размер задается в ходе выполнения программы? Алсо, приветсвуются другие указания на любые косяки, ибо это первая попытка на практике перейти к ооп.
Код:
program Project2;
{$APPTYPE CONSOLE}
uses SysUtils;
type flak=object
n,m:byte; r:integer; mas:array[1..n,1..m] of integer; {тут компилятор выдает косяк, что не вызывает удивления}
procedure init(n,b:byte;r:integer); procedure masrand; procedure masout; function diag:integer; end;
procedure flak.init(n1,b1:byte;r1:integer); var n1,b1:byte; r1:integer; begin n:=n1; b:=b1; r:=r1; end;
procedure flak.masrand; var i,j:byte; begin for i:=1 to n do for j:=1 to b do mas[i,j]:=random(r)-r/2; end;
procedure flak.masout; var i,j:byte; begin for i:=1 to n do begin for j:=1 to b do write(mas[i,j]:4); writeln; end;
function flak.diag:integer; var k,i:byte; s:integer; begin k:=0; if n>b then k:=n else k:=b; for i:=1 to k do s:=s+mas[i,j]; diag:=s; end;
var keke:flak; x,y:byte; z:integer; st:string;
begin {main} writeln; write ('x='); readln(x); writeln; write ('y='); readln(y); writeln; write ('z='); readln(z); writeln; with keke do begin {keke} init(x,y,z); masrand; masout; end; {/keke} writeln ('diag_sum= ', keke.diag); readln(st); end. {/main}
ок, уже есть другая проблема: в данном случае все компилируется, но при запуске ничего не происходит (мельком появляется и исчезает рабочий экран), компилятор выдает два предупреждения (именно в таком порядке):
Цитата:
[Warning] Project2.dpr(113): Variable 'guy' might not have been initialized [Warning] Project2.dpr(109): Variable 'daddy' might not have been initialized
Код:
program Project2;
{$APPTYPE CONSOLE}
const n=10;
type dad=class public mas:array [1..n,1..n] of integer; procedure output; constructor create(ra:integer); private mdd:integer; function maxd:integer; end;
Так, компилятор уже с daddy.create(20); уходит на readln(st); в конструкторе почему-то уже при i=1 и j=1 на строке mas[i,j]:=random(ra); все вываливается... UPD: guy.create(15); выполняется успешно, но вываливается, не начав выполнять guy.output;
lRiddick основы паскаля и структрного программирования имхо доступно описаны в книге "программирование на языке паскаль" (автор О.Н.Перминов, издательство "Радио и связь", 1988 год )
Так, компилятор уже с daddy.create(20); уходит на readln(st); в конструкторе почему-то уже при i=1 и j=1 на строке mas[i,j]:=random(ra); все вываливается... UPD: guy.create(15); выполняется успешно, но вываливается, не начав выполнять guy.output;
ты через step into в дебаге шёл или step over? если в начале конструктора поставить
Через trace into (F7). И да, на mas[1,1]:=1; все вываливается. В конструкторе точно можно заполнять массив? Компилятор- Delphi 7. UPD: подправил прогу, теперь все вываливается сразу после выполнения конструктора:
Код:
program Project2;
{$APPTYPE CONSOLE}
const n=3;
type dad=class public mas:array [1..n,1..n] of integer; procedure init(ra:integer); procedure output; constructor create; private mdd:integer; function maxd:integer; end;
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения