<QT, C++ 환경에서 구현>

실행 화면

- vtkPLYReader 생성 : vtkSmartPointer를 사용하여 vtkPLYReader 객체를 동적으로 생성했습니다.
- 파일 읽기 : 생성한 vtkPLYReader 객체의 SetFileName 함수를 사용하여 읽고자 하는 PLY 파일의 경로를 설정했습니다. 그 후, Update 함수를 호출하여 파일을 읽었습니다.
- 데이터 추출 : vtkPLYReader 객체의 GetOutput 함수를 이용하여 읽은 데이터를 vtkPolyData 형태로 추출하여 polyData 변수에 저장했습니다.
- 색상 정보 추출 : vtkPolyData 객체의 GetPointData 함수를 이용하여 점들의 데이터를 가져왔습니다. 그 중, GetScalars 함수를 호출하여 각 점의 색상 정보를 vtkDoubleArray 형태로 ‘originalColors’ 변수에 저장했습니다.
- HSV 값 저장을 위한 배열 설정 : ‘hsvValues’라는 vtkFloatArray를 생성하여 HSV값을 저장할 준비를 합니다.

- RGB to HSV 변환 : 각 튜플마다, RGB 값을 HSV로 변환하는 과정을 실행합니다. 이 과정에서는, RGB 공간에서 색상을 표현하는 방식을 HSV 공간으로 변환합니다. HSV는 색상(Hue), 채도(Saturation), 명도(Value)로 색상을 표현합니다.
변환 공식