VTK ¾È³»


¿ì¸®°¡ »ç´Â °ø°£ÀÌ 3Â÷¿øÀÌ°í, ¹°¸®µµ 3Â÷¿øÀ» ±× ¹ÙÅÁÀ¸·Î ÇÏ°í ÀÖ½À´Ï´Ù. µû¶ó¼­ ¹°¸®ÀûÀÎ ³»¿ëÀ» 2Â÷¿øÀÇ È­¸éÀ¸·Î ³ªÅ¸³»´Âµ¥´Â ÇÑ°è°¡ ÀÖ½À´Ï´Ù. Áö±ÝÀº 2Â÷¿ø ¿µ»óÀ¸·Î 3Â÷¿øÀ» ´À³¢°Ô ÇÏ´Â ±â¼úÀÌ ¹ß´ÞÇÏ¿© 3D ¿µÈ­°¡ ³Î¸® º¸±ÞµÇ°í ÀÖÁö¸¸ ÀÌ°ÍÀº ½ÃÁ¡ÀÌ °íÁ¤µÇ¾î Àִ ȯ°æ¿¡¼­ ÀÔü¸¦ ´À³¥ ¼ö ÀÖ´Â Á¤µµ·Î ÁøÁ¤À¸·Î 3D¶ó°í Çϱâ´Â ¾î·Æ½À´Ï´Ù. ÀÌ´Â µÎ °³ÀÇ Æò¸é¿µ»óÀ» °ãÄ£ °Í Á¤µµ·Î º¼ ¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù.
ÁøÁ¤ÇÑ 3Â÷¿ø ¿µ»óÀº 3Â÷¿ø °ø°£À» °¡µæä¿ì°í ÀÖ´Â ¿µ»óÁ¤º¸¶ó°í ÇÒ ¼ö ÀÖ½À´Ï´Ù. ¿ì¸® ¸öÀ» 3Â÷¿ø ½ºÄµÇÑ MRI ¿µ»óÀÌ ÇϳªÀÇ ¿¹ÀÔ´Ï´Ù. ÀÌ·¸°Ô ±¸¼ºµÈ 3Â÷¿ø ¿µ»óÀº µ¹·Áº¸°Å³ª ´Ü¸éÀÇ ¿µ»óÀ» º¸°Å³ª ¸¶À½´ë·Î Á¶ÀÛÀ» ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÄÄÇ»ÅÍ·Î ½ÇÇöÇÏ´Â ÀÌ·¯ÇÑ ±â¹ýÀ» 3D VisualizationÀ̶ó ÇÕ´Ï´Ù.
¹°¸®ÀûÀÎ ³»¿ëÀÌ¶óµµ 1Â÷¿øÀ̳ª 2Â÷¿øÀ¸·Î Ç¥ÇöÇÏ´Â °ÍÀÌ ÃæºÐÇÑ °æ¿ìµµ ÀÖÁö¸¸ ²À 3Â÷¿øÀÌ µÇ¾î¾ß ÇÏ´Â °Íµµ ÀÖ½À´Ï´Ù. ¼ö¼Ò¿øÀÚÀÇ ÀüÀÚÀÇ ±¸¸§ºÐÆ÷°¡ ±× ¿¹ÀÔ´Ï´Ù. µû¶ó¼­ ÀÌ »çÀÌÆ®¸¦ ±¸¼ºÇϸ鼭 3D¸¦ Á¦´ë·Î Ç¥ÇöÇϱâ À§Çؼ­ ¿©·¯ °¡Áö¸¦ ¸ð»öÇÏ¿© Ç÷¡½Ã·Î ±¸ÇöÇÑ °æ¿ìµµ ÀÖ°í, Java·Î ±¸ÇöÇÑ °æ¿ìµµ ÀÖ½À´Ï´Ù. ±×·¯³ª Ç÷¡½Ã³ª Java´Â ±âº»ÀûÀ¸·Î 3DÀÇ Ç¥Çö´É·ÂÀ» °¡Áö°í ÀÖÁö ¾Ê½À´Ï´Ù. ¹°·Ð Java´Â ÀϹÝÀûÀÎ ÇÁ·Î±×·¥ ¾ð¾îÀ̹ǷΠÀ̷κÎÅÍ ¹«¾ùÀ̵ç ÇÒ ¼ö ÀÖ°í, ¶ÇÇÑ Oracle(¿¹ÀüÀÇ Sun)¿¡¼­´Â Java 3D¸¦ ÀÌ¿ëÇÒ ¼öµµ ÀÖ±ä ÇÕ´Ï´Ù.
¿©±â¼­´Â Java + VTK ¸¦ ÀÌ¿ëÇؼ­ ³»¿ë Áß¿¡¼­ 3D°¡ ÇÊ¿äÇÑ ºÎºÐ¿¡ ÀÌ¿ëÇÕ´Ï´Ù. Java¿¡ VTK¸¦ ´õÇÏ´Â °ÍÀº ÀÎÅͳݿ¡ °ø°³µÈ ³»¿ëÀÌ °ÅÀÇ ¾ø¾î¼­ ¸Å¿ì Èûµç ÀÛ¾÷À̾ú½À´Ï´Ù. ±×·¯³ª ±Ù±ÙÈ÷ Çس½ ÈÄ ¸î¸î ¹°¸®ÀûÀÎ ³»¿ëÀ» ÀÌ·Î½á ³ªÅ¸³» º¸´Ï °á°ú´Â ³î¶ó¿ï Á¤µµ¾ú½À´Ï´Ù. (ÀÌ »çÀÌÆ®ÀÇ À¥±³Àç > Çö´ëºÒ¸® > ¾çÀÚ¿ªÇÐ > ¼ö¼Ò¿øÀÚÀÇ ¾çÀÚ·ÐÀÇ ¸¶Áö¸· ÆäÀÌÁö¸¦ º¸±â ¹Ù¶ø´Ï´Ù.) ±×·¯³ª À̸¦ À¥»ó¿¡¼­ º¼ ¼ö ÀÖÀ¸·Á¸é ´ÙÀ½ÀÇ ÀýÂ÷¸¦ µû¶ó¼­ VTK¸¦ ¼³Ä¡ÇØ¾ß ÇÕ´Ï´Ù.

VTK ¼³Ä¡ÀýÂ÷

VTK·Î Ç¥½ÃµÈ ÇÁ·Î±×·¥Àº Java Applet¿¡ VTKÀ̶ó´Â ±×·¡ÇÈ µµ±¸¸¦ µ¡¾º¿î °ÍÀ¸·Î ÀÛ¼ºÇÏ¿´½À´Ï´Ù. µû¶ó¼­ ÄÄÇ»ÅÍ¿¡ Java¿Í ÇÔ²² VTK°¡ Á¦´ë·Î ¼³Ä¡µÇ¾î¾ß ÇÁ·Î±×·¥À» ¿î¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.

1. Java ¼³Ä¡

VTK¸¦ ¿î¿ëÇϴµ¥ ÇÊ¿äÇÑ Java´Â Java 7 ÀÔ´Ï´Ù. µû¶ó¼­ Oracle»ç¿¡¼­ JRE 7À» ´Ù¿î¹Þ¾Æ¼­ ¼³Ä¡ÇØ¾ß ÇÕ´Ï´Ù. ¸¸ÀÏ Java 6 À̳ª ±× ÀÌÇϸ¦ ¼³Ä¡ÇØ ÀÖ´Ù¸é À̸¦ Á¦°ÅÇÏ°í JRE 7·Î UpgradeÇϽñ⠹ٶø´Ï´Ù.

Java ´Ù¿î·Îµå »çÀÌÆ® => Java SE 7u1 ÀÇ JRE

2. VTK ¼³Ä¡

VTK´Â Visualization Toolkit À¸·Î 3D °ü·Ã °¡Àå °­·ÂÇÑ °ø°³ °³¹ßµµ±¸ ÀÔ´Ï´Ù. ÀÌ´Â C++À¸·Î °³¹ßµÈ °ÍÀ¸·Î CMake¸¦ ÅëÇؼ­ ´Ù¸¥ ¿î¿ëü°è, ´Ù¸¥ ÇÁ·Î±×·¥ ¾ð¾î¿¡¼­ »ç¿ëÇÒ ¼ö ÀÖ°Ô ÇÕ´Ï´Ù. (VKT Âü°í)
À¥¿¡¼­ VTKÀ» ÀÌ¿ëÇϱâ À§Çؼ­´Â Java¿¡¼­ ÀÌ¿ëÇÒ ¼ö ÀÖ´Â ¶óÀ̺귯¸®·Î ¸¸µé¾î¾ß ÇÕ´Ï´Ù. ÀÌ·¸°Ô ƯÁ¤ÇÑ ¿î¿µÃ¼°è, ƯÁ¤ÇÑ ¾ð¾î·Î °³¹ßÇÑ ÇÁ·Î±×·¥À» ´Ù¸¥ ȯ°æ¿¡¼­ »ç¿ëÇÒ ¼ö ÀÖ°Ô ÇÏ´Â °ÍÀ» WrappingÀ̶ó ÇÕ´Ï´Ù. vtk.org¿¡¼­´Â ÀÌ·¸°Ô WrappingÇÏ´Â Åø·Î CMakeµµ Á¦°øÇÏ°í ÀÖ½À´Ï´Ù. ÀÌ¿¡µû¶ó Java¿¡¼­ ÀÌ¿ëÇÒ ¼ö ÀÖ´Â ¶óÀ̺귯¸®¸¦ Èûµé°Ô ±¸ÃàÇÏ¿´½À´Ï´Ù. ¿©±â¼­ À̸¦ VTK Java WrapperÀ̶ó°í ºÎ¸£µµ·Ï ÇÕ´Ï´Ù. ÀÌÀÇ ±¸Ãàȯ°æÀº ´ÙÀ½°ú °°½À´Ï´Ù.

- VTK 5.8.0 ¹öÀü ÀÌ¿ë (2011.11.11 ÇöÀç ÃֽŠ¹öÀü)
- CMake 2.8.6 ÀÌ¿ë (2011.11.11 ÇöÀç ÃֽŠ¹öÀü)
- Java 7 SE (JDK 1.7) ÀÌ¿ë (2011.11.11 ÇöÀç ÃֽŠ¹öÀü)
- Windows 7¿¡¼­ Visual Studio .NET 2008 ÀÌ¿ë (x86, 32bit)
ÀÌ·¯ÇÑ È¯°æÀ¸·Î VTK Java Wrapper¸¦ Á¦ÀÛÇßÀ¸¹Ç·Î Windows ȯ°æ¿¡¼­¸¸ ÀÛµ¿µË´Ï´Ù. (Window 7¿¡¼­ ºê¶ó¿ìÀú Internet Explorer, Chrome, FireFox, SafariÀ¸·Î ÀÛµ¿µÇ´Â °ÍÀ» È®ÀÎÇÏ¿´À½)

(1) »ç¿ëÀÚ ÄÄÇ»ÅÍ¿¡ VTK Java Wrapper¸¦ ¼³Ä¡ÇÑ´Ù.
Java Wrapper ´Ù¿î·Îµå(~25Mb)
Zip ÆÄÀÏÀ» ´Ù¿î·Îµå Çؼ­ ÄÄÇ»ÅÍÀÇ ÀûÀýÇÑ µð·ºÅ丮¿¡ ¾ÐÃàÀ» Ç®¾îµÐ´Ù. (266°³ÀÇ ÆÄÀÏ)
(ex) c:\JavaVTK\bin

(2) ¾ÐÃàÀ» Ǭ Dir¿¡ Path¸¦ °Ç´Ù.
ÀýÂ÷(Windows 7ÀÇ °æ¿ì): ½ÃÀÛ -> 'Á¦¾îÆÇ' -> '½Ã½ºÅÛ ¹× º¸¾È' -> '½Ã½ºÅÛ' -> '°í±Þ ½Ã½ºÅÛ ¼³Á¤' -> '°í±Þ' ÅÇ -> 'ȯ°æº¯¼ö' -> 'user¿¡ ´ëÇÑ »ç¿ëÀÚ º¯¼ö' ȤÀº '½Ã½ºÅÛ º¯¼ö' -> 'PATH' -> 'º¯¼ö°ª'¿¡ Path Ãß°¡ÇÑ´Ù.
ex) PATH=c:\JavaVTK\bin;...

3. VTK¸¦ ÀÌ¿ëÇÑ AppletÀÌ ÀÖ´Â ÆäÀÌÁö ¿­¶÷½Ã ´ÙÀ½°ú °°Àº ÀÎÁõÀýÂ÷°¡ ³ª¿É´Ï´Ù. ÀÌ ¶§ ½ÇÇà ¹öÆ°À» ´­·¯¼­ ½ÂÀÎ ÇؾßÇÕ´Ï´Ù.

ÀÌ´Â Java AppletÀÌ ¾ÕÀÇ ÀýÂ÷¿¡ µû¶ó »ç¿ëÀÚÀÇ ÄÄÇ»ÅÍ¿¡ Ãß°¡·Î ¼³Ä¡µÈ VTK ¶óÀ̺귯¸®¸¦ ÀÌ¿ëÇϱ⠶§¹®ÀÔ´Ï´Ù.

VTK ÇÁ·Î±×·¥ È­¸é Á¶ÀÛ¹ý

3D·Î ³ªÅ¸³ª´Â È­¸éÀº ¸¶¿ì½º·Î ȸÀü, È®´ë µî ´Ù¾çÇÑ ¹æ¹ýÀ¸·Î º¼ ¼ö ÀÖ´Ù.

1. ȸÀü: È­¸é¿¡¼­ ¸¶¿ì½º¸¦ µå·¡±× ÇÑ´Ù. (¿ÞÆí ¹öÆ°À» ´©¸¥Ã¤·Î À̵¿)

2. È®´ë-Ãà¼Ò: È­¸é¿¡¼­ ¿À¸¥Æí ¹öÆ°À» ´©¸¥Ã¤·Î ¸¶¿ì½º À̵¿ÇÑ´Ù.

3. À̵¿: Shift¸¦ ´©¸¥Ã¤·Î ¸¶¿ì½º¸¦ µå·¡±× ÇÑ´Ù.

4. Ç¥¸é°ú °ÝÀÚ¼±º¸±â: 'w'¸¦ ´©¸£¸é °ÝÀÚ¼±(wire frame)ÀÌ º¸ÀÌ°í, 's'¸¦ ´©¸£¸é Ç¥¸é±×¸²À¸·Î º¸ÀδÙ.

5. ÃÖÀûÈ­¸é º¸±â: 'r'À» ´©¸¥´Ù.