{"id":936,"date":"2018-12-19T10:48:50","date_gmt":"2018-12-19T01:48:50","guid":{"rendered":"https:\/\/www.charlezz.com\/?p=936"},"modified":"2019-05-16T19:26:52","modified_gmt":"2019-05-16T10:26:52","slug":"opengl-6-vector%ec%99%80-%eb%8f%99%ec%b0%a8%ec%a2%8c%ed%91%9c","status":"publish","type":"post","link":"https:\/\/charlezz.com\/?p=936","title":{"rendered":"[OpenGL] 6. Vector\uc640 \ub3d9\ucc28\uc88c\ud45c"},"content":{"rendered":"<p>\uc0bc\uac01\ud615, \uc0ac\uac01\ud615 \ud765\ubbf8\uc788\uac8c \uc798 \uadf8\ub9ac\ub2e4\uac00.. \uac11\uc790\uae30 \uc774\uac8c \ubb34\uc2a8 \uc18c\ub9ac\uc785\ub2c8\uae4c?<\/p>\n<p>OpenGL\uc5d0\uc11c \ub3c4\ud615\uc744 \uadf8\ub9ac\uae30 \uc704\ud574 \uc6b0\ub9ac\ub294 \uc815\uc810\uc744 \uc785\ub825\ud574\uc654\uace0, \uc815\uc810 \ud558\ub098\ub294 (x, y, z) \uc600\uc2b5\ub2c8\ub2e4.<br \/>\n\uae30\ubcf8\uc801\uc73c\ub85c \uc815\uc810\uc740 \uc704\uce58\ub97c \ud45c\ud604\ud558\uc9c0\ub9cc \uadf8 \uc678\uc5d0\ub3c4 \ub2e4\ub978 \uc18d\uc131\uc744 \uac16\uc2b5\ub2c8\ub2e4.<\/p>\n<p>\uc138\uac1c\uc758 \uac12\uc744 \ubc14\ub85c Vector\ub77c\ub294 \uac1c\ub150\uc785\ub2c8\ub2e4.<\/p>\n<h1>\ubca1\ud130(Vector)<\/h1>\n<p>\ubca1\ud130\ub780 \ud06c\uae30\uc640 \ubc29\ud5a5\uc744 \uac00\uc9c0\ub294 \uc591\uc744 \ub9d0\ud569\ub2c8\ub2e4. (\ud798, \uc18d\ub3c4, \uc774\ub3d9 \ub4f1)<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.charlezz.com\/wordpress\/wp-content\/uploads\/2018\/12\/06-02.jpg\" alt=\"\" width=\"314\" height=\"290\" class=\"aligncenter size-full wp-image-937\" srcset=\"https:\/\/charlezz.com\/wordpress\/wp-content\/uploads\/2018\/12\/06-02.jpg 314w, https:\/\/charlezz.com\/wordpress\/wp-content\/uploads\/2018\/12\/06-02-300x277.jpg 300w\" sizes=\"(max-width: 314px) 100vw, 314px\" \/><\/p>\n<p>\ub2e4\uc74c\uacfc \uac19\uc740 \uadf8\ub9bc\uc740 \uc6d0\uc810\uc73c\ub85c\ubd80\ud130 \ud558\ub098\uc758 \uc815\uc810\uae4c\uc9c0\uc758 \ubc29\ud5a5\uc744 \ub098\ud0c0\ub0b4\uace0 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<p>\uc6d0\uc810\uc73c\ubd80\ud130 \ud558\ub098\uc758 \uc815\uc810(50,50,0)\uae4c\uc9c0\uc758 \ubc29\ud5a5\uc774 \ubca1\ud130\uc758 \ubc29\ud5a5\uc774\uace0,<br \/>\n\uc6d0\uc810\uc73c\ub85c\ubd80\ud130 \uc815\uc810\uae4c\uc9c0\uc758 \uae38\uc774\uac00 \ubca1\ud130\uc758 \ud06c\uae30\ub97c \ub098\ud0c0\ub0c5\ub2c8\ub2e4.<\/p>\n<table border=\"1\" style=\"border-collapse: collapse; width: 100%;\">\n<tbody>\n<tr>\n<td style=\"width: 100%;\"><em>Note : \ubca1\ud130\ub294 \ud06c\uae30\uc640 \ubc29\ud5a5\ub9cc \uac19\uc73c\uba74 \uac19\uc740 \ubca1\ud130\uc785\ub2c8\ub2e4.<\/em><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2>\ub2e8\uc704\ubca1\ud130(Unit Vector)<\/h2>\n<p>\uc120\ud615\ub300\uc218\ud559\uc5d0\uc11c \ub2e8\uc704\ubca1\ud130\ub294 \uadf8 \ud06c\uae30\uac00 \uc815\ud655\ud788 1\uc778 \ubca1\ud130\uc785\ub2c8\ub2e4.\u00a0<br \/>\n\ub2e8\uc704 \ubca1\ud130\ub294 \ubc29\ud5a5\ub9cc \ud544\uc694\ud558\uace0 \ud06c\uae30\ub294 \ud544\uc694 \uc5c6\uc744 \ub54c \uc8fc\ub85c \uc4f0\uc785\ub2c8\ub2e4.<br \/>\n\ubaa8\ub4e0 \ubca1\ud130\ub294 \uc815\uaddc\ud654(normalization) \uacfc\uc815\uc744 \uac70\uccd0\uc11c \ub2e8\uc704 \ubca1\ud130\ub85c \ub9cc\ub4e4\uc5b4 \uc904 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<table border=\"1\" style=\"border-collapse: collapse; width: 39.5062%;\" height=\"94\">\n<tbody>\n<tr>\n<td style=\"width: 100%;\">\ubca1\ud130\uc758 \uc815\uaddc\ud654<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 100%;\">\ub2e8\uc704\ubca1\ud130 v = \ubca1\ud130 v \/ \ubca1\ud130 v\uc758 \ud06c\uae30<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>\ub2e8\uc704\ubca1\ud130\ub97c \uad6c\ud558\ub294 \uc774\uc720\ub294 \ubca1\ud130\uc758 \uae38\uc774\uac00 \uacf5\uc2dd\uc5d0 \ub098\uc624\ub294 \uacbd\uc6b0 \uadf8\uae38\uc774\uac00 1\uc774\uba74 \uacf5\uc2dd\uc774 \ub2e8\uc21c\ud574 \uc9c0\uae30 \ub54c\ubb38\uc785\ub2c8\ub2e4. \uc608\ub97c\ub4e4\uc5b4 \uac8c\uc784\uc18d \uce90\ub9ad\ud130\uac00 \uc6c0\uc9c1\uc5ec\uc57c \ud558\ub294\uacbd\uc6b0, \ucf00\ub9ad\ud130\uc758 \uc704\uce58 \ubca1\ud130\uc5d0 \uc774\ub3d9 \ubca1\ud130\ub97c \ub354\ud558\uba74 \ucd5c\uc885\uc801\uc73c\ub85c \ucf00\ub9ad\ud130\uac00 \uc774\ub3d9\ub420 \uc704\uce58\ub97c \uad6c\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<p>\ub2e8\uc704\ubca1\ud130 \ubc0f \uac04\ub2e8\ud55c \ubca1\ud130\uc5f0\uc0b0 \uc608\uc81c\uc5d0 \ub300\ud574 \uc790\uc138\ud788 \uc54c\uace0 \uc2f6\ub2e4\uba74 <a href=\"https:\/\/youtu.be\/9ylUcCOTH8Y\">\ub9c1\ud06c<\/a>\ub97c \ud074\ub9ad\ud574\uc8fc\uc138\uc694.<\/p>\n<p>\ubca1\ud130\ub294 3D\uadf8\ub798\ud53d\uc2a4\uc5d0\uc11c \ub9e4\uc6b0 \uc911\uc694\ud55c \uac1c\ub150\uc774\uae30\ub54c\ubb38\uc5d0 GLSL\uc5d0\uc11c\ub3c4 \uae30\ubcf8\uc801\uc73c\ub85c \uc9c0\uc6d0\ud569\ub2c8\ub2e4. \uc608\ub97c\ub4e4\uc5b4 vec3\ub294 \ubd80\ub3d9\uc18c\uc218\uc810 (x,y,z)\ub97c \uc758\ubbf8\ud558\uace0, vec4\ub294 \ubd80\ub3d9\uc18c\uc218\uc810 (x,y,z,w)\ub97c \uc758\ubbf8\ud569\ub2c8\ub2e4.<br \/>\nw\uac00 \uc0dd\uc18c\ud560 \uc218 \uc788\ub294\ub370 \uc774\ub294 \ubca1\ud130\ub97c \ub3d9\ucc28\uc88c\ud45c\ub85c \ub9cc\ub4e4\uae30 \uc704\ud568\uc785\ub2c8\ub2e4.<\/p>\n<h1>Homogeneous Coordinates(\ub3d9\ucc28\uc88c\ud45c)<\/h1>\n<p><span>\ub3d9\ucc28\uc88c\ud45c\ub294 n\ucc28\uc6d0\uc758 \uc0ac\uc601\uacf5\uac04(projective space)\uc744 n+1\uac1c\uc758 \uc88c\ud45c\ub85c \ub098\ud0c0\ub0b4\ub294 \uc88c\ud45c\uacc4\uc778\ub370,\u00a0<\/span><br \/>\n\uc77c\ubc18\uc801\uc73c\ub85c w\ub294 1\uc774\uba70 \ub098\uc911\uc5d0 x, y, z \uac12\uc774 w\ub85c \ub098\ub269\ub2c8\ub2e4. \uacb0\uacfc\uc801\uc73c\ub85c x, y, z\uac12\uc774 \uadf8\ub300\ub85c \ub0a8\uc2b5\ub2c8\ub2e4.<\/p>\n<p>\uadf8\ub807\ub2e4\uba74 \ub3d9\ucc28\uc88c\ud45c\ub97c \uc65c \uc4f0\ub294\uac83\uc77c\uae4c\uc694?<\/p>\n<p>3\ucc28\uc6d0 \uadf8\ub798\ud53d\uc2a4\uc5d0\uc11c\ub294 (x, y, z) \ud2b8\ub9ac\ud50c\ub81b\uc774 \uc815\uc810\uc758 \uc704\uce58\ub97c \ub73b\ud558\uae30\ub3c4 \ud588\uc9c0\ub9cc, \uc55e\uc11c \ub9d0\ud588\ub358 \ubca1\ud130\ucc98\ub7fc \ubc29\ud5a5\uc744 \uc758\ubbf8\ud558\uae30\ub3c4 \ud569\ub2c8\ub2e4. \uc774 \ub450\uac00\uc9c0\uac00 \uac1c\ub150\uc774 \ub2e4\ub978\uac83\uc778\ub370 \uc5b4\ub5a4\uac83\uc740 \uc704\uce58\uace0 \uc5b4\ub5a4\uac83\uc740 \ubc29\ud5a5\uc778\uc9c0 \ud56d\uc0c1 \uae30\uc5b5\uc744 \ud574\uc57c\ud558\uace0 \uc798\ubabb \uacc4\uc0b0\ud558\uae30\ub77c\ub3c4 \ud558\uba74 \ud63c\ub3c8\uc758 \uce74\uc624\uc2a4 \uc785\ub2c8\ub2e4.<\/p>\n<p>\uadf8\ub798\uc11c \uc774 \ub450\uac1c\ub97c \uac19\uc774 \uc4f8\uc218 \uc788\ub3c4\ub85d \ud55c\ucc28\uc6d0 \ub192\uc5ec \uc0dd\uac01\ud55c\uac8c \ub3d9\ucc28\uc88c\ud45c\uc785\ub2c8\ub2e4.<\/p>\n<table border=\"1\" style=\"border-collapse: collapse; width: 100%; height: 58px;\">\n<tbody>\n<tr style=\"height: 58px;\">\n<td style=\"width: 100%; height: 58px;\">w=1 \uc774\uba74, (x,y,z,1)\ub294 \uacf5\uac04\uc0c1\uc5d0\uc11c\uc758 \uc704\uce58<br \/>\nw=0 \uc774\uba74, (x,y,z,0)\ub294 \ubc29\ud5a5<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>\uc774\ud574\uac00 \uac00\uc9c0 \uc54a\ub354\ub77c\ub3c4 \ud45c\uc758 \ub0b4\uc6a9\uc740 \uaf2d \uae30\uc5b5\ud558\uc2dc\uae38 \ubc14\ub78d\ub2c8\ub2e4.<\/p>\n<p>\ub3d9\ucc28\uc88c\ud45c\ub97c \uc4f0\ub294 \ub610\ub2e4\ub978 \uc774\uc720\ub294 \ub300\ubd80\ubd84\uc758 \uacbd\uc6b0 \uc9c0\uc624\uba54\ud2b8\ub9ac\uc758 \ubc84\ud14d\uc2a4 \uc704\uce58\ub97c \uc815\uc758\ud558\uae30\uc704\ud574 OpenGL\uc5d0 \uc800\uc7a5\ud558\uace0 \ubcf4\ub0b4\ub294 \uac12\uc740 (x,y,z)\uba74 \ucda9\ubd84\ud569\ub2c8\ub2e4. \ub300\ubd80\ubd84\uc758 \ubc29\ud5a5 \ubca1\ud130\ub3c4 \uc608\ub97c\ub4e4\uba74 \ud45c\uba74 \ubc95\uc120 \ubca1\ud130(surface normal;\ub77c\uc774\ud305 \uacc4\uc0b0\uc744 \uc704\ud574 \ud45c\uba74\uc5d0 \ub300\ud574 \uc218\uc9c1\uc778 \ubc29\ud5a5\uc744 \uac00\ub9ac\ud0a4\ub294 \ubca1\ud130)\ub3c4 3\uc694\uc18c \ubca1\ud130\uba74 \ucda9\ubd84\ud558\ub2e4. \ud558\uc9c0\ub9cc \uc774\uc81c <strong>\ub9e4\ud2b8\ub9ad\uc2a4<\/strong>\uc758 \uc138\uacc4\ub85c \ub4e4\uc5b4\uac00\uba74 3D\ubca1\ud130\ub97c 4&#215;4 \ubcc0\ud658 \ud589\ub82c\uc5d0 \uacf1\ud558\uc5ec \ubcc0\ud658\ud560 \uacbd\uc6b0\uac00 \uc0dd\uae41\ub2c8\ub2e4. 4&#215;4\ud589\ub82c\uc5d0\ub294 \ubc18\ub4dc\uc2dc 4\uc694\uc18c \ubca1\ud130\ub97c \uacf1\ud574\uc57c \ud569\ub2c8\ub2e4.<\/p>\n<p>\ub2e4\uc2dc \uc815\ub9ac\ud558\uc790\uba74,<\/p>\n<p>\ub3d9\ucc28\uc88c\ud45c\ub294 \ubc29\ud5a5\uacfc \uc810\uc744 \uad6c\ubd84\uc2dc\ucf1c\uc8fc\uace0, 4&#215;4 \ub9e4\ud2b8\ub9ad\uc2a4 \uc5f0\uc0b0 \ub54c\ubb38\uc5d0 \ud544\uc694\ud569\ub2c8\ub2e4.<\/p>\n<p>Homogeneous Coordinates\uc5d0 \ub300\ud55c \uc880 \ub354 \uc790\uc138\ud55c \uc124\uba85\uc740 <a href=\"http:\/\/blog.daum.net\/shksjy\/229\">\ub9c1\ud06c<\/a>\ub97c \ucc38\uc870\ud574\uc8fc\uc138\uc694<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\uc0bc\uac01\ud615, \uc0ac\uac01\ud615 \ud765\ubbf8\uc788\uac8c \uc798 \uadf8\ub9ac\ub2e4\uac00.. \uac11\uc790\uae30 \uc774\uac8c \ubb34\uc2a8 \uc18c\ub9ac\uc785\ub2c8\uae4c? OpenGL\uc5d0\uc11c \ub3c4\ud615\uc744 \uadf8\ub9ac\uae30 \uc704\ud574 \uc6b0\ub9ac\ub294 \uc815\uc810\uc744 \uc785\ub825\ud574\uc654\uace0, \uc815\uc810 \ud558\ub098\ub294 (x, y, z) \uc600\uc2b5\ub2c8\ub2e4. \uae30\ubcf8\uc801\uc73c\ub85c \uc815\uc810\uc740 \uc704\uce58\ub97c \ud45c\ud604\ud558\uc9c0\ub9cc \uadf8 \uc678\uc5d0\ub3c4 \ub2e4\ub978 \uc18d\uc131\uc744 \uac16\uc2b5\ub2c8\ub2e4. \uc138\uac1c\uc758 \uac12\uc744 \ubc14\ub85c Vector\ub77c\ub294 \uac1c\ub150\uc785\ub2c8\ub2e4. \ubca1\ud130(Vector) \ubca1\ud130\ub780 \ud06c\uae30\uc640 \ubc29\ud5a5\uc744 \uac00\uc9c0\ub294 \uc591\uc744 \ub9d0\ud569\ub2c8\ub2e4. (\ud798, \uc18d\ub3c4, \uc774\ub3d9 \ub4f1) \ub2e4\uc74c\uacfc \uac19\uc740 \uadf8\ub9bc\uc740 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"inline_featured_image":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0},"categories":[24],"tags":[],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/charlezz.com\/index.php?rest_route=\/wp\/v2\/posts\/936"}],"collection":[{"href":"https:\/\/charlezz.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/charlezz.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/charlezz.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/charlezz.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=936"}],"version-history":[{"count":6,"href":"https:\/\/charlezz.com\/index.php?rest_route=\/wp\/v2\/posts\/936\/revisions"}],"predecessor-version":[{"id":1257,"href":"https:\/\/charlezz.com\/index.php?rest_route=\/wp\/v2\/posts\/936\/revisions\/1257"}],"wp:attachment":[{"href":"https:\/\/charlezz.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=936"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/charlezz.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=936"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/charlezz.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=936"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}