IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

2 страниц V < 1 2  
 Ответить  Открыть новую тему 
> Трёхмерная графика, Пирамида
volvo
сообщение 12.03.2006 12:41
Сообщение #21


Гость






art88, blum.gif
В процедуре PlaneTri:
Цитата
Line(Round(aInt[1].x), Round(aInt[1].y), Round(aInt[2].x), Round(aInt[2].y));

У меня отработало нормально, сечение чертится... yes2.gif
 К началу страницы 
+ Ответить 
art88
сообщение 12.03.2006 15:04
Сообщение #22


Новичок
*

Группа: Пользователи
Сообщений: 40
Пол: Мужской
Реальное имя: Артём

Репутация: -  0  +


Volvo, прошу прощения за столь тупую ошибкку. rolleyes.gif
Но у меня всё равно линия сечения не правильная(не замыкается, т.е. приходит не в ту точку).
А если поменять плоскость, то вообще какая-то ерунда получается!

Сообщение отредактировано: art88 - 12.03.2006 15:05
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 12.03.2006 15:23
Сообщение #23


Гость






Да, совсем забыл ... Я еще кое-что поменял:
procedure GenTri(var t: tTriangle);
var
i: integer;
begin
for i:= 1 to n - 1 do begin

if i = n - 1 then t.c:= pyr[1] { <--- Здесь у тебя было pyr[ 2 ]... Почему? }
else t.c:= pyr[i + 1];

t.b:= pyr[i];
PlaneTri(plane, t);

end;
end;


Вот результат работы программы:


Эскизы прикрепленных изображений
Прикрепленное изображение
 К началу страницы 
+ Ответить 
art88
сообщение 12.03.2006 15:40
Сообщение #24


Новичок
*

Группа: Пользователи
Сообщений: 40
Пол: Мужской
Реальное имя: Артём

Репутация: -  0  +


Спасибо, Volvo!
Просто раньше у меня вершина хранилась в превой ячейке массива.
У меня ещё пара вопросов:
при пересечении с плоскостью 1,1,1,0 не строится линия, лежащая в основании.
сечение плоскостью 1,0,0,0 вообще не строится.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
art88
сообщение 12.03.2006 16:39
Сообщение #25


Новичок
*

Группа: Пользователи
Сообщений: 40
Пол: Мужской
Реальное имя: Артём

Репутация: -  0  +


Перебрал много плоскотей и пришёл к выводу:
если D<>0 всё нормально строится, кроме плоскостей параллельных(1,0,1,0).
Почему? blink.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
art88
сообщение 12.03.2006 17:10
Сообщение #26


Новичок
*

Группа: Пользователи
Сообщений: 40
Пол: Мужской
Реальное имя: Артём

Репутация: -  0  +


Вобщем теперь я тупо прибавляю eps(некоторая маленькая контсанта) к D и всё нормально.
Всё равно не понимаю, в чём осбенность ситуации, когда D=0(плоскоть проходит через центр основания).
Volvo, ты ещё предлагал какие-то улучшения, уменьшающие объём программы, выложи пожалуйста.


Прикрепленные файлы
Прикрепленный файл  PYRAMID.PAS ( 4.37 килобайт ) Кол-во скачиваний: 157
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 12.03.2006 18:03
Сообщение #27


Гость






Не особенно-то программа сократилась sad.gif
Ну, ладно, посмотри, может чего и пригодится... Не здесь, так в других проектах wink.gif


Прикрепленные файлы
Прикрепленный файл  PYRAMID9.PAS ( 4.31 килобайт ) Кол-во скачиваний: 138
 К началу страницы 
+ Ответить 
art88
сообщение 12.03.2006 18:06
Сообщение #28


Новичок
*

Группа: Пользователи
Сообщений: 40
Пол: Мужской
Реальное имя: Артём

Репутация: -  0  +


Volvo, спасибо большое за помощь!
Кстати о других проектах, мне ведь ещё надо было шарик нарисовать... smile.gif

Сообщение отредактировано: art88 - 12.03.2006 18:07
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

2 страниц V < 1 2
 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 14.08.2025 0:16
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"