비전공자라 c# 쓰고 있음 좀 더 빠르게 쓰고 싶어서 matlab으로 짠거 c#으로 바꾸는 작업중.


유동해석하는 부분 끝나면 속도 데이터를 얻는데, 각 점의 속도 데이터를 컬러맵으로 표현해서

2D 평면에 뿌리고 싶음


컬러맵은 JET 타입으로 0 부터 1 까지 파란색 - 초록색 - 빨간색 순으로 변하는 걸로 하려고 함.


프로그램 순서는


1. 유동장을 계산함

2. 1의 결과로 무차원화 된 속도(0에서 1사이의 값)를 얻음

3. 1의 결과를 0부터 1000까지의 정수로 변환

4. JET 타입 컬러맵이 되도록 미리 계산해둔 빨간색, 파란색, 초록색 값 배열에 3의 결과를 넣어서 색상 값을 얻음

5. 4의 결과로 얻은 색상값을 C#의 color 구조체에 넣은 다음 brush 구조체로 변경

6. Form1 어딘가에 순서대로 FillRectangle 함수를 이용하여 뿌림


이 순서로 코딩을 했는데 나름 반복되는 구간도 많이 줄이고, 테이블로 만들 수 있는건 미리 만들어놔서

알고리즘?? 뭐 그런걸론 개선할만큼 했다고 생각하고 있음.


그런데도 만족스러운 속도가 나오지 않아서(컬러맵이 왼쪽에서 오른쪽으로 뿌려지는게 다 보일정도로 느림)

FillRectangle 함수가 느린 것인지 GDI+가 노답인지 ... 컴터 문외한이라 잘 판단이 안됨...


할줄아는게 C# 밖에 없어서 언어 바꾸라는 말은 너무 비현실적이니 최대한 도움이 되는 방향으로 조언좀 부탁드립니다 ㅠ.ㅠ