나는 키포인트와 대응하는 RGB의지도는 내부 표현이 다른 조회 테이블에 가장 적합한 패턴은 무엇입니까? 옵저버 패턴?
또는
- 3 개 채널 (빨강, 녹색, 파랑) 값
- 입력으로 얻을 내 자신의 클래스 LookupTable의를 쓰기 각 채널에는 해당 채널에 대한 키포인트와 해당 키포인트의 해당 값이 빨간색, 녹색 및 파란색으로 표시됩니다.
LookupTable 클래스는 다른 데이터 구조에서 다르게 구성 될 수 있습니다.
1. map<point, pixel> 2. vector<pixel> 3. struct my{ map<float, value> red; map<float, value> green; map<float, value> blue; }
LookupTable의 클래스가
1
또는3
및2
항상 그러므로 계산 그들에 "따라"되어 구성 될 수 있습니다 나는 3 개 내부 데이터 구조를 유지.문제 :
- 는 어떻게 알 수 있습니까있는 데이터 구조 (
1
또는3
) 내가2
을 계산해야부터? - 처음으로
1
을 입력 한 경우3
을 입력하고 내 수업에서 진행되고있는 작업을 추적하는 방법은 무엇입니까? 옵저버 패턴이 잔인한 것처럼 보입니다 ... - 직접 솔루션 - 여러 개의 부울을 사용하는 것은 좋지 않습니다. 앞으로도 계속 유지하고 새로운 데이터 표현을 추가하기가 어렵습니다.
- 이상적으로,
construct(map<point, pixel>)
또는construct(struct my)
요구 한 번만 실행하고이 호출되는 다른 시간 - 단지 (그 방법 대신 생성자의있는 값
를 반환 어느 쪽이 비공개인가)
I 1.지도를 모두 유지하는 이유 <포인트, 픽셀> 및 3. 구조체 내를 { map 빨강; map 녹색; map blue; } 이러한 채널 내에서 선형, 등등 ... 성장할 각 채널에 대해 서로 다른 "규칙"/ 수학 함수가있을 수 있습니다. –
Oleksandra
@Oleksandra 픽셀에 조작을 적용해야하는 필요성을 극복하기위한 제안을 참조하십시오. – Dennis