우리는 삼각형 집합을받습니다. 각 삼각형은 삼중 항입니다. 각 점은 실수의 삼중 항입니다. 각 삼각형의 표면 법선을 계산할 수 있습니다. 그러나 Gouraud 음영의 경우 꼭지점 법선이 필요합니다. 그러므로 우리는 각 꼭지점을 방문하여 그 꼭지점을 공유하고 그 표면 법선을 평균화하는 삼각형을보고 꼭지점 법선을 얻어야합니다.Gouraud 음영을위한 삼각형 집합에서 정점 법선을 계산하는 가장 효율적인 알고리즘
이것을 달성하기위한 가장 효율적인 알고리즘과 데이터 구조는 무엇입니까? 보다 효율적인 방법은
MAP = dict()
for T in triangles:
for V in T.vertices:
key = hash(V)
if MAP.has(key):
MAP[key].append(T)
else:
MAP[key] = []
MAP[key].append(T)
VNORMALS = dict()
for key in MAP.keys():
VNORMALS[key] = avg([T.surface_normal for T in MAP[key]])
있습니까 :
본래의 접근법은이 (의사 파이썬 코드)인가?
나는이 질문에서 내가 쓴 psuedo 코드에서와 같은 것이라고 생각한다. 아마도 더 효율적인 접근법이 아닐 것입니다. – Jayesh