удаление невидимых линий в C
имеется код который выводит изображение
необходимо дополнить его так,чтобы невидимые линии не отображались.
препод дал нам функцию,которая должна с этим справляться,
( 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 -
расстояние от наблюдателя до плоскости проекции.
помогите найти что не так в функции или может есть другой способ...