Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

удаление невидимых линий в C

28K
15 мая 2007 года
J_F
1 / / 15.05.2007
Добрый день!

имеется код который выводит изображение
необходимо дополнить его так,чтобы невидимые линии не отображались.

препод дал нам функцию,которая должна с этим справляться,
( hidden(); )
но она ничего не меняет...а где ошибка найти не могу...

принцип действия функции основан на том, что чтобы выяснить видима ли грань,
1.берутся 3 точки не лежащие на одной прямой
2. расчитывается уравнение плоскости по ним ( a*x+b*y+c*z=d)
3. проверяются знаки функции f(x,y,z)=a*x+b*y+c*z-d в точках (0, 0, 0) - начало координат и (0, 0, -dist) - наблюдатель
4. если знаки противоположны - грань видима и тогда все ребра зписываются в массив list и выводятся на экран
5. функция dash() выводит невидимые линии штриховой линией

в архиве код и используемый файл с координатами фигуры

int NOV - число вершин тела
int NOF - число граней тела
int NOL - число ребер тела
X[NOV],Y[NOV],Z[NOV] координаты вершин тела в пространстве
Преобразованные координаты вершин тела на экранной
плоскости- double XP[NOV], YP[NOV]

Указатели на вершины, определяющие конечные точки ребер те-
ла: int Linv[2][NOL]

Число ребер, ограничивающих каждую грань тела:
int Indexf[NOF]

Номера ребер тела (в массиве), ограничивающих каждую грань:
int Linf[k][NOF], k - число ребер тела, принадлежащих к од-
ной грани.

EX, EY, EZ - координаты точки положения наблюдателя, Ppd -
расстояние от наблюдателя до плоскости проекции.


помогите найти что не так в функции или может есть другой способ...
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог