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

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

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

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


Гость






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

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


Новичок
*

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

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


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

Сообщение отредактировано: art88 -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #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;


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


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


Новичок
*

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

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


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


Новичок
*

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

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


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


Новичок
*

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

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


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


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


Гость






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


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


Новичок
*

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

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


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

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

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

 





- Текстовая версия 2.05.2024 15:16
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name