Начинаем по-порядку проходить по точкам.
1. Точка A:BDF
2. 3 соседа -> 3 грани, сходящиеся в точке A
Перебираем грани:
3. Грань, лежащая в плоскости ABD:
Первую точку обхода выбираем из той грани, которую собираемся рассматривать
- точка B: соседи - A, C, G.
Теперь ищем следующую по порядку в направлении обхода точку грани, которая, естесственно, будет соседом нашей первой точке. Поэтому и движемся по соседям. Первый сосед в списке - A. Раз это начальная точка, то следовало бы закончить, но так как точка B - только первая точкаобхода, мы делаем вывод, что это не конец обхода, а начало. Пропускаем соседа A и идём дальше по списку.
Точка B первая в данном проходе -> не может являться последней. Значит сосед A не подходит.
Определяем, что очередной сосед лежит в плоскости рассматриваемой грани. Значит, это следующая по очереди точка обхода. Значит добавляем площадь очередного треугольника и переходим на эту точку.
Точка C лежит в плоскости грани -> считаем площадь треугольника ABC и добавляем её к общей сумме.
- точка С: соседи - B, D, H.
Первый сосед этой точки уже был пройден в рамках данного обхода. Значит, это путь назад. Нам туда не надо. Пропускаем.
Точка B уже пройденна в данном проходе. Значит сосед B не подходит.
Сосед D - то, что надо. Делаем как обычно.
Точка D лежит в плоскости грани -> считаем площадь треугольника ACD и добавляем её к общей сумме.
Натыкаемся на точку A среди соседей. Мы с неё начали, точка D (текущая) не является первой в данном обходе, значит, мы пришли к началу, то есть закончили обход.
- точка D: соседи - A, C, E. Точка A является началом прохода. Заканчиваем обход данной грани.
Переходим к следующей грани.
4. Грань, лежащая в плоскости ADF:
- точка D: соседи - A, C, E. Точка D первая в данном проходе -> не может являться последней. Значит сосед A не подходит. Точка C не лежит в плоскости грани. Значит сосед С не подходит. Точка E лежит в плоскости грани -> считаем площадь треугольника ADE и добавляем её к общей сумме.
- точка E: соседи - D, F, H. Точка D уже пройденна в данном проходе. Значит сосед D не подходит. Точка F лежит в плоскости грани -> считаем площадь треугольника AEF и добавляем её к общей сумме.
- точка F: соседи - A, E, G. Точка A является началом прохода. Заканчиваем обход данной грани.
5. Грань, лежащая в плоскости AFB:
- точка F: соседи - A, E, G. Точка F первая в данном проходе -> не может являться последней. Значит сосед A не подходит. Точка E не лежит в плоскости грани. Значит сосед E не подходит. Точка G лежит в плоскости грани -> считаем площадь треугольника AFG и добавляем её к общей сумме.
- точка G: соседи - B, F, H. Точка B лежит в плоскости грани -> считаем площадь треугольника AGB и добавляем её к общей сумме.
- точка B: соседи - A, C, G. Точка A является началом прохода. Заканчиваем обход данной грани.

Теперь, когда все грани, в которых лежит точка A, рассмотрены, их площадь учтена, необходимо удалить связь с этой точкой у всех остальных вершин. Это делается для того, чтобы не проссчитать какую-нибудь грань несколько раз. Вдобавок, это будет некоей отметкой о проделанной работе, которая будет в итоге служить сигналом к прекращению обходов.
6. Все грани, в которых лежит точка A рассмотрены. Удаляем её из всех связей (уже учтены все площади граней, касающихся точки A).
Теперь информация следующая:
B:CG
C:BDH
D:CE
E:DFH
F:EG
G:BFH
H:CEG
Переходим к следующей точке.

7. Точка B:CG
8. 2 соседа -> 1 грань, сходящиеся в точке B
Перебираем грани (в данном случаевсего одну):
9. Грань, лежащая в плоскости BCG:
- точка C: соседи - B, D, H. Точка C первая в данном проходе -> не может являться последней. Значит сосед B не подходит. Точка D не лежит в плоскости грани. Значит сосед D не подходит. Точка H лежит в плоскости грани -> считаем площадь треугольника BCH и добавляем её к общей сумме.
- точка H: соседи - C, E, G. Точка C уже пройденна в данном проходе. Значит сосед C не подходит. Точка E не лежит в плоскости грани. Значит сосед E не подходит. Точка G лежит в плоскости грани -> считаем площадь треугольника BHG и добавляем её к общей сумме.
- точка G: соседи - B, F, H. Точка B является началом прохода. Заканчиваем обход данной грани.
10. Все грани, в которых лежит точка B рассмотрены. Удаляем её из всех связей (уже учтены все площади граней, касающихся точки B).
Теперь информация следующая:
C:DH
D:CE
E:DFH
F:EG
G:FH
H:CEG

11. Точка C:DH
12. 2 соседа -> 1 грань, сходящиеся в точке C
Перебираем грани (в данном случаевсего одну):
13. Грань, лежащая в плоскости CDH:
- точка D: соседи - C, E. Точка D первая в данном проходе -> не может являться последней. Значит сосед C не подходит. Точка E лежит в плоскости грани -> считаем площадь треугольника CDE и добавляем её к общей сумме.
- точка E: соседи - D, F, H. Точка D уже пройденна в данном обходе. Значит сосед D не подходит. Точка F не лежит в плоскости грани. Значит сосед F не подходит. Точка H лежит в плоскости грани -> считаем площадь треугольника CEH и добавляем её к общей сумме.
- точка H: соседи - C, E, G. Точка C является началом прохода. Заканчиваем обход данной грани.
14. Все грани, в которых лежит точка C рассмотрены. Удаляем её из всех связей (уже учтены все площади граней, касающихся точки C).
Теперь информация следующая:
D:E
E:DFH
F:EG
G:FH
H:EG

15. Точка D:E
2 точки не могут образовать плоскость. Поэтому точки с 1 соседом удаляются.
16. 1 сосед -> 0 граней, сходящиеся в точке D. Не рассматриваем эту грань.
17. Удаляем точку D из всех связей (уже учтены все площади граней, касающихся точки D).
Теперь информация следующая:
E:FH
F:EG
G:FH
H:EG

18. Точка E:FH
19. 2 соседа -> 1 грань, сходящиеся в точке E
Перебираем грани (в данном случае всего одну):
20. Грань, лежащая в плоскости EFH:
- точка F: соседи - E, G. Точка F первая в данном проходе -> не может являться последней. Значит сосед E не подходит. Точка G лежит в плоскости грани -> считаем площадь треугольника EFG и добавляем её к общей сумме.
- точка G: соседи - F, H. Точка F уже пройденна в данном обходе. Значит сосед F не подходит. Точка H лежит в плоскости грани -> считаем площадь треугольника EGH и добавляем её к общей сумме.
- точка H: соседи - E, G. Точка E является началом прохода. Заканчиваем обход данной грани.
21. Все грани, в которых лежит точка E рассмотрены. Удаляем её из всех связей (уже учтены все площади граней, касающихся точки E).
Теперь информация следующая:
F:G
G:FH
H:G

22. Точка F:G
23. 1 сосед -> 0 граней, сходящиеся в точке F. Не рассматриваем эту грань.
24. Удаляем точку F из всех связей (уже учтены все площади граней, касающихся точки F).
Теперь информация следующая:
G:H
H:G

25. Точка G:H
26. 1 сосед -> 0 граней, сходящиеся в точке G. Не рассматриваем эту грань.
27. Удаляем точку G из всех связей (уже учтены все площади граней, касающихся точки G).
Теперь информация следующая:
H:

28. Точка H:
29. нет соседей -> 0 граней, сходящиеся в точке H. Не рассматриваем эту грань.
30. Удаляем точку H из всех связей (уже учтены все площади граней, касающихся точки H).
31. Завершён обход последней точки. Площадь посчитана.
Окончание на странице ответа.
Используются технологии uCoz