728x90
반응형
※ 해당 글은 capstone 종합설계 프로젝트를 하면서 적었던 일지를 돌아보며 작성한 것입니다.
개발일지 2022.10.11
leftSleeveVertexIndexList.forEach((element, index)=>{
// resultVertexPos = origin + (sleeveVertexPos - CenterPos) * adjustValue
vertexArrayFilter.filtedVertexVectorArray[element].x = leftSleeveCenterVertex.x + (sleeveValue.leftSleeveVertexVectorList[index].x - leftSleeveCenterVertex.x) * sleeveValue.endPointValue
vertexArrayFilter.filtedVertexVectorArray[element].y = leftSleeveCenterVertex.y + (sleeveValue.leftSleeveVertexVectorList[index].y - leftSleeveCenterVertex.y) * sleeveValue.endPointValue
vertexArrayFilter.filtedVertexVectorArray[element].z = leftSleeveCenterVertex.z + (sleeveValue.leftSleeveVertexVectorList[index].z - leftSleeveCenterVertex.z) * sleeveValue.endPointValue
})
rightSleeveVertexIndexList.forEach((element, index)=>{
// resultVertexPos = origin + (sleeveVertexPos - CenterPos) * adjustValue
vertexArrayFilter.filtedVertexVectorArray[element].x = rightSleeveCenterVertex.x + (sleeveValue.rightSleeveVertexVectorList[index].x - rightSleeveCenterVertex.x) * sleeveValue.endPointValue
vertexArrayFilter.filtedVertexVectorArray[element].y = rightSleeveCenterVertex.y + (sleeveValue.rightSleeveVertexVectorList[index].y - rightSleeveCenterVertex.y) * sleeveValue.endPointValue
vertexArrayFilter.filtedVertexVectorArray[element].z = rightSleeveCenterVertex.z + (sleeveValue.rightSleeveVertexVectorList[index].z - rightSleeveCenterVertex.z) * sleeveValue.endPointValue
})
소매의 각각 vertex들의 center 좌표를 구하고, (소매의 vertex - center vertex)로 구한 vector에 scalar를 곱하여 center를 중심으로 떨어져있는 거리를 조절한다. 이 방식으로 둘레를 조절하는 코드이다.
여기서 주의할 점은
vertexArrayFilter.filtedVertexVectorArray[element].x =
(leftSleeveCenterVertex.x + sleeveValue.leftSleeveVertexVectorList[index].x - leftSleeveCenterVertex.x) * sleeveValue.endPointValue
위처럼 괄표를 origin까지 감싸면 origin 좌표에서 subtracted 벡터를 더해야하는데, origin 좌표 자체에 sleeveValue가 곱해서 origin 좌표가 변형된다.
728x90
반응형
'개발 · 컴퓨터공학' 카테고리의 다른 글
[Capstone Project] Dat.GUI docs (0) | 2023.02.21 |
---|---|
[Capstone Project] IDEA : 3축 vertex 이동, 광원 환경 세팅 (0) | 2023.02.20 |
GLSL - 다양한 함수, mixing color (0) | 2023.02.16 |
GLSL - Uniform, gl_FragCoord, step, smoothstep (0) | 2023.02.15 |
SIGGRAPH 시그라프 구경하기 - Learning-Based Bending Stiffness Parameter Estimation by a Drape Tester (0) | 2023.02.14 |