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

Delphi Sources



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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 07.10.2008, 19:59
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,505
Версия Delphi: XE10
Репутация: выкл
По умолчанию 3D График

Всем привет!!!!
В общем я решил заняться построением графиков функций в объеме, и у меня получилось не совсем то что я хотел, а именно вот что

Но это работает только если задано Sin(x) при вычислении Sin(y) вот что выходит

Код
Код:
var X,Y:Byte;
    Index:Integer;
    _x,_y,_z:Extended;
    _xmin,_xmax,_ymin,_ymax,_zmin,_zmax:Extended;
begin
  if md then Form1.Image1.Picture:=nil;
  MoveToXYZ(-100,0,0);
  LineToXYZ(100,0,0,clRed);
  MoveToXYZ(0,-100,0);
  LineToXYZ(0,100,0,clLime);
  MoveToXYZ(0,0,-100);
  LineToXYZ(0,0,100,clBlue);
  TextToXYZ(10,0,0,'X');
  TextToXYZ(0,10,0,'Y');
  TextToXYZ(0,0,10,'Z');
  TextToXYZ(0,0,0,'0');
  //
  if form1.cbDrawGrid.Checked Then
  For Index:=-10 to 10 do
    begin
      MoveToXYZ(-10,Index,0);
      LineToXYZ(10,Index,0,clSilver);
      MoveToXYZ(Index,-10,0);
      LineToXYZ(Index,10,0,clSilver);
    end;
  For x:=1 to 10 do
    for y:=1 to 10 do
      begin
        MoveToXYZ(0+10*(x)/10,0+10*(y-1)/10,Vals[x-1,y-1]);
        LineToXYZ(0+10*x/10,0+10*y/10,Vals[x-1,y-1],clGray);
        //
        MoveToXYZ(0+10*(x+1)/10,0+10*(y)/10,Vals[x,y]);
        LineToXYZ(0+10*x/10,0+10*y/10,Vals[x-1,y-1],clGray);
      end;
Подскажите пожалуйста, что я делаю не так?
__________________
— Как тебя понимать?
— Понимать меня не обязательно. Обязательно меня любить и кормить вовремя.


На Delphi, увы, больше не программирую.
Рекомендуемая литература по программированию
Ответить с цитированием
  #2  
Старый 10.10.2008, 15:59
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,505
Версия Delphi: XE10
Репутация: выкл
По умолчанию

Поставлю вопрос по другому, имеются точки в пространстве, как правильно соеденить их между собой в сетку?
__________________
— Как тебя понимать?
— Понимать меня не обязательно. Обязательно меня любить и кормить вовремя.


На Delphi, увы, больше не программирую.
Рекомендуемая литература по программированию
Ответить с цитированием
  #3  
Старый 11.10.2008, 14:59
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,505
Версия Delphi: XE10
Репутация: выкл
По умолчанию

Ну в общем как обычно пришлось все делать самому, вот решение
Код:
  For x:=1 to 20 do
    for y:=1 to 20 do
      begin
        MoveToXYZ(x-1,y,Vals[X-1,Y]);
        LineToXYZ(x,y,vals[x,y],clGray);
        MoveToXYZ(x,y-1,Vals[x,y-1]);
        LineToXYZ(x,y,vals[x,y],clGray);
      end;
__________________
— Как тебя понимать?
— Понимать меня не обязательно. Обязательно меня любить и кормить вовремя.


На Delphi, увы, больше не программирую.
Рекомендуемая литература по программированию
Ответить с цитированием
Ответ


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

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

ВКонтакте   Facebook   Twitter