{"id":2121,"date":"2026-08-31T07:47:22","date_gmt":"2026-08-31T07:47:22","guid":{"rendered":"https:\/\/wayhope.kro.kr\/?p=2121"},"modified":"2026-08-31T07:47:22","modified_gmt":"2026-08-31T07:47:22","slug":"%ea%b8%b0%ed%95%98%ed%95%99-%ed%95%b5%ec%8b%ac-%ec%a0%95%eb%a6%ac","status":"publish","type":"post","link":"https:\/\/wayhope.kro.kr\/?p=2121","title":{"rendered":"\uae30\ud558\ud559 \ud575\uc2ec \uc815\ub9ac"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">\uae30\ud558\ud559(Geometry)\uc740 \uacf5\uac04\uc5d0 \uc874\uc7ac\ud558\ub294 <strong>\uc810, \uc120, \uba74, \ub3c4\ud615\uc758 \ud615\ud0dc\uc640 \uad00\uacc4\ub97c \ub2e4\ub8e8\ub294 \uc218\ud559<\/strong>\uc774\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uac8c\uc784 \uac1c\ubc1c\uc5d0\uc11c\ub294 \ub2e8\uc21c\ud788 \ub3c4\ud615\uc758 \uc131\uc9c8\uc744 \uacf5\ubd80\ud558\ub294 \uac83\ubcf4\ub2e4 \ub2e4\uc74c\uacfc \uac19\uc740 \ubb38\uc81c\ub97c \ud574\uacb0\ud558\ub294 \ub370 \uc0ac\uc6a9\ub41c\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\uc88c\ud45c\n-&gt; \uc704\uce58 \ud45c\ud604\n\n\uac70\ub9ac\n-&gt; \ub450 \uac1d\uccb4 \uc0ac\uc774\uc758 \uac04\uaca9\n\n\uac01\ub3c4\n-&gt; \ubc29\ud5a5\uacfc \ud68c\uc804\n\n\ubca1\ud130\n-&gt; \uc774\ub3d9\uacfc \ubc29\ud5a5\n\n\uc9c1\uc120 \/ \ud3c9\uba74\n-&gt; \ucda9\ub3cc\uacfc \uacf5\uac04 \ubd84\ud560\n\n\ub3c4\ud615\n-&gt; \ucda9\ub3cc \uc601\uc5ed\n\n\uad50\ucc28\n-&gt; Raycast \/ Collision\n\n\uc88c\ud45c \ubcc0\ud658\n-&gt; World \/ Local \/ Screen\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uacb0\uad6d \uac8c\uc784\uc5d0\uc11c \uae30\ud558\ud559\uc740 <strong>\uac8c\uc784 \uc6d4\ub4dc\uc758 \uacf5\uac04\uc744 \uacc4\uc0b0\ud558\ub294 \uc218\ud559<\/strong>\uc774\ub77c\uace0 \ubcfc \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\uc810<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\uc810(Point)\uc740 \uacf5\uac04\uc5d0\uc11c \uc704\uce58\ub97c \ub098\ud0c0\ub0b8\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">2\ucc28\uc6d0\uc5d0\uc11c\ub294<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>P = (x, y)\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">3\ucc28\uc6d0\uc5d0\uc11c\ub294<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>P = (x, y, z)\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ub85c \ud45c\ud604\ud55c\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc810 \uc790\uccb4\uc5d0\ub294 \ud06c\uae30\uac00 \uc5c6\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uac8c\uc784\uc5d0\uc11c\ub294<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Player Position\nEnemy Position\nSpawn Position\nTarget Position\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ub4f1\uc774 \ubaa8\ub450 \uc810\uc73c\ub85c \uc0dd\uac01\ub420 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\uc88c\ud45c\uacc4<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\uc88c\ud45c\uacc4\ub294 \uacf5\uac04\uc5d0\uc11c \uc810\uc758 \uc704\uce58\ub97c \ud45c\ud604\ud558\uae30 \uc704\ud55c \uae30\uc900\uc774\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">2\ucc28\uc6d0 Cartesian \uc88c\ud45c\uacc4\uc5d0\uc11c\ub294<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>        y\n        ^\n        |\n        |\n--------+--------&gt; x\n        |\n        |\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ucc98\ub7fc <code>x<\/code>, <code>y<\/code>\ucd95\uc744 \uc0ac\uc6a9\ud55c\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">3\ucc28\uc6d0\uc5d0\uc11c\ub294 \uc5ec\uae30\uc5d0 <code>z<\/code>\ucd95\uc774 \ucd94\uac00\ub41c\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>(x, y, z)\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uac8c\uc784 \uc5d4\uc9c4\uc5d0\uc11c\ub294 \uc6d4\ub4dc \uc88c\ud45c, \ub85c\uceec \uc88c\ud45c, \uce74\uba54\ub77c \uc88c\ud45c \ub4f1 \uc5ec\ub7ec \uc88c\ud45c\uacc4\ub97c \uc0ac\uc6a9\ud55c\ub2e4.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\uac70\ub9ac<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\ub450 \uc810 \uc0ac\uc774\uc758 \uac70\ub9ac\ub294 \ud53c\ud0c0\uace0\ub77c\uc2a4 \uc815\ub9ac\uc5d0\uc11c \ub098\uc628\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">2\ucc28\uc6d0\uc5d0\uc11c<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>A = (x\u2081, y\u2081)\nB = (x\u2082, y\u2082)\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ub77c\uba74<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>distance =\n\u221a((x\u2082-x\u2081)\u00b2 + (y\u2082-y\u2081)\u00b2)\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc774\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">3\ucc28\uc6d0\uc5d0\uc11c\ub294<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>distance =\n\u221a((x\u2082-x\u2081)\u00b2 + (y\u2082-y\u2081)\u00b2 + (z\u2082-z\u2081)\u00b2)\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc774\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uac8c\uc784\uc5d0\uc11c\ub294<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>float distance = Vector3.Distance(a, b);\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ucc98\ub7fc \uc0ac\uc6a9\ud55c\ub2e4.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\uac70\ub9ac \uc81c\uacf1<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\uc2e4\uc81c \uac70\ub9ac\uc758 \uc81c\uacf1\uc744 \uc0ac\uc6a9\ud558\uba74 \uc81c\uacf1\uadfc \uacc4\uc0b0\uc744 \ud53c\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>distance\u00b2 =\n(x\u2082-x\u2081)\u00b2 + (y\u2082-y\u2081)\u00b2 + (z\u2082-z\u2081)\u00b2\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc608\ub97c \ub4e4\uc5b4<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>if ((target - player).sqrMagnitude &lt; range * range)\n{\n    \/\/ \ubc94\uc704 \uc548\n}\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ucc98\ub7fc \uc0ac\uc6a9\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uac70\ub9ac \ube44\uad50\ub9cc \ud544\uc694\ud55c \uacbd\uc6b0\uc5d0\ub294 \uc2e4\uc81c \uac70\ub9ac\ub97c \uacc4\uc0b0\ud560 \ud544\uc694\uac00 \uc5c6\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>distance &lt; range\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc640<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>distance\u00b2 &lt; range\u00b2\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ub294 \uac19\uc740 \ube44\uad50 \uacb0\uacfc\ub97c \ub0b8\ub2e4.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\uc120\ubd84<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\ub450 \uc810\uc744 \uc5f0\uacb0\ud55c \uc720\ud55c\ud55c \uc120\uc744 \uc120\ubd84(Line Segment)\uc774\ub77c\uace0 \ud55c\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>A -------- B\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uac8c\uc784\uc5d0\uc11c\ub294 \uacf5\uaca9 \ubc94\uc704, \uc774\ub3d9 \uacbd\ub85c, \ucda9\ub3cc \uac80\uc0ac \ub4f1\uc5d0 \uc0ac\uc6a9\ud55c\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ub450 \uc810 <code>A<\/code>, <code>B<\/code> \uc0ac\uc774\uc758 \uc120\ubd84 \uc704\uc758 \uc810\uc740<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>P(t) = A + (B-A)t\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ub85c \ud45c\ud604\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>0 &lt;= t &lt;= 1<\/code>\uc774\uba74 \uc120\ubd84 \ub0b4\ubd80\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>t = 0 -&gt; A\nt = 0.5 -&gt; \uc911\uac04\nt = 1 -&gt; B\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc774\ub294 \uac8c\uc784 \uac1c\ubc1c\uc5d0\uc11c \uc0ac\uc6a9\ud558\ub294 <code>Lerp<\/code>\uc640 \uac19\uc740 \uc6d0\ub9ac\ub2e4.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\uc9c1\uc120<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\uc9c1\uc120\uc740 \uc591\ucabd \ubc29\ud5a5\uc73c\ub85c \ubb34\ud55c\ud788 \uc774\uc5b4\uc9c0\ub294 \uc120\uc774\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">2\ucc28\uc6d0\uc5d0\uc11c\ub294<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>y = ax + b\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ucc98\ub7fc \ud45c\ud604\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc5ec\uae30\uc11c<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>a -&gt; \uae30\uc6b8\uae30\nb -&gt; y\uc808\ud3b8\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc774\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ub450 \uc810\uc744 \uc54c\uace0 \uc788\ub2e4\uba74 \uae30\uc6b8\uae30\ub294<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>a = (y\u2082-y\u2081)\/(x\u2082-x\u2081)\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc774\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ub2e8, \uc218\uc9c1\uc120\uc5d0\uc11c\ub294 <code>x\u2082-x\u2081 = 0<\/code>\uc774\ubbc0\ub85c \uc77c\ubc18\uc801\uc778 \uae30\uc6b8\uae30 \ud45c\ud604\uc744 \uc0ac\uc6a9\ud560 \uc218 \uc5c6\ub2e4.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\ubca1\ud130<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\ubca1\ud130(Vector)\ub294 \ud06c\uae30\uc640 \ubc29\ud5a5\uc744 \uac00\uc9c4 \uac12\uc774\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uac8c\uc784\uc5d0\uc11c\ub294 \uc774\ub3d9\uacfc \ubc29\ud5a5\uc744 \ud45c\ud604\ud560 \ub54c \ud575\uc2ec\uc801\uc73c\ub85c \uc0ac\uc6a9\ud55c\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Vector3 velocity\nVector3 direction\nVector3 acceleration\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc810\uacfc \ubca1\ud130\ub294 \uad6c\ubd84\ud560 \ud544\uc694\uac00 \uc788\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\uc810 -&gt; \uc704\uce58\n\ubca1\ud130 -&gt; \ubc29\ud5a5\uacfc \ud06c\uae30\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc608\ub97c \ub4e4\uc5b4<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Player Position = (10, 5)\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ub294 \uc704\uce58\uc774\uace0,<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Direction = (1, 0)\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc740 \uc624\ub978\ucabd \ubc29\ud5a5\uc744 \uc758\ubbf8\ud55c\ub2e4.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\ubca1\ud130\uc758 \ud06c\uae30<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\ubca1\ud130<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>v = (x,y,z)\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc758 \ud06c\uae30\ub294<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>|v| = \u221a(x\u00b2+y\u00b2+z\u00b2)\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc774\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ubc29\ud5a5\ub9cc \ud544\uc694\ud558\ub2e4\uba74 \uc815\uaddc\ud654\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\uc815\uaddc\ud654<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\ubca1\ud130\uc758 \ud06c\uae30\ub97c 1\ub85c \ub9cc\ub4dc\ub294 \uac83\uc744 \uc815\uaddc\ud654(Normalization)\ub77c\uace0 \ud55c\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>v\u0302 = v \/ |v|\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc815\uaddc\ud654\ub41c \ubca1\ud130\ub97c \ub2e8\uc704 \ubca1\ud130\ub77c\uace0 \ud55c\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uac8c\uc784\uc5d0\uc11c \ubc29\ud5a5\uc744 \uacc4\uc0b0\ud560 \ub54c \ub9e4\uc6b0 \uc911\uc694\ud558\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Vector3 direction = (target - position).normalized;\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc774\ub807\uac8c \ud558\uba74 \ubc29\ud5a5\uc740 \uc720\uc9c0\ud558\uba74\uc11c \ud06c\uae30\ub294 1\uc774 \ub41c\ub2e4.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\ub0b4\uc801<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\ub450 \ubca1\ud130\uc758 \ub0b4\uc801(Dot Product)\uc740<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>A \u00b7 B =\nAxBx + AyBy + AzBz\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc774\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ub610\ud55c<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>A \u00b7 B = |A||B|cos\u03b8\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ub77c\ub294 \uad00\uacc4\uac00 \uc788\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ub530\ub77c\uc11c \ub450 \ubca1\ud130 \uc0ac\uc774\uc758 \uac01\ub3c4\ub97c \ud310\ub2e8\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>A \u00b7 B &gt; 0 -&gt; \uac19\uc740 \ubc29\ud5a5\uc5d0 \uac00\uae4c\uc6c0\nA \u00b7 B = 0 -&gt; \uc218\uc9c1\nA \u00b7 B &lt; 0 -&gt; \ubc18\ub300 \ubc29\ud5a5\uc5d0 \uac00\uae4c\uc6c0\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uac8c\uc784\uc5d0\uc11c \ub9e4\uc6b0 \uc790\uc8fc \uc0ac\uc6a9\ud55c\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc608\ub97c \ub4e4\uc5b4 \uc801\uc774 \ud50c\ub808\uc774\uc5b4\uc758 \uc55e\uc5d0 \uc788\ub294\uc9c0 \ud655\uc778\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Vector3 direction = (target - enemy.position).normalized;\n\nfloat dot = Vector3.Dot(enemy.forward, direction);\n\nif (dot &gt; 0)\n{\n    \/\/ \uc55e\ucabd\n}\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">\uc2dc\uc57c\uac01<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\ub0b4\uc801\uc744 \uc774\uc6a9\ud558\uba74 \uc2dc\uc57c\uac01\uc744 \uacc4\uc0b0\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Forward \u00b7 Direction = cos\u03b8\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ub530\ub77c\uc11c<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>dot &gt;= cos(FOV \/ 2)\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc870\uac74\uc744 \uc0ac\uc6a9\ud558\uba74 \ud2b9\uc815 \uc2dc\uc57c\uac01 \uc548\uc5d0 \uac1d\uccb4\uac00 \uc788\ub294\uc9c0 \ud310\ub2e8\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>        Target\n          *\n        \/   \\\n       \/     \\\n      \/       \\\n     \/  FOV    \\\n    \/           \\\n Player\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">AI\uc758 \uc2dc\uc57c \ud310\uc815\uc5d0\uc11c \ub300\ud45c\uc801\uc73c\ub85c \uc0ac\uc6a9\ud558\ub294 \ubc29\uc2dd\uc774\ub2e4.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\uc678\uc801<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">3\ucc28\uc6d0\uc5d0\uc11c \ub450 \ubca1\ud130\uc758 \uc678\uc801(Cross Product)\uc740 \ub450 \ubca1\ud130\uc5d0 \ubaa8\ub450 \uc218\uc9c1\uc778 \ubca1\ud130\ub97c \ub9cc\ub4e0\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>A \u00d7 B\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ud06c\uae30\ub294<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>|A \u00d7 B| = |A||B|sin\u03b8\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc774\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ubc29\ud5a5\uc740 \uc624\ub978\uc190 \ubc95\uce59\uc73c\ub85c \uacb0\uc815\ub41c\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uac8c\uc784\uc5d0\uc11c\ub294<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\ubc95\uc120 \ubca1\ud130\n\ud68c\uc804 \ubc29\ud5a5\n\ud3c9\uba74 \ubc29\ud5a5\n\uc0bc\uac01\ud615 \uba74 \ubc29\ud5a5\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ub4f1\uc744 \uacc4\uc0b0\ud558\ub294 \ub370 \uc0ac\uc6a9\ud55c\ub2e4.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\ubc95\uc120 \ubca1\ud130<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\ud3c9\uba74\uc774\ub098 \ud45c\uba74\uc5d0 \uc218\uc9c1\uc778 \ubca1\ud130\ub97c \ubc95\uc120(Normal)\uc774\ub77c\uace0 \ud55c\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc0bc\uac01\ud615\uc758 \ub450 \ubcc0\uc744<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>A\nB\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ub77c\uace0 \ud558\uba74<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>N = A \u00d7 B\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ub85c \ubc95\uc120\uc744 \uad6c\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uadf8\ub798\ud53d\uc2a4\uc5d0\uc11c\ub294 \ub9e4\uc6b0 \uc911\uc694\ud558\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Vertex\n-&gt; Triangle\n-&gt; Normal\n-&gt; Lighting\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc73c\ub85c \uc5f0\uacb0\ub418\uae30 \ub54c\ubb38\uc774\ub2e4.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\uac01\ub3c4<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\ub450 \ubca1\ud130 \uc0ac\uc774\uc758 \uac01\ub3c4\ub294 \ub0b4\uc801\uc744 \uc774\uc6a9\ud574 \uad6c\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>cos\u03b8 = (A\u00b7B) \/ (|A||B|)\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ub530\ub77c\uc11c<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\u03b8 = acos((A\u00b7B)\/(|A||B|))\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc774\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uac8c\uc784\uc5d0\uc11c\ub294 \uce90\ub9ad\ud130\uac00 \uc801\uc744 \ubc14\ub77c\ubcf4\ub294\uc9c0, \uacf5\uaca9 \ubc94\uc704 \uc548\uc5d0 \uc788\ub294\uc9c0, \ud68c\uc804\ud574\uc57c \ud558\ub294 \ubc29\ud5a5\uc774 \uc5b4\ub290 \ucabd\uc778\uc9c0 \ub4f1\uc744 \ud310\ub2e8\ud560 \ub54c \uc0ac\uc6a9\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\uc0bc\uac01\ud615<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\uc0bc\uac01\ud615\uc740 \uac00\uc7a5 \uae30\ubcf8\uc801\uc778 \ub2e4\uac01\ud615\uc774\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc138 \ubcc0\uc758 \uae38\uc774\ub97c<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>a\nb\nc\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ub77c\uace0 \ud560 \ub54c \uc0bc\uac01\ud615\uc774 \ub418\uae30 \uc704\ud55c \uc870\uac74\uc740<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>a + b &gt; c\nb + c &gt; a\nc + a &gt; b\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc774\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc0bc\uac01\ud615\uc740 3D \uadf8\ub798\ud53d\uc2a4\uc5d0\uc11c\ub3c4 \uae30\ubcf8\uc801\uc778 \uad6c\uc131 \ub2e8\uc704\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Mesh\n-&gt; Vertex\n-&gt; Triangle\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">\uc0bc\uac01\ud615\uc758 \uc885\ub958<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\ubcc0\uc744 \uae30\uc900\uc73c\ub85c \ud558\uba74<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\uc815\uc0bc\uac01\ud615\n\uc774\ub4f1\ubcc0\uc0bc\uac01\ud615\n\ubd80\ub4f1\ubcc0\uc0bc\uac01\ud615\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc73c\ub85c \ub098\ub20c \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uac01\ub3c4\ub97c \uae30\uc900\uc73c\ub85c \ud558\uba74<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\uc608\uac01\uc0bc\uac01\ud615\n\uc9c1\uac01\uc0bc\uac01\ud615\n\ub454\uac01\uc0bc\uac01\ud615\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc73c\ub85c \ub098\ub20c \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\ud53c\ud0c0\uace0\ub77c\uc2a4 \uc815\ub9ac<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\uc9c1\uac01\uc0bc\uac01\ud615\uc5d0\uc11c<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>a\u00b2 + b\u00b2 = c\u00b2\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc774\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc5ec\uae30\uc11c <code>c<\/code>\ub294 \ube57\ubcc0\uc774\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uac8c\uc784\uc5d0\uc11c \uac70\ub9ac \uacc4\uc0b0\uc758 \uae30\ubcf8\uc774 \ub418\ub294 \uacf5\uc2dd\uc774\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">2\ucc28\uc6d0 \uac70\ub9ac \uacf5\uc2dd \uc5ed\uc2dc \uc0ac\uc2e4\uc0c1 \ud53c\ud0c0\uace0\ub77c\uc2a4 \uc815\ub9ac\ub97c \ud655\uc7a5\ud55c \uac83\uc774\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>dx = x\u2082-x\u2081\ndy = y\u2082-y\u2081\n\ndistance\u00b2 = dx\u00b2 + dy\u00b2\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">\uc0bc\uac01\ud568\uc218<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\uae30\ubcf8\uc801\uc778 \uc0bc\uac01\ud568\uc218\ub294<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sin\ncos\ntan\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc774\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc9c1\uac01\uc0bc\uac01\ud615\uc5d0\uc11c<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sin\u03b8 = \ub300\ubcc0 \/ \ube57\ubcc0\ncos\u03b8 = \uc778\uc811\ubcc0 \/ \ube57\ubcc0\ntan\u03b8 = \ub300\ubcc0 \/ \uc778\uc811\ubcc0\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc774\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uac8c\uc784\uc5d0\uc11c\ub294 \ubc29\ud5a5\uacfc \ud68c\uc804\uc744 \uacc4\uc0b0\ud560 \ub54c \uc0ac\uc6a9\ud55c\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\uac01\ub3c4\n-&gt; sin \/ cos\n-&gt; \ubc29\ud5a5 \ubca1\ud130\n-&gt; \uc774\ub3d9\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">\ub77c\ub514\uc548<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\uac01\ub3c4\ub97c \uc218\ud559\uc801\uc73c\ub85c \ud45c\ud604\ud560 \ub54c \ub77c\ub514\uc548(Radian)\uc744 \uc0ac\uc6a9\ud55c\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>180\u00b0 = \u03c0 rad\n360\u00b0 = 2\u03c0 rad\n90\u00b0 = \u03c0\/2 rad\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uac8c\uc784 \uc5d4\uc9c4\uc758 \ud68c\uc804 \uad00\ub828 API\uc5d0\uc11c\ub294 \ub77c\ub514\uc548 \ub610\ub294 \ub3c4(degree)\ub97c \uc0ac\uc6a9\ud558\ub294 \uacbd\uc6b0\uac00 \uc788\uc73c\ubbc0\ub85c \ub2e8\uc704\ub97c \ud56d\uc0c1 \ud655\uc778\ud574\uc57c \ud55c\ub2e4.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\uc6d0<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\uc6d0\uc740 \uc911\uc2ec\uc5d0\uc11c \uac19\uc740 \uac70\ub9ac\uc5d0 \uc788\ub294 \uc810\ub4e4\uc758 \uc9d1\ud569\uc774\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc911\uc2ec\uc774 <code>(cx, cy)<\/code>\uc774\uace0 \ubc18\uc9c0\ub984\uc774 <code>r<\/code>\uc774\uba74<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>(x-cx)\u00b2 + (y-cy)\u00b2 = r\u00b2\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc774\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uac8c\uc784\uc5d0\uc11c\ub294 \uc6d0\ud615 \ucda9\ub3cc \ubc94\uc704\ub098 \ud0d0\uc9c0 \ubc94\uc704 \ub4f1\uc744 \ud45c\ud604\ud560 \ub54c \uc0ac\uc6a9\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\uad6c<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">3\ucc28\uc6d0\uc5d0\uc11c \uc6d0\uc744 \ud655\uc7a5\ud558\uba74 \uad6c\uac00 \ub41c\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc911\uc2ec\uc774 <code>(cx,cy,cz)<\/code>\uc774\uace0 \ubc18\uc9c0\ub984\uc774 <code>r<\/code>\uc774\uba74<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>(x-cx)\u00b2\n+ (y-cy)\u00b2\n+ (z-cz)\u00b2\n= r\u00b2\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc774\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ub450 \uad6c\uc758 \uc911\uc2ec \uac70\ub9ac\uc640 \ubc18\uc9c0\ub984\uc744 \ube44\uad50\ud558\uba74 \ucda9\ub3cc \uc5ec\ubd80\ub97c \ud310\ub2e8\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>distance &lt;= r\u2081 + r\u2082\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc774\uba74 \ub450 \uad6c\uac00 \uacb9\uce5c\ub2e4.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\uc0ac\uac01\ud615\uacfc AABB<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">AABB\ub294 Axis-Aligned Bounding Box\uc758 \uc57d\uc790\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ucd95\uc5d0 \ub9de\ucdb0\uc9c4 \ubc15\uc2a4 \ud615\ud0dc\uc758 \ucda9\ub3cc \uc601\uc5ed\uc774\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">2\ucc28\uc6d0\uc5d0\uc11c\ub294<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>minX &lt;= x &lt;= maxX\nminY &lt;= y &lt;= maxY\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uac19\uc740 \uc870\uac74\uc73c\ub85c \uc601\uc5ed\uc744 \ud45c\ud604\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">3\ucc28\uc6d0\uc5d0\uc11c\ub294<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>minX &lt;= x &lt;= maxX\nminY &lt;= y &lt;= maxY\nminZ &lt;= z &lt;= maxZ\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ub97c \uc0ac\uc6a9\ud55c\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uacc4\uc0b0\uc774 \ub2e8\uc21c\ud558\uae30 \ub54c\ubb38\uc5d0 \ucda9\ub3cc \ud6c4\ubcf4\ub97c \ube60\ub974\uac8c \uac78\ub7ec\ub0b4\ub294 \ub370 \uc720\uc6a9\ud558\ub2e4.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">OBB<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">OBB\ub294 Oriented Bounding Box\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">AABB\uc640 \ub2ec\ub9ac \uac1d\uccb4\uc758 \ud68c\uc804\uc5d0 \ub9de\ucdb0 \ud68c\uc804\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>AABB -&gt; \ucd95\uc5d0 \uace0\uc815\nOBB  -&gt; \uac1d\uccb4 \ubc29\ud5a5\uc5d0 \ub9de\ucdb0 \ud68c\uc804\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">OBB\ub294 \ub354 \uc815\ud655\ud558\uac8c \uac1d\uccb4\ub97c \uac10\uc300 \uc218 \uc788\uc9c0\ub9cc \uacc4\uc0b0\uc774 \ub354 \ubcf5\uc7a1\ud558\ub2e4.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\ucea1\uc290<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\ucea1\uc290(Capsule)\uc740 \uc120\ubd84\uc744 \uc911\uc2ec\uc73c\ub85c \uc77c\uc815\ud55c \ubc18\uc9c0\ub984\uc744 \uac00\uc9c4 \ud615\ud0dc\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uac8c\uc784 \uce90\ub9ad\ud130\uc758 \ucda9\ub3cc \uc601\uc5ed\uc73c\ub85c \uc790\uc8fc \uc0ac\uc6a9\ub41c\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>   ___\n \/     \\\n|       |\n|       |\n \\_____\/\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc0ac\ub78c \ud615\ud0dc\ub97c \ub2e8\uc21c\ud654\ud558\uba74\uc11c\ub3c4 \uacc4\ub2e8\uc774\ub098 \uacbd\uc0ac\uba74\uc5d0\uc11c \ube44\uad50\uc801 \uc790\uc5f0\uc2a4\ub7fd\uac8c \uc6c0\uc9c1\uc77c \uc218 \uc788\ub2e4\ub294 \uc7a5\uc810\uc774 \uc788\ub2e4.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\ud3c9\uba74<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">3\ucc28\uc6d0 \uacf5\uac04\uc5d0\uc11c \ud3c9\uba74\uc740<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ax + by + cz + d = 0\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc73c\ub85c \ud45c\ud604\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc5ec\uae30\uc11c<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>N = (a,b,c)\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uac00 \ud3c9\uba74\uc758 \ubc95\uc120 \ubca1\ud130\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ud3c9\uba74\uc740<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\ubc14\ub2e5\n\ubcbd\n\uc808\ub2e8\uba74\n\uce74\uba54\ub77c\n\ud074\ub9ac\ud551\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ub4f1\uc758 \uacc4\uc0b0\uc5d0 \uc0ac\uc6a9\ub41c\ub2e4.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\uc810\uacfc \ud3c9\uba74\uc758 \uac70\ub9ac<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\uc810 <code>P<\/code>\uc640 \ud3c9\uba74<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ax + by + cz + d = 0\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc0ac\uc774\uc758 \uac70\ub9ac\ub294<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>distance =\n|ax + by + cz + d|\n\/\n\u221a(a\u00b2+b\u00b2+c\u00b2)\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc774\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ubd80\ud638\ub97c \uc720\uc9c0\ud558\uba74 \uc810\uc774 \ud3c9\uba74\uc758 \uc5b4\ub290 \ucabd\uc5d0 \uc788\ub294\uc9c0\ub3c4 \ud310\ub2e8\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Ray<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Ray\ub294 \ud55c \uc810\uc5d0\uc11c \ud55c \ubc29\ud5a5\uc73c\ub85c \ubb34\ud55c\ud788 \ubed7\ub294 \uc120\uc774\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>P -------------------&gt;\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc218\uc2dd\uc73c\ub85c\ub294<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>P(t) = O + Dt\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ub85c \ud45c\ud604\ud55c\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc5ec\uae30\uc11c<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>O -&gt; \uc2dc\uc791\uc810\nD -&gt; \ubc29\ud5a5\nt &gt;= 0\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc774\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uac8c\uc784\uc5d0\uc11c\ub294 Raycast\uac00 \ub300\ud45c\uc801\uc778 \uc0ac\uc6a9 \uc0ac\ub840\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Camera\n-&gt; Ray\n-&gt; Collision Test\n-&gt; Hit\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ub9c8\uc6b0\uc2a4\ub85c \uc6d4\ub4dc\uc758 \uac1d\uccb4\ub97c \uc120\ud0dd\ud558\ub294 \uae30\ub2a5\ub3c4 \uc774\ub7f0 \uc6d0\ub9ac\ub97c \uc0ac\uc6a9\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\uc120\ubd84\uacfc \uad50\ucc28<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\ub450 \uc120\ubd84\uc774 \uad50\ucc28\ud558\ub294\uc9c0 \ud310\ub2e8\ud558\ub294 \uac83\uc740 2D \uac8c\uc784\uc5d0\uc11c \uc790\uc8fc \ub4f1\uc7a5\ud55c\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>A -------- B\n     X\n    \/ \\\n   \/   \\\n  C-----D\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uad50\ucc28 \uc5ec\ubd80\ub294 \ubc29\ud5a5\uc131\uc774\ub098 \uc678\uc801\uc744 \uc774\uc6a9\ud574\uc11c \ud310\ub2e8\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ub450 \uc810\uc744 \uae30\uc900\uc73c\ub85c \ub2e4\ub978 \uc810\ub4e4\uc774 \uc5b4\ub290 \ubc29\ud5a5\uc5d0 \uc788\ub294\uc9c0\ub97c \ube44\uad50\ud558\uba74 \uc120\ubd84 \uad50\ucc28 \uc5ec\ubd80\ub97c \ud310\ub2e8\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\uc810\uacfc \uc120\ubd84\uc758 \ucd5c\ub2e8 \uac70\ub9ac<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\uc810 <code>P<\/code>\uc5d0\uc11c \uc120\ubd84 <code>AB<\/code>\uae4c\uc9c0\uc758 \uac00\uc7a5 \uac00\uae4c\uc6b4 \uc810\uc744 \ucc3e\uc744 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uba3c\uc800<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>AP = P - A\nAB = B - A\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ub97c \uad6c\ud558\uace0,<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>t = (AP \u00b7 AB) \/ (AB \u00b7 AB)\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ub97c \uacc4\uc0b0\ud55c\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uadf8\ub2e4\uc74c <code>t<\/code>\ub97c<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>0 &lt;= t &lt;= 1\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ubc94\uc704\ub85c \uc81c\ud55c\ud55c\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>t = Clamp(t, 0, 1)\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uac00\uc7a5 \uac00\uae4c\uc6b4 \uc810\uc740<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Closest = A + AB * t\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc774\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc774 \ubc29\ubc95\uc740 \uc120\ubd84\uacfc \uc6d0\uc758 \ucda9\ub3cc, \ub808\uc774\uc800 \ud310\uc815, \uac70\ub9ac \uae30\ubc18 \ud310\uc815 \ub4f1 \ub2e4\uc591\ud55c \uacf3\uc5d0 \uc0ac\uc6a9\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\uc810\uacfc \uc0bc\uac01\ud615<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\uc810\uc774 \uc0bc\uac01\ud615 \ub0b4\ubd80\uc5d0 \uc788\ub294\uc9c0 \ud310\ub2e8\ud558\ub294 \ubb38\uc81c\ub3c4 \uc911\uc694\ud558\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ub300\ud45c\uc801\uc778 \ubc29\ubc95\uc73c\ub85c Barycentric Coordinate\ub97c \uc0ac\uc6a9\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc0bc\uac01\ud615\uc744<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>A\nB\nC\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ub77c\uace0 \ud558\uba74 \uc810 <code>P<\/code>\ub97c<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>P = uA + vB + wC\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ub85c \ud45c\ud604\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uadf8\ub9ac\uace0<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>u + v + w = 1\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc774\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc77c\ubc18\uc801\uc73c\ub85c<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>u &gt;= 0\nv &gt;= 0\nw &gt;= 0\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc774\uba74 \uc810\uc774 \uc0bc\uac01\ud615 \ub0b4\ubd80 \ub610\ub294 \uacbd\uacc4\uc5d0 \uc788\ub2e4\uace0 \ud310\ub2e8\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uadf8\ub798\ud53d\uc2a4\uc5d0\uc11c \ub9e4\uc6b0 \uc911\uc694\ud55c \uac1c\ub150\uc774\ub2e4.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\ubb34\uac8c\uc911\uc2ec \uc88c\ud45c<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Barycentric Coordinate\ub294 \uc0bc\uac01\ud615 \ub0b4\ubd80\uc758 \uc810\uc744 \ud45c\ud604\ud558\ub294 \ub370 \uc0ac\uc6a9\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc774\ub97c \uc774\uc6a9\ud558\uba74<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Triangle\n-&gt; Vertex A \/ B \/ C\n-&gt; \uac00\uc911\uce58 u \/ v \/ w\n-&gt; \uc784\uc758\uc758 \ub0b4\ubd80 \uc704\uce58\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ub97c \uacc4\uc0b0\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ud14d\uc2a4\ucc98 \uc88c\ud45c, \uc0c9\uc0c1, \ubc95\uc120, \uc704\uce58 \ub4f1\uc758 \ubcf4\uac04\uc5d0\ub3c4 \uc0ac\uc6a9\ub41c\ub2e4.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\ubcfc\ub85d\uacfc \uc624\ubaa9<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\ub2e4\uac01\ud615\uc740 \ud615\ud0dc\uc5d0 \ub530\ub77c \ubcfc\ub85d(Convex)\uacfc \uc624\ubaa9(Concave)\uc73c\ub85c \ub098\ub20c \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ubcfc\ub85d \ub2e4\uac01\ud615\uc5d0\uc11c\ub294<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\uc5b4\ub5a4 \ub450 \uc810\uc744 \uc5f0\uacb0\ud574\ub3c4\n-&gt; \uc120\ubd84 \uc804\uccb4\uac00 \ub0b4\ubd80\uc5d0 \uc874\uc7ac\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ud55c\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc624\ubaa9 \ub2e4\uac01\ud615\uc740 \ub0b4\ubd80\ub85c \ub4e4\uc5b4\uac04 \ubd80\ubd84\uc774 \uc874\uc7ac\ud55c\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ucda9\ub3cc \ud310\uc815\uc5d0\uc11c\ub294 \ubcfc\ub85d \ub3c4\ud615\uc774 \uc0c1\ub300\uc801\uc73c\ub85c \ub2e4\ub8e8\uae30 \uc27d\ub2e4.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Separating Axis<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\ub450 \ubcfc\ub85d \ub3c4\ud615\uc774 \ucda9\ub3cc\ud558\ub294\uc9c0 \uac80\uc0ac\ud560 \ub54c \uc0ac\uc6a9\ud560 \uc218 \uc788\ub294 \ub300\ud45c\uc801\uc778 \ubc29\ubc95\uc774 SAT(Separating Axis Theorem)\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ud575\uc2ec \uc544\uc774\ub514\uc5b4\ub294<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\ub450 \ub3c4\ud615\uc744 \ubd84\ub9ac\ud560 \uc218 \uc788\ub294 \ucd95\uc774 \ud558\ub098\ub77c\ub3c4 \uc874\uc7ac\ud558\ub294\uac00?<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc774\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\ub3c4\ud615 A\n-&gt; \ucd95\uc5d0 \ud22c\uc601\n\n\ub3c4\ud615 B\n-&gt; \uac19\uc740 \ucd95\uc5d0 \ud22c\uc601\n\n\ud22c\uc601 \uad6c\uac04\uc774 \uacb9\uce58\uc9c0 \uc54a\uc74c\n-&gt; \ucda9\ub3cc\ud558\uc9c0 \uc54a\uc74c\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ubc18\ub300\ub85c \ubaa8\ub4e0 \uac80\uc0ac \ucd95\uc5d0\uc11c \ud22c\uc601 \uad6c\uac04\uc774 \uacb9\uce5c\ub2e4\uba74 \ucda9\ub3cc\ud55c\ub2e4\uace0 \ud310\ub2e8\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">2D\/3D \ucda9\ub3cc \uac80\uc0ac\uc758 \uc911\uc694\ud55c \uae30\ubc18\uc774\ub2e4.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\uc88c\ud45c \ubcc0\ud658<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\uac8c\uc784\uc5d0\uc11c\ub294 \ud558\ub098\uc758 \uc88c\ud45c\uacc4\ub9cc \uc0ac\uc6a9\ud558\uc9c0 \uc54a\ub294\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ub300\ud45c\uc801\uc73c\ub85c<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Local Space\n-&gt; Object Space\n-&gt; World Space\n-&gt; View Space\n-&gt; Clip Space\n-&gt; Screen Space\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ub4f1\uc774 \uc788\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc608\ub97c \ub4e4\uc5b4<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Local Position\n-&gt; Transform\n-&gt; World Position\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ucc98\ub7fc \uc88c\ud45c\ub97c \ubcc0\ud658\ud55c\ub2e4.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\ub85c\uceec \uc88c\ud45c\uc640 \uc6d4\ub4dc \uc88c\ud45c<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\ub85c\uceec \uc88c\ud45c\ub294 \uac1d\uccb4 \uc790\uc2e0\uc744 \uae30\uc900\uc73c\ub85c \ud55c \uc704\uce58\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc6d4\ub4dc \uc88c\ud45c\ub294 \uac8c\uc784 \uc6d4\ub4dc \uc804\uccb4\ub97c \uae30\uc900\uc73c\ub85c \ud55c \uc704\uce58\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Local\n-&gt; \ubd80\ubaa8 \uae30\uc900 \uc704\uce58\n\nWorld\n-&gt; \uac8c\uc784 \uc6d4\ub4dc \uae30\uc900 \uc704\uce58\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ubd80\ubaa8 \uac1d\uccb4\uac00 \uc6c0\uc9c1\uc774\uba74 \ub85c\uceec \uc88c\ud45c\ub294 \uadf8\ub300\ub85c\uc5ec\ub3c4 \uc6d4\ub4dc \uc88c\ud45c\ub294 \ubcc0\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\ud68c\uc804<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">2D\uc5d0\uc11c \ud68c\uc804\uc740 \uc0bc\uac01\ud568\uc218\ub85c \ud45c\ud604\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc810 <code>(x,y)<\/code>\ub97c \uc6d0\uc810 \uae30\uc900\uc73c\ub85c <code>\u03b8<\/code>\ub9cc\ud07c \ud68c\uc804\ud558\uba74<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>x' = xcos\u03b8 - ysin\u03b8\ny' = xsin\u03b8 + ycos\u03b8\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc774\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc774\ub97c \ud589\ub82c\ub85c \ud45c\ud604\ud558\uba74<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&#91; x' ]   &#91; cos\u03b8  -sin\u03b8 ] &#91; x ]\n&#91; y' ] = &#91; sin\u03b8   cos\u03b8 ] &#91; y ]\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uac00 \ub41c\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">3D\uc5d0\uc11c\ub294 \ud68c\uc804\ucd95\uc774 \ucd94\uac00\ub418\uae30 \ub54c\ubb38\uc5d0<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Euler Angle\nRotation Matrix\nQuaternion\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ub4f1\uc744 \uc0ac\uc6a9\ud55c\ub2e4.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\uc6d0\uadfc\uacfc \ud22c\uc601<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">3D \uacf5\uac04\uc758 \uac1d\uccb4\ub97c 2D \ud654\uba74\uc5d0 \ud45c\ud604\ud558\ub824\uba74 \ud22c\uc601(Projection)\uc774 \ud544\uc694\ud558\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ub300\ud45c\uc801\uc73c\ub85c<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Perspective Projection\nOrthographic Projection\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc774 \uc788\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Perspective\ub294 \uba40\ub9ac \uc788\ub294 \uac1d\uccb4\uac00 \uc791\uac8c \ubcf4\uc778\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Camera\n-&gt; \uac00\uae4c\uc6b4 \ubb3c\uccb4 \ud06c\uac8c\n-&gt; \uba3c \ubb3c\uccb4 \uc791\uac8c\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Orthographic\uc740 \uac70\ub9ac\uc5d0 \ub530\ub978 \ud06c\uae30 \ubcc0\ud654\ub97c \uc801\uc6a9\ud558\uc9c0 \uc54a\ub294\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Camera\n-&gt; \uac19\uc740 \ud06c\uae30 \uc720\uc9c0\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uac8c\uc784\uc758 \uce74\uba54\ub77c \uc885\ub958\uc5d0 \ub530\ub77c \uc0ac\uc6a9\ud55c\ub2e4.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\uac8c\uc784 \uadf8\ub798\ud53d\uc2a4\uc640 \uae30\ud558\ud559<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">3D \uadf8\ub798\ud53d\uc2a4\uc758 \uae30\ubcf8 \ud750\ub984\ub3c4 \uae30\ud558\ud559\uacfc \uc9c1\uc811 \uc5f0\uacb0\ub41c\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Model Vertex\n-&gt; Local Space\n-&gt; World Space\n-&gt; View Space\n-&gt; Projection\n-&gt; Screen Space\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc5ec\uae30\uc11c<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Vertex\nVector\nMatrix\nPlane\nTriangle\nNormal\nProjection\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ub4f1\uc758 \uae30\ud558\ud559 \uac1c\ub150\uc774 \uacc4\uc18d \uc0ac\uc6a9\ub41c\ub2e4.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\uae30\ud558\ud559\uacfc \ucda9\ub3cc<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\uac8c\uc784\uc758 \ucda9\ub3cc \ud310\uc815\uc740 \ub300\ubd80\ubd84 \uae30\ud558\ud559 \ubb38\uc81c\ub85c \ubcfc \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Sphere vs Sphere\n-&gt; \uc911\uc2ec \uac70\ub9ac \ube44\uad50\n\nAABB vs AABB\n-&gt; \ucd95\ubcc4 \ubc94\uc704 \ube44\uad50\n\nRay vs Object\n-&gt; \uad50\ucc28 \uac80\uc0ac\n\nPoint vs Triangle\n-&gt; Barycentric Coordinate\n\nConvex vs Convex\n-&gt; SAT\n\nCharacter vs Environment\n-&gt; Capsule \/ Collider\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uacb0\uad6d \ucda9\ub3cc \uc2dc\uc2a4\ud15c\uc740 <strong>\uacf5\uac04\uc5d0 \uc874\uc7ac\ud558\ub294 \ub3c4\ud615 \uc0ac\uc774\uc758 \uad00\uacc4\ub97c \uacc4\uc0b0\ud558\ub294 \uc2dc\uc2a4\ud15c<\/strong>\uc774\ub2e4.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\uae30\ud558\ud559\uacfc \uac8c\uc784 AI<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">AI\uc5d0\uc11c\ub3c4 \uae30\ud558\ud559\uc774 \ub9ce\uc774 \uc0ac\uc6a9\ub41c\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>AI Position\n-&gt; Target Position\n-&gt; Direction\n-&gt; Distance\n-&gt; Angle\n-&gt; Visibility\n-&gt; Decision\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc608\ub97c \ub4e4\uc5b4 \uc801\uc774 \ud50c\ub808\uc774\uc5b4\ub97c \ubcfc \uc218 \uc788\ub294\uc9c0 \ud310\ub2e8\ud558\ub824\uba74<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\uac70\ub9ac\n+\n\uc2dc\uc57c\uac01\n+\nRaycast\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ub97c \uc870\ud569\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\uae30\ud558\ud559\uacfc \uc560\ub2c8\uba54\uc774\uc158<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\uce90\ub9ad\ud130 \uc560\ub2c8\uba54\uc774\uc158\uc5d0\uc11c\ub3c4 \uc704\uce58\uc640 \ud68c\uc804 \uacc4\uc0b0\uc774 \ud544\uc694\ud558\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Bone\n-&gt; Position\n-&gt; Rotation\n-&gt; Parent Transform\n-&gt; Child Transform\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ud2b9\ud788 IK(Inverse Kinematics)\ub294 \ubaa9\ud45c \uc704\uce58\ub97c \ub9cc\uc871\ud558\ub3c4\ub85d \uad00\uc808\uc758 \ud68c\uc804\uc744 \uacc4\uc0b0\ud558\ub294 \ubb38\uc81c\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Target\n-&gt; Joint Position\n-&gt; Angle\n-&gt; Rotation\n-&gt; Pose\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc5ec\uae30\uc5d0\ub3c4 \uae30\ud558\ud559\uacfc \uc0bc\uac01\ud568\uc218\uac00 \uc0ac\uc6a9\ub41c\ub2e4.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\ud575\uc2ec \uc815\ub9ac<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\uac8c\uc784 \uac1c\ubc1c\uc5d0\uc11c \uae30\ud558\ud559\uc744 \uacf5\ubd80\ud55c\ub2e4\uba74 \uc6b0\uc120 \ub2e4\uc74c \uac1c\ub150\uc744 \uc7a1\ub294 \uac83\uc774 \uc88b\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\uc810\n-&gt; \uc704\uce58\n\n\uc88c\ud45c\uacc4\n-&gt; \uacf5\uac04 \ud45c\ud604\n\n\uac70\ub9ac\n-&gt; \ub450 \uc810 \uc0ac\uc774\uc758 \uac04\uaca9\n\n\uc120 \/ \uc120\ubd84\n-&gt; \uacf5\uac04\uc0c1\uc758 \uad00\uacc4\n\n\ubca1\ud130\n-&gt; \ubc29\ud5a5\uacfc \ud06c\uae30\n\n\ub0b4\uc801\n-&gt; \uac01\ub3c4 \/ \ubc29\ud5a5 \ud310\ub2e8\n\n\uc678\uc801\n-&gt; \uc218\uc9c1 \ubca1\ud130 \/ \ubc29\ud5a5 \/ \ubc95\uc120\n\n\uc0bc\uac01\ud568\uc218\n-&gt; \uac01\ub3c4 \/ \ud68c\uc804 \/ \ubc29\ud5a5\n\n\ud3c9\uba74\n-&gt; 3D \uacf5\uac04 \ubd84\ud560\n\nRay\n-&gt; \ubc29\ud5a5\uc131 \uad50\ucc28 \uac80\uc0ac\n\n\uc0bc\uac01\ud615\n-&gt; 3D \uadf8\ub798\ud53d\uc2a4 \uae30\ubcf8 \ub2e8\uc704\n\n\uc6d0 \/ \uad6c\n-&gt; \uac70\ub9ac \uae30\ubc18 \uc601\uc5ed\n\nAABB \/ OBB \/ Capsule\n-&gt; \ucda9\ub3cc \uc601\uc5ed\n\nBarycentric Coordinate\n-&gt; \uc0bc\uac01\ud615 \ub0b4\ubd80 \uc88c\ud45c \/ \ubcf4\uac04\n\nSAT\n-&gt; \ubcfc\ub85d \ub3c4\ud615 \ucda9\ub3cc\n\n\uc88c\ud45c \ubcc0\ud658\n-&gt; Local \/ World \/ View \/ Screen\n\nProjection\n-&gt; 3D -&gt; 2D\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uae30\ud558\ud559\uc758 \ud575\uc2ec\uc740 \uacf5\uc2dd\uc744 \uc678\uc6b0\ub294 \ub370 \uc788\uc9c0 \uc54a\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\uacf5\uac04\uc5d0 \uc874\uc7ac\ud558\ub294 \ubb38\uc81c\ub97c \uc218\ud559\uc801\uc778 \uad00\uacc4\ub85c \ubc14\uafb8\ub294 \uac83<\/strong>\uc774 \ud575\uc2ec\uc774\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uac8c\uc784 \uac1c\ubc1c\uc5d0\uc11c\ub294 \ub300\ubd80\ubd84 \ub2e4\uc74c \ud615\ud0dc\ub85c \ub098\ud0c0\ub09c\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\uac8c\uc784 \uc6d4\ub4dc\n-&gt; \uc810 \/ \ubca1\ud130 \/ \ub3c4\ud615\uc73c\ub85c \ubaa8\ub378\ub9c1\n-&gt; \uac70\ub9ac \/ \uac01\ub3c4 \/ \uad50\ucc28 \uacc4\uc0b0\n-&gt; \uacf5\uac04 \uad00\uacc4 \ud310\ub2e8\n-&gt; \uac8c\uc784 \ub85c\uc9c1 \uc2e4\ud589\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc608\ub97c \ub4e4\uc5b4 \uacf5\uaca9 \ud310\uc815 \ud558\ub098\ub9cc \ubd10\ub3c4<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\uacf5\uaca9\uc790\n-&gt; \uc704\uce58\n\n\ub300\uc0c1\n-&gt; \uc704\uce58\n\n\ub450 \uc704\uce58\n-&gt; \ubc29\ud5a5 + \uac70\ub9ac\n\n\ubc29\ud5a5\n-&gt; \ub0b4\uc801\n-&gt; \uc2dc\uc57c\uac01 \ud310\uc815\n\n\uac70\ub9ac\n-&gt; \uacf5\uaca9 \ubc94\uc704 \ud310\uc815\n\nRay\n-&gt; \uc7a5\uc560\ubb3c \uac80\uc0ac\n\nCollider\n-&gt; \uc2e4\uc81c \ucda9\ub3cc \ud310\uc815\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc73c\ub85c \uc774\uc5b4\uc9c4\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ub530\ub77c\uc11c \uae30\ud558\ud559\uc740 \uac8c\uc784 \uac1c\ubc1c\uc5d0\uc11c \ub2e8\uc21c\ud55c \uc218\ud559 \uacfc\ubaa9\uc774 \uc544\ub2c8\ub77c <strong>\uc6d4\ub4dc\uc758 \uacf5\uac04\uc744 \ucef4\ud4e8\ud130\uac00 \uacc4\uc0b0\ud560 \uc218 \uc788\ub294 \ud615\ud0dc\ub85c \ud45c\ud604\ud558\ub294 \uae30\ubc18 \uae30\uc220<\/strong>\uc5d0 \uac00\uae5d\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc120\ud615\ub300\uc218\uac00 \uacf5\uac04\uc758 <strong>\ubca1\ud130\uc640 \ubcc0\ud658<\/strong>\uc744 \ub2e4\ub8ec\ub2e4\uba74, \uae30\ud558\ud559\uc740 \uadf8 \ubca1\ud130\uc640 \ubcc0\ud658\uc774 \uc2e4\uc81c \uacf5\uac04\uc5d0\uc11c <strong>\uc5b4\ub5a4 \uad00\uacc4\ub97c \uac00\uc9c0\ub294\uc9c0<\/strong>\ub97c \ub2e4\ub8ec\ub2e4\uace0 \uc774\ud574\ud558\uba74 \ub41c\ub2e4.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\uae30\ud558\ud559(Geometry)\uc740 \uacf5\uac04\uc5d0 \uc874\uc7ac\ud558\ub294 \uc810, \uc120, \uba74, \ub3c4\ud615\uc758 \ud615\ud0dc\uc640 \uad00\uacc4\ub97c \ub2e4\ub8e8\ub294 \uc218\ud559\uc774\ub2e4. \uac8c\uc784 \uac1c\ubc1c\uc5d0\uc11c\ub294 \ub2e8\uc21c\ud788 \ub3c4\ud615\uc758 \uc131\uc9c8\uc744 \uacf5\ubd80\ud558\ub294 \uac83\ubcf4\ub2e4 \ub2e4\uc74c\uacfc \uac19\uc740 \ubb38\uc81c\ub97c \ud574\uacb0\ud558\ub294 \ub370 \uc0ac\uc6a9\ub41c\ub2e4. \uacb0\uad6d \uac8c\uc784\uc5d0\uc11c \uae30\ud558\ud559\uc740 \uac8c\uc784 \uc6d4\ub4dc\uc758 \uacf5\uac04\uc744 \uacc4\uc0b0\ud558\ub294 \uc218\ud559\uc774\ub77c\uace0 \ubcfc \uc218 \uc788\ub2e4. \uc810 \uc810(Point)\uc740 \uacf5\uac04\uc5d0\uc11c \uc704\uce58\ub97c \ub098\ud0c0\ub0b8\ub2e4. 2\ucc28\uc6d0\uc5d0\uc11c\ub294 3\ucc28\uc6d0\uc5d0\uc11c\ub294 \ub85c \ud45c\ud604\ud55c\ub2e4. \uc810 \uc790\uccb4\uc5d0\ub294 \ud06c\uae30\uac00 \uc5c6\ub2e4. \uac8c\uc784\uc5d0\uc11c\ub294 \ub4f1\uc774 \ubaa8\ub450 \uc810\uc73c\ub85c \uc0dd\uac01\ub420 \uc218 \uc788\ub2e4. [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[33],"tags":[],"class_list":["post-2121","post","type-post","status-publish","format-standard","hentry","category-mathematics"],"_links":{"self":[{"href":"https:\/\/wayhope.kro.kr\/index.php?rest_route=\/wp\/v2\/posts\/2121","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wayhope.kro.kr\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wayhope.kro.kr\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wayhope.kro.kr\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wayhope.kro.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2121"}],"version-history":[{"count":1,"href":"https:\/\/wayhope.kro.kr\/index.php?rest_route=\/wp\/v2\/posts\/2121\/revisions"}],"predecessor-version":[{"id":2122,"href":"https:\/\/wayhope.kro.kr\/index.php?rest_route=\/wp\/v2\/posts\/2121\/revisions\/2122"}],"wp:attachment":[{"href":"https:\/\/wayhope.kro.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2121"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wayhope.kro.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2121"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wayhope.kro.kr\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2121"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}