Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Мультимедиа в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.04.2012, 14:16   #11
neomax38
Пользователь
 
Регистрация: 17.09.2010
Сообщений: 72
По умолчанию

Все конечно норм, но вот теперь не могу найти центральную точку от которой строится поверхность
Вложения
Тип файла: zip lesson28.zip (178.0 Кб, 14 просмотров)
neomax38 вне форума Ответить с цитированием
Старый 26.04.2012, 17:46   #12
Rin
Негодник
Форумчанин
 
Аватар для Rin
 
Регистрация: 10.11.2009
Сообщений: 880
По умолчанию

"Центральная точка" находится либо в (-0.75,0,-0.5), либо в (0.75,0,-0.5)-смотря с какой стороны ты будешь диск рисовать.
Если помог, проси поставить минус. Будь оригинален!
Rin вне форума Ответить с цитированием
Старый 26.04.2012, 18:35   #13
neomax38
Пользователь
 
Регистрация: 17.09.2010
Сообщений: 72
По умолчанию

Цитата:
Сообщение от Rin Посмотреть сообщение
"Центральная точка" находится либо в (-0.75,0,-0.5), либо в (0.75,0,-0.5)-смотря с какой стороны ты будешь диск рисовать.
Да дело не в том... Форма вазы неправильная, видимо из-за того что из одной точки строится
neomax38 вне форума Ответить с цитированием
Старый 26.04.2012, 19:42   #14
Rin
Негодник
Форумчанин
 
Аватар для Rin
 
Регистрация: 10.11.2009
Сообщений: 880
По умолчанию

Я сначала не до конца понял как рисуется 1-ая часть вазы. Пришлось открыть делфи.
Вот координаты 2-ой части вазы:
Код:
  mybezier1[0,0,0]:=-0.75;mybezier1[0,0,1]:=-0.75; mybezier1[0,0,2]:=-0.5;
  mybezier1[0,1,0]:=-0.25;mybezier1[0,1,1]:=-0.75; mybezier1[0,1,2]:=-1;
  mybezier1[0,2,0]:=0.25; mybezier1[0,2,1]:=-0.75; mybezier1[0,2,2]:=-1;
  mybezier1[0,3,0]:=0.75; mybezier1[0,3,1]:=-0.75; mybezier1[0,3,2]:=-0.5;

  mybezier1[1,0,0]:=-0.75;mybezier1[1,0,1]:=-0.25;mybezier1[1,0,2]:=-0.5;
  mybezier1[1,1,0]:=0;    mybezier1[1,1,1]:=0;    mybezier1[1,1,2]:=-1;
  mybezier1[1,2,0]:=0;    mybezier1[1,2,1]:=0;    mybezier1[1,2,2]:=-1;
  mybezier1[1,3,0]:=0.75; mybezier1[1,3,1]:=-0.25;mybezier1[1,3,2]:=-0.5;

  mybezier1[2,0,0]:=-0.75;mybezier1[2,0,1]:=0.25; mybezier1[2,0,2]:=-0.5;
  mybezier1[2,1,0]:=0;    mybezier1[2,1,1]:=0;    mybezier1[2,1,2]:=-1;
  mybezier1[2,2,0]:=0;    mybezier1[2,2,1]:=0;    mybezier1[2,2,2]:=-1;
  mybezier1[2,3,0]:=0.75; mybezier1[2,3,1]:=0.25; mybezier1[2,3,2]:=-0.5;

  mybezier1[3,0,0]:=-0.75;mybezier1[3,0,1]:=0.75;mybezier1[3,0,2]:=-0.5;
  mybezier1[3,1,0]:=-0.25;mybezier1[3,1,1]:=0.75;mybezier1[3,1,2]:=-2;
  mybezier1[3,2,0]:=0.25; mybezier1[3,2,1]:=0.75;mybezier1[3,2,2]:=-2;
  mybezier1[3,3,0]:=0.75; mybezier1[3,3,1]:=0.75;mybezier1[3,3,2]:=-0.5;
Теперь тебе осталось сделать дно вазы, которое по форме напоминает человеческий глаз.
Если помог, проси поставить минус. Будь оригинален!

Последний раз редактировалось Rin; 26.04.2012 в 19:48.
Rin вне форума Ответить с цитированием
Старый 27.04.2012, 12:03   #15
neomax38
Пользователь
 
Регистрация: 17.09.2010
Сообщений: 72
По умолчанию

Цитата:
Сообщение от Rin Посмотреть сообщение
Я сначала не до конца понял как рисуется 1-ая часть вазы. Пришлось открыть делфи.
Вот координаты 2-ой части вазы:
Код:
  mybezier1[0,0,0]:=-0.75;mybezier1[0,0,1]:=-0.75; mybezier1[0,0,2]:=-0.5;
  mybezier1[0,1,0]:=-0.25;mybezier1[0,1,1]:=-0.75; mybezier1[0,1,2]:=-1;
  mybezier1[0,2,0]:=0.25; mybezier1[0,2,1]:=-0.75; mybezier1[0,2,2]:=-1;
  mybezier1[0,3,0]:=0.75; mybezier1[0,3,1]:=-0.75; mybezier1[0,3,2]:=-0.5;

  mybezier1[1,0,0]:=-0.75;mybezier1[1,0,1]:=-0.25;mybezier1[1,0,2]:=-0.5;
  mybezier1[1,1,0]:=0;    mybezier1[1,1,1]:=0;    mybezier1[1,1,2]:=-1;
  mybezier1[1,2,0]:=0;    mybezier1[1,2,1]:=0;    mybezier1[1,2,2]:=-1;
  mybezier1[1,3,0]:=0.75; mybezier1[1,3,1]:=-0.25;mybezier1[1,3,2]:=-0.5;

  mybezier1[2,0,0]:=-0.75;mybezier1[2,0,1]:=0.25; mybezier1[2,0,2]:=-0.5;
  mybezier1[2,1,0]:=0;    mybezier1[2,1,1]:=0;    mybezier1[2,1,2]:=-1;
  mybezier1[2,2,0]:=0;    mybezier1[2,2,1]:=0;    mybezier1[2,2,2]:=-1;
  mybezier1[2,3,0]:=0.75; mybezier1[2,3,1]:=0.25; mybezier1[2,3,2]:=-0.5;

  mybezier1[3,0,0]:=-0.75;mybezier1[3,0,1]:=0.75;mybezier1[3,0,2]:=-0.5;
  mybezier1[3,1,0]:=-0.25;mybezier1[3,1,1]:=0.75;mybezier1[3,1,2]:=-2;
  mybezier1[3,2,0]:=0.25; mybezier1[3,2,1]:=0.75;mybezier1[3,2,2]:=-2;
  mybezier1[3,3,0]:=0.75; mybezier1[3,3,1]:=0.75;mybezier1[3,3,2]:=-0.5;
Теперь тебе осталось сделать дно вазы, которое по форме напоминает человеческий глаз.
Ооо Как же по этим координатам нарисовать?
Тут для одной координаты место в массиве..
как привести к виду:
Код:
 mybezier.anchors[0,0] := makePoint(-0.75,-0.75,-0.5);
neomax38 вне форума Ответить с цитированием
Старый 27.04.2012, 20:49   #16
Rin
Негодник
Форумчанин
 
Аватар для Rin
 
Регистрация: 10.11.2009
Сообщений: 880
По умолчанию

Код:
  mybezier1[0,0,0]:=-0.75;    // X
  mybezier1[0,0,1]:=-0.75;    // Y
  mybezier1[0,0,2]:=-0.5;     // Z
равно
Код:
 
//////////////////////////////////////X//////Y/////Z
 mybezier.anchors[0,0] := makePoint(-0.75,-0.75,-0.5);
Если помог, проси поставить минус. Будь оригинален!
Rin вне форума Ответить с цитированием
Старый 13.05.2012, 14:00   #17
neomax38
Пользователь
 
Регистрация: 17.09.2010
Сообщений: 72
По умолчанию

Все прекрасно кроме одной точки
Не могу понять какая из них. Пытался по очереди изменять но ни как

Последний раз редактировалось neomax38; 13.05.2012 в 18:36.
neomax38 вне форума Ответить с цитированием
Старый 14.05.2012, 00:10   #18
Rin
Негодник
Форумчанин
 
Аватар для Rin
 
Регистрация: 10.11.2009
Сообщений: 880
По умолчанию

Цитата:
Все прекрасно кроме одной точки
Кроме двух точек, если быть точнее.
Проверь эти координаты. Они должны быть такими!
Код:
 mybezier1.anchors[0,1] := makePoint(-0.25,-0.75,-1);
 mybezier1.anchors[0,2] := makePoint(0.25,-0.75,-1);

 mybezier1.anchors[3,1] := makePoint(-0.25,0.75,-2);
 mybezier1.anchors[3,2] := makePoint(0.25,0.75,-2);
Если помог, проси поставить минус. Будь оригинален!
Rin вне форума Ответить с цитированием
Старый 14.05.2012, 15:57   #19
neomax38
Пользователь
 
Регистрация: 17.09.2010
Сообщений: 72
По умолчанию

Все так и есть (
Вложения
Тип файла: zip lesson28.zip (178.0 Кб, 13 просмотров)
neomax38 вне форума Ответить с цитированием
Старый 14.05.2012, 17:22   #20
Rin
Негодник
Форумчанин
 
Аватар для Rin
 
Регистрация: 10.11.2009
Сообщений: 880
По умолчанию

А ты найди в коде такую вещь:

Цитата:
mybezier1.anchors[1,0] := makePoint(-0.75,-0.25,-0.5);
mybezier1.anchors[1,1] := makePoint(0,0,-1);
mybezier1.anchors[1,2] := makePoint(0,0,-1);
mybezier1.anchors[1,1] := makePoint(0.75,-0.25,-0.5);
Исправь то, что выделено красным, и увидишь, что все правильно!
Если помог, проси поставить минус. Будь оригинален!

Последний раз редактировалось Rin; 14.05.2012 в 17:38.
Rin вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
delphi поверхность Безье un_known Мультимедиа в Delphi 8 27.03.2012 07:18
Кривая Безье. Muaxaxa Помощь студентам 2 28.11.2011 00:49
Win API, чайник и Delphi Crabobass Общие вопросы Delphi 2 19.04.2011 11:29
Поверхности второго порядка (Delphi) Казанцев Андрей Помощь студентам 2 10.05.2009 16:12
Кривая Безье ELL Помощь студентам 4 20.05.2008 22:56