Алгоритъм на Loop
Този subdivision алгоритъм е създаден през 1987 година от Charles Loop. Работи само с мрежи от триъгълници. На всяка стъпка от алгоритъма всеки триъгълник се подразделя на четири нови триъгълника по следния начин:
-
за всяко ребро се изчислява ребрена точка като афинна комбинация на четири точки: 3/8 от сумата на двата му края + 1/8 от сумата на двете точки, които участват в един и същи триъгълник с реброто.
2) за всеки връх v се изчислява връхна точка като афинна комбинация на всички съседни върхове (т.е. върховете, които са съединени с ребро с върха v) по следната формула:
Vнов = (1-n α)*Vстар + α* Σ(съседните върхове),
където n е степента на върха (броят на съседните върхове) и
α=3/16 при n=3,
α=1/n*[5/8-(3/8+1/4cos(2π/n))^2] при n>3.
3) oт всеки триъгълник се получават 4 нови. Единият – като се свържат 3-те ребрени точки, другите 3 –като се свърже връхната точка в някой връх с ребрените точки на двете ребра, инцидентни с върха.
Ще отбележим, че ако всички върхове са от степен 6, граничната повърхнина, получена чрез многократно подразделяне, има гладкост С2. Върховете с различна от 6 степен клонят към връх, в чиято околност граничната повърхнина е само C1.
User guide
• натискане на клавиш S : още една subdivision стъпка
• натискане на клавиш Z : zoom in (уголемяване на образа)
• натискане на клавиш X : zoom out (смаляване на образа)
• натискане на клавиш H : скриване/показване на координатните оси
• drag с мишката : завъртане на образа
• десен бутон на мишката : извежда меню, от което можем да изберем един от няколко off файла, съответстващи на различни многостени
Сподели с приятели: |