<?xml version="1.0"?>
<rss version="2.0">
   <channel>
      <title>뷰행렬 구하기 by Mankyu Sung</title>
      <link>https://padlet.com/mksung89/cameraMatrix</link>
      <description>Made with the help of a typing monkey</description>
      <language>en-us</language>
      <pubDate>2020-11-02 02:00:03 UTC</pubDate>
      <lastBuildDate>2025-10-15 00:15:16 UTC</lastBuildDate>
      <webMaster>hello@padlet.com</webMaster>
      <image>
         <url></url>
      </image>
      <item>
         <title>5764095_오도혁</title>
         <author></author>
         <link>https://padlet.com/mksung89/cameraMatrix/wish/3612334458</link>
         <description><![CDATA[<p>#define GLM_ENABLE_EXPERIMENTAL</p><p>#include &lt;glm/gtx/dual_quaternion.hpp&gt;</p><p>#include&lt;iostream&gt;</p><p>#include&lt;glm/glm.hpp&gt;</p><p>#include &lt;glm/gtx/matrix_transform_2d.hpp&gt;</p><p>#include&lt;glm/gtx/string_cast.hpp&gt;</p><p>#include &lt;glm/gtc/constants.hpp&gt;</p><p>#include&lt;glm/mat4x4.hpp&gt;</p><p>#include&lt;glm/mat2x2.hpp&gt;</p><p>#include&lt;glm/mat3x2.hpp&gt;</p><p>#include&lt;glm/mat3x3.hpp&gt;</p><p>glm::mat4 lookAt(glm::vec3 campos, glm::vec3 look, glm::vec3 up);</p><p>int main()</p><p>{</p><p>	std::cout &lt;&lt; to_string(lookAt({ 5,5,5 }, { 0,0,0 }, { 0,1,0 })) &lt;&lt; std::endl;</p><p>	return 0;</p><p>}</p><p>glm::mat4 lookAt(glm::vec3 campos, glm::vec3 look, glm::vec3 up)</p><p>{</p><p>	glm::vec3 z = glm::normalize(campos - look);</p><p>	glm::vec3 x = glm::normalize(glm::cross(up, z));</p><p>	glm::vec3 y = glm::normalize(glm::cross(z, x));</p><p>	glm::mat4 t = glm::translate(glm::mat4(1), -campos);</p><p>	glm::mat4 r({ x.x,y.x,z.x,0 }, { x.y,y.y,z.y,0 }, { x.z,y.z,z.z,0 }, { 0,0,0,1 });</p><p>	return r*t;</p><p>}</p>]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/4477136309/4077c55edb28f817267f10dbe7df7f29/123123123123123.png" />
         <pubDate>2025-10-01 00:54:44 UTC</pubDate>
         <guid>https://padlet.com/mksung89/cameraMatrix/wish/3612334458</guid>
      </item>
      <item>
         <title>5645974_김재현</title>
         <author></author>
         <link>https://padlet.com/mksung89/cameraMatrix/wish/3612340230</link>
         <description><![CDATA[<p>#define GLM_ENABLE_EXPERIMENTAL</p><p>#include &lt;iostream&gt;</p><p>#include &lt;glm/glm.hpp&gt;</p><p>#include &lt;glm/gtx/transform.hpp&gt;</p><p>#include &lt;glm/gtx/matrix_transform_2d.hpp&gt;</p><p>#include &lt;glm/gtx/string_cast.hpp&gt;</p><p>int main()</p><p>{</p><p>	glm::vec3 camPos(5, 5, 5); // cameraPos</p><p>	glm::vec3 Look(0, 0, 0); // cameraTarget</p><p>	glm::vec3 Up(0, 1, 0); // Upvector</p><p>	std::cout &lt;&lt; glm::to_string(lookAt(camPos, Look, Up)) &lt;&lt; std::endl;</p><p>	return 0;</p><p>}</p><p>glm::mat4 lookAt(glm::vec3 campos, glm::vec3 look, glm::vec3 up)</p><p>{</p><p>	glm::vec3 move = look - campos;</p><p>	glm::vec3 NewZAxies = glm::normalize(look - campos);</p><p>	glm::vec3 NewXAxies = glm::normalize(up * NewZAxies);</p><p>	glm::vec3 NewYAxies = glm::normalize(up * NewXAxies);</p><p>	glm::mat4 viewingMat =</p><p>	{</p><p>		{ NewXAxies.x, NewYAxies.x, NewZAxies.x, 0 },</p><p>		{ NewXAxies.y, NewYAxies.y, NewZAxies.y, 0 },</p><p>		{ NewXAxies.z, NewYAxies.z, NewZAxies.z, 0 },</p><p>		{ 0 ,0, 0, 1}</p><p>	};</p><p>	return viewingMat;</p><p>}</p>]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/4477164343/8ff50e21df222718591edbc01c764fe0/_D581CB85_797B_45CC_AC02_6BDF56C94FAB_.png" />
         <pubDate>2025-10-01 00:58:23 UTC</pubDate>
         <guid>https://padlet.com/mksung89/cameraMatrix/wish/3612340230</guid>
      </item>
      <item>
         <title>5702680_정상윤</title>
         <author></author>
         <link>https://padlet.com/mksung89/cameraMatrix/wish/3612341497</link>
         <description><![CDATA[<p>#define GLM_ENABLE_EXPERIMENTAL</p><p>#include &lt;iostream&gt;</p><p>#include &lt;glm/glm.hpp&gt;</p><p>#include &lt;glm/gtx/transform.hpp&gt;</p><p>#include &lt;glm/gtx/string_cast.hpp&gt;</p><p>int main()</p><p>{</p><p>	glm::vec3 camPos(5, 5, 5);</p><p>	glm::vec3 look(0, 0, 0);</p><p>	glm::vec3 up(0, 1, 0);</p><p>	std::cout &lt;&lt; glm::to_string(lookAt(camPos, look, up)) &lt;&lt; std::endl;</p><p>	return 0;</p><p>}</p><p>glm::mat4 lookAt(glm::vec3 campos, glm::vec3 look, glm::vec3 up)</p><p>{</p><p>	glm::mat4 tr = glm::translate(glm::mat4(1), -campos);</p><p>	glm::vec3 z = glm::normalize(look - campos);</p><p>	glm::vec3 x = glm::normalize(up * z);</p><p>	glm::vec3 y = glm::normalize(z * x);</p><p>	glm::vec4 c1(x[0], y[0], z[0], 0);</p><p>	glm::vec4 c2(x[1], y[1], z[1], 0);</p><p>	glm::vec4 c3(x[2], y[2], z[2], 0);</p><p>	glm::vec4 c4(0, 0, 0, 1);</p><p>	glm::mat4 ro(c1, c2, c3, c4);</p><p>	return ro*tr;</p><p>}</p>]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/4477187531/5dcf2fdc21dfc0fc03e22b952f79b8de/image.png" />
         <pubDate>2025-10-01 00:59:10 UTC</pubDate>
         <guid>https://padlet.com/mksung89/cameraMatrix/wish/3612341497</guid>
      </item>
      <item>
         <title>5645870_권오준</title>
         <author></author>
         <link>https://padlet.com/mksung89/cameraMatrix/wish/3612342543</link>
         <description><![CDATA[<p>#define GLM_ENABLE_EXPERIMENTAL</p><p>#include &lt;iostream&gt;</p><p>#include &lt;glm/glm.hpp&gt;</p><p>#include &lt;glm/gtx/string_cast.hpp&gt;</p><p>#include &lt;glm/mat4x4.hpp&gt;</p><p>#include &lt;glm/mat2x2.hpp&gt;</p><p>#include &lt;glm/mat3x2.hpp&gt;</p><p>#include &lt;glm/gtx/transform.hpp&gt;</p><p>#include &lt;glm/gtx/matrix_transform_2d.hpp&gt;</p><p>glm::mat4 lookAt(glm::vec3 campos, glm::vec3 look, glm::vec3 up)</p><p>{</p><p>	glm::vec3 zAxis = glm::normalize(campos - look);</p><p>	glm::vec3 xAxis = glm::normalize(glm::cross(up, zAxis));</p><p>	glm::vec3 yAxis = glm::normalize(glm::cross(zAxis, xAxis));</p><p>	glm::mat4 trans = glm::translate(glm::mat4(1), -campos);</p><p>	glm::mat4 rot</p><p>	{</p><p>		glm::vec4(xAxis.x, yAxis.x, zAxis.x, 0),</p><p>		glm::vec4(xAxis.y, yAxis.y, zAxis.y, 0),</p><p>		glm::vec4(xAxis.z, yAxis.z, zAxis.z, 0),</p><p>		glm::vec4(0, 0, 0, 1)</p><p>	};</p><p>	return rot * trans;</p><p>}</p><p>int main()</p><p>{</p><p>	glm::vec3 campos(5, 5, 5);</p><p>	glm::vec3 look(0, 0, 0);</p><p>	glm::vec3 up(0, 1, 0);</p><p>	glm::mat4 viewMat = lookAt(campos, look, up);</p><p>	std::cout &lt;&lt; glm::to_string(viewMat) &lt;&lt; std::endl;</p><p>	return 0;</p><p>}</p>]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/4477117981/d650681e63ba3ecbd00d5daa2f3d98a7/image.png" />
         <pubDate>2025-10-01 00:59:47 UTC</pubDate>
         <guid>https://padlet.com/mksung89/cameraMatrix/wish/3612342543</guid>
      </item>
      <item>
         <title>5763973_김영인</title>
         <author></author>
         <link>https://padlet.com/mksung89/cameraMatrix/wish/3612359530</link>
         <description><![CDATA[<p>#define GLM_ENABLE_EXPERIMENTAL</p><p>#define GLM_SWIZZLE</p><p>#include &lt;iostream&gt;</p><p>#include &lt;glm/glm.hpp&gt;</p><p>#include &lt;glm/gtx/string_cast.hpp&gt;</p><p>#include &lt;glm/gtx/dual_quaternion.hpp&gt;</p><p>#include &lt;glm/gtc/constants.hpp&gt;</p><p>#include &lt;glm/mat4x4.hpp&gt;</p><p>#include &lt;glm/gtx/matrix_transform_2d.hpp&gt;</p><p>#include&lt;glm/mat3x3.hpp&gt;</p><p>glm::mat4 lookAt(glm::vec3 campos, glm::vec3 look, glm::vec3 up)</p><p>{</p><p>	glm::vec3 z = glm::normalize(campos - look);</p><p>	glm::vec3 x = normalize(glm::cross(up, z));</p><p>	glm::vec3 y = glm::normalize(glm::cross(z, x));</p><p>	glm::mat4 rat = { {x.x, y.x, z.x, 0}, {x.y, y.y, z.y, 0}, {x.z, y.z, z.z, 0}, {0,0,0,1} };</p><p>	glm::mat4 tr = glm::translate(glm::mat4(1), -campos);</p><p>	return rat * tr;</p><p>}</p><p>int main()</p><p>{</p><p>	glm::vec3 camPos = { 5.0f,5.0f,5.0f };</p><p>	glm::vec3 Look = { 0.0f,0.0f,0.0f };</p><p>	glm::vec3 Up = { 0.0f,1.0f,0.0f };</p><p>	glm::mat4 looka = lookAt(camPos, Look, Up);</p><p>	</p><p>	std::cout &lt;&lt; to_string(looka);</p><p>	return 0;</p><p>}</p>]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/4477155386/9aef910d0052b9fd5908146e9f5b6b56/KakaoTalk_20251001_100344020.png" />
         <pubDate>2025-10-01 01:09:28 UTC</pubDate>
         <guid>https://padlet.com/mksung89/cameraMatrix/wish/3612359530</guid>
      </item>
      <item>
         <title>5764232_최영환</title>
         <author></author>
         <link>https://padlet.com/mksung89/cameraMatrix/wish/3612369027</link>
         <description><![CDATA[<p>#include &lt;iostream&gt;</p><p>#define GLM_ENABLE_EXPERIMENTAL</p><p>#include &lt;glm/glm.hpp&gt;</p><p>#include &lt;glm/gtx/string_cast.hpp&gt;</p><p>#include &lt;glm/gtx/matrix_transform_2d.hpp&gt; // 2D 변환 함수 포함</p><p>#include &lt;glm/mat3x2.hpp&gt;          // 개념적으로는 2x3 (pdf 참조)</p><p>int main()</p><p>{</p><p>	glm::vec3 comPos(5, 5, 5);</p><p>	glm::vec3 Look(0, 0, 0);</p><p>	glm::vec3 Up(0, 1, 0);</p><p>	glm::mat4 result = lookAt(comPos, Look, Up);</p><p>	std::cout &lt;&lt; glm::to_string(result) &lt;&lt; std::endl;</p><p>	return 0;</p><p>}</p><p>glm::mat4 lookAt(glm::vec3 campos, glm::vec3 Look, glm::vec3 Up)</p><p>{</p><p>	glm::vec3 z = glm::normalize(campos - Look);             </p><p>	glm::vec3 x = glm::normalize(glm::cross(Up, z));         </p><p>	glm::vec3 y = glm::cross(z, x); </p><p>	glm::mat4 view = glm::mat4(1.0f);</p><p>	view[0][0] = x.x; view[0][1] = x.y; view[0][2] = x.z;</p><p>	view[1][0] = y.x; view[1][1] = y.y; view[1][2] = y.z;</p><p>	view[2][0] = z.x; view[2][1] = z.y; view[2][2] = z.z;</p><p>	glm::mat4 trans = glm::mat4(1.0f);</p><p>	trans[3][0] = Look.x - campos.x; trans[3][1] = Look.y - campos.y; trans[3][2] = Look.z - campos.z;</p><p>	glm::mat4 result = view * trans;</p><p>	return result;</p><p>}</p>]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/4477077472/e4791b6678a01f4a521b10a8e324c0cb/_____2025_10_01_101344.png" />
         <pubDate>2025-10-01 01:14:22 UTC</pubDate>
         <guid>https://padlet.com/mksung89/cameraMatrix/wish/3612369027</guid>
      </item>
      <item>
         <title>5764107_오제휴</title>
         <author>ohjh6190</author>
         <link>https://padlet.com/mksung89/cameraMatrix/wish/3612371686</link>
         <description><![CDATA[<p><br/></p><p>#define GLM_ENABLE_EXPERIMENTAL </p><p>#include &lt;iostream&gt;	</p><p>#include &lt;glm/glm.hpp&gt;</p><p>#include &lt;glm/gtx/string_cast.hpp&gt;</p><p>#include &lt;glm/gtx/matrix_transform_2d.hpp&gt;</p><p>glm::mat4 lookAt(glm::vec3 campos, glm::vec3 look, glm::vec3 up) {</p><p>	glm::vec3 zaxis = glm::normalize(campos - look);</p><p>	glm::vec3 xaxis = glm::normalize(glm::cross(up, zaxis));</p><p>	glm::vec3 yaxis = glm::normalize(glm::cross(zaxis, xaxis));</p><p>	glm::vec4 c1 = { xaxis.x, yaxis.x, zaxis.x, 0.0f };</p><p>	glm::vec4 c2 = { xaxis.y, yaxis.y, zaxis.y, 0.0f };</p><p>	glm::vec4 c3 = { xaxis.z, yaxis.z, zaxis.z, 0.0f };</p><p>	glm::vec4 c4 = { 0.0f, 0.0f, 0.0f, 1.0f };</p><p>	glm::mat4 trans(1.0f);</p><p>	glm::mat4 m = {c1, c2, c3, c4};</p><p>	glm::mat4 res = m * translate(trans, -campos);</p><p>	return res;</p><p>}</p><p>int main()</p><p>{</p><p>	glm::vec3 campos(5.0f, 5.0f, 5.0f);</p><p>	glm::vec3 look(0.0f, 0.0f, 0.0f);</p><p>	glm::vec3 up(0.0f, 1.0f, 0.0f);</p><p>	std::cout &lt;&lt; glm::to_string(lookAt(campos, look, up)) &lt;&lt; std::endl;</p><p>	return 0;</p><p>}</p>]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/4329707195/d9da5f1330b1d273ba0d6180da46852a/image.png" />
         <pubDate>2025-10-01 01:15:41 UTC</pubDate>
         <guid>https://padlet.com/mksung89/cameraMatrix/wish/3612371686</guid>
      </item>
      <item>
         <title>5763865_권기환</title>
         <author>rnjs498913</author>
         <link>https://padlet.com/mksung89/cameraMatrix/wish/3612372074</link>
         <description><![CDATA[<p>#define GLM_ENABLE_EXPERIMENTAL</p><p>#define GLM_SWIZZLE</p><p>#include &lt;iostream&gt;</p><p>#include &lt;glm/glm.hpp&gt;</p><p>#include &lt;glm/gtx/transform.hpp&gt;</p><p>#include &lt;glm/gtx/matrix_transform_2d.hpp&gt;</p><p>#include &lt;glm/gtx/string_cast.hpp&gt;</p><p>int main()</p><p>{</p><p>	glm::vec3 camPos = { 5,5,5 };</p><p>	glm::vec3 look = { 0,0,0 };</p><p>	glm::vec3 up = { 0,1,0 };</p><p>	glm::mat4 m = lookAt( camPos, look, up );</p><p>	std::cout &lt;&lt; to_string(m) &lt;&lt; std::endl;</p><p>	return 0;</p><p>}</p><p>glm::mat4 lookAt(glm::vec3 campos, glm::vec3 look, glm::vec3 up) {</p><p>	glm::vec3 z = glm::normalize(campos - look);</p><p>	glm::vec3 x = glm::normalize(glm::cross(up, z));</p><p>	glm::vec3 y = glm::normalize(glm::cross(z, x));</p><p>	glm::mat4 t = glm::translate(glm::mat4(1), -campos);</p><p>	glm::mat4 r({ x.x,y.x,z.x,0 }, { x.y,y.y,z.y,0 }, { x.z,y.z,z.z,0 }, { 0,0,0,1 });</p><p>	return t * r;</p><p>}</p>]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/4329868293/1d05e5d8e1468854d0795ee7c53a5dcb/_____2025_10_01_101423.png" />
         <pubDate>2025-10-01 01:15:52 UTC</pubDate>
         <guid>https://padlet.com/mksung89/cameraMatrix/wish/3612372074</guid>
      </item>
      <item>
         <title>제가 실수 한 부분 - 성만규</title>
         <author>mksung89</author>
         <link>https://padlet.com/mksung89/cameraMatrix/wish/3612400326</link>
         <description><![CDATA[<p>새로운 z축 구하는 부분하고 translaion하는 부분하고 제가 헷갈렸네요. 월드 좌표계 원점(0,0,0) 에서 새로운 카메라 위치(ex, ey, ez) 이기 때문에  translation을 위한 offset는 (-ex,-ey-ez)가 맞습니다.</p><p><br></p><p>그러므로  glm::translate(glm::mat4(1.0), glm::vec3(-ex,-ey,-ez))</p>]]></description>
         <enclosure url="" />
         <pubDate>2025-10-01 01:28:47 UTC</pubDate>
         <guid>https://padlet.com/mksung89/cameraMatrix/wish/3612400326</guid>
      </item>
      <item>
         <title>5646139_설문관</title>
         <author>hyoseong01</author>
         <link>https://padlet.com/mksung89/cameraMatrix/wish/3612449580</link>
         <description><![CDATA[<p>#define GLM_ENABLE_EXPERIMENTAL </p><p>#define GLM_SWIZZLE</p><p>#include &lt;iostream&gt;</p><p>#include &lt;glm/glm.hpp&gt;</p><p>#include &lt;glm/gtx/string_cast.hpp&gt;</p><p>#include &lt;glm/gtc/constants.hpp&gt;</p><p>#include &lt;glm/matrix.hpp&gt;</p><p>#include &lt;glm/gtx/transform.hpp&gt;</p><p>const double DEGREES_TO_RADIANS = glm::pi&lt;float&gt;() / 180.0f; //glm::radians()</p><p>const double RADIANS_TO_DEGREES = 180.0 / glm::pi&lt;float&gt;(); //glm::degrees()</p><p>int main()</p><p>{</p><p>	glm::vec3 camPos(5.0f, 5.0f, 5.0f);</p><p>	glm::vec3 look(0.0f, 0.0f, 0.0f);</p><p>	glm::vec3 up(0.0f, 1.0f, 0.0f);</p><p>	std::cout &lt;&lt; glm::to_string(lookAt(camPos, look, up)) &lt;&lt; std::endl;</p><p>	return 0;</p><p>}</p><p>glm::mat4 lookAt(glm::vec3 camPos, glm::vec3 look, glm::vec3 up) {</p><p>	glm::vec3 z = glm::normalize(camPos - look);</p><p>	glm::vec3 x = glm::normalize(up * z);</p><p>	glm::vec3 y = glm::normalize(z * x);</p><p>	glm::mat4 trans = glm::translate(glm::mat4(1.0f), -camPos);</p><p>	glm::mat4 rotate = { {x.x,y.x,z.x,0.0f},{x.y,y.y,z.y,0.0f},{x.z,y.z,z.z,0.0f},{0.0f,0.0f,0.0f,1.0f} };</p><p>	return rotate * trans;</p><p>}</p>]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/4330622755/6f346739b67ce27d1ecb18a4fcf004d3/_____2025_10_01_100311.png" />
         <pubDate>2025-10-01 01:54:00 UTC</pubDate>
         <guid>https://padlet.com/mksung89/cameraMatrix/wish/3612449580</guid>
      </item>
      <item>
         <title>5881327_박인엽</title>
         <author>inyup1014</author>
         <link>https://padlet.com/mksung89/cameraMatrix/wish/3612453391</link>
         <description><![CDATA[<p>#define GLM_ENABLE_EXPERIMENTAL</p><p>#define GLM_SWIZZLE</p><p>#include &lt;iostream&gt;</p><p>#include &lt;glm/glm.hpp&gt;</p><p>#include &lt;glm/gtx/string_cast.hpp&gt;</p><p>#include &lt;glm/gtc/constants.hpp&gt;</p><p>#include &lt;glm/mat4x4.hpp&gt;</p><p>#include &lt;glm/mat2x2.hpp&gt;</p><p>#include &lt;glm/mat3x2.hpp&gt;</p><p>#include &lt;glm/gtx/transform.hpp&gt;</p><p>#include &lt;glm/gtx/matrix_transform_2d.hpp&gt;</p><p><br/></p><p>int main()</p><p>{</p><p>	glm::vec3 campos(5, 5, 5);</p><p>	glm::vec3 look(0, 0, 0);</p><p>	glm::vec3 up(0, 1, 0);</p><p>	std::cout &lt;&lt; glm::to_string(lookAt(campos, look, up)) &lt;&lt; std::endl;</p><p>	return 0;</p><p>}</p><p>glm::mat4 lookAt(glm::vec3 campos, glm::vec3 look, glm::vec3 up)</p><p>{</p><p>	glm::vec3 z = glm::normalize(campos - look);</p><p>	glm::vec3 x = glm::normalize(glm::cross(up, z));</p><p>	glm::vec3 y = glm::normalize(glm::cross(z, x));</p><p>	glm::mat4 Trans = glm::translate(glm::mat4(1), -campos);</p><p>	glm::mat4 rot({ x.x,y.x,z.x,0 }, { x.y,y.y,z.y,0 }, { x.z,y.z,z.z,0 }, { 0,0,0,1 });</p><p>	return rot * Trans;</p><p>}</p>]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/4329862238/9da1d69b2c6059dbec9e9f7990a05332/_____51_.png" />
         <pubDate>2025-10-01 01:56:03 UTC</pubDate>
         <guid>https://padlet.com/mksung89/cameraMatrix/wish/3612453391</guid>
      </item>
      <item>
         <title>5881375_서민기</title>
         <author></author>
         <link>https://padlet.com/mksung89/cameraMatrix/wish/3612505586</link>
         <description><![CDATA[<p><br/></p><p><br/></p>]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/4477082309/ea2ddb83d1bcde789fa9f6f4485721ac/image.png" />
         <pubDate>2025-10-01 02:20:59 UTC</pubDate>
         <guid>https://padlet.com/mksung89/cameraMatrix/wish/3612505586</guid>
      </item>
      <item>
         <title>5881344_박지현</title>
         <author></author>
         <link>https://padlet.com/mksung89/cameraMatrix/wish/3612531469</link>
         <description><![CDATA[<pre><code class="language-cpp">//Computer_Graphcis(5)
//park_jihyeon(Nyancode1)
#define GLM_ENABLE_EXPERIMENTAL
#define GLM_SWIZZLE
#include &lt;iostream&gt;
#include &lt;glm/glm.hpp&gt;
#include &lt;glm/gtx/string_cast.hpp&gt;
#include &lt;glm/gtx/transform.hpp&gt;
#include &lt;glm/gtx/matrix_transform_2d.hpp&gt;

//using namespace glm;

glm::mat4 lookat(glm::vec3 campos, glm::vec3 look, glm::vec3 upvec) { 
    glm::vec3 R_cam_z = glm::normalize(campos - look); 
    glm::vec3 R_cam_x = glm::normalize(glm::cross(upvec, R_cam_z)); 
    glm::vec3 R_cam_y = glm::normalize(glm::cross(R_cam_z, R_cam_x)); 
    glm::vec4 col1 = { R_cam_x.x, R_cam_y.x, R_cam_z.x, 0.f }; 
    glm::vec4 col2 = { R_cam_x.y, R_cam_y.y, R_cam_z.y, 0.f }; 
    glm::vec4 col3 = { R_cam_x.z, R_cam_y.z, R_cam_z.z, 0.f }; 
    glm::vec4 col4 = { 0.0f, 0.0f, 0.0f, 1.0f }; 
    glm::mat4 trans(1.0f); glm::mat4 m = {col1, col2, col3, col4}; 
    glm::mat4 result = m * translate(trans, -campos); 
    return result; 
}

int main() { 
    glm::vec3 campos(5.f, 5.f, 5.f); 
    glm::vec3 look(0.f, 0.f, 0.f); 
    glm::vec3 up(0.f, 1.f, 0.f);
    glm::mat4 result = lookat(campos, look, up);
    std::cout &lt;&lt; glm::to_string(result) &lt;&lt; std::endl; 
    return 0; 
}</code></pre>]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/4477401231/09c77020a85b5588dab1023809b2c0d5/image.png" />
         <pubDate>2025-10-01 02:34:59 UTC</pubDate>
         <guid>https://padlet.com/mksung89/cameraMatrix/wish/3612531469</guid>
      </item>
      <item>
         <title>5820658_전형진</title>
         <author></author>
         <link>https://padlet.com/mksung89/cameraMatrix/wish/3612570357</link>
         <description><![CDATA[<p>// main.cpp</p><p>// 5820658 전형진, 2025-10-01</p><p><br></p><p>#define GLM_ENABLE_EXPERIMENTAL</p><p><br></p><p>#include &lt;iostream&gt;</p><p>#include &lt;glm/glm.hpp&gt;</p><p>#include &lt;glm/gtx/matrix_transform_2d.hpp&gt;</p><p>#include &lt;glm/gtx/string_cast.hpp&gt;</p><p><br><br></p><p>glm::vec3 camPos, Look, Up;</p><p><br><br></p><p>// return the view-matrix of camera</p><p>static glm::mat4x4 lookAt(glm::vec3 cameraPos, glm::vec3 targetPos, glm::vec3 upVec) {</p><p>&nbsp; &nbsp; // calculate the normal-vector of camera (z-axis of camera)</p><p>&nbsp; &nbsp; glm::vec3 camZ = glm::normalize(targetPos -cameraPos);</p><p><br></p><p>&nbsp; &nbsp; // calculate the normal-vector of the x-axis of camera</p><p>&nbsp; &nbsp; glm::vec3 camX = glm::normalize(glm::cross(glm::normalize(upVec), camZ));</p><p><br></p><p>&nbsp; &nbsp; glm::vec3 camY = glm::normalize(glm::cross(camZ, camX)); // get y-axis of camera</p><p><br></p><p>&nbsp; &nbsp; // get translation-matrix of camera, from origin to camera-point</p><p>&nbsp; &nbsp; glm::mat4x4 camTrsMat = glm::translate(glm::mat4x4(1), -cameraPos);</p><p><br></p><p>&nbsp; &nbsp; // get rotation-matrix of camera</p><p>&nbsp; &nbsp; glm::mat4x4 camRotMat = {</p><p>&nbsp; &nbsp; &nbsp; &nbsp; { camX.x, camY.x, camZ.x, 0 },</p><p>&nbsp; &nbsp; &nbsp; &nbsp; { camX.y, camY.y, camZ.y, 0 },</p><p>&nbsp; &nbsp; &nbsp; &nbsp; { camX.z, camY.z, camZ.z, 0 },</p><p>&nbsp; &nbsp; &nbsp; &nbsp; {0,0,0,1}</p><p>&nbsp; &nbsp; };</p><p><br></p><p>&nbsp; &nbsp; return (camRotMat *camTrsMat); // return the view-matrix of camera</p><p>}</p><p><br><br></p><p>// program entry point</p><p>int main()</p><p>{</p><p>&nbsp; &nbsp; // Q1, matrix transform</p><p>&nbsp; &nbsp; camPos = glm::vec3(5,5,5);</p><p>&nbsp; &nbsp; Look = glm::vec3(0,0,0);</p><p>&nbsp; &nbsp; Up = glm::vec3(0,1,0);</p><p><br></p><p>&nbsp; &nbsp; std::cout &lt;&lt; "\nView-Matrix of Camera : " &lt;&lt; glm::to_string(lookAt(camPos, Look, Up));</p><p><br></p><p>&nbsp; &nbsp; // END OF PROGRAM</p><p>&nbsp; &nbsp; std::cout &lt;&lt; "\n5820658 전형진 과제 끝." &lt;&lt; std::endl;</p><p>&nbsp; &nbsp; return 0; // end program</p><p>}</p>]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/4477412623/898b713f212aac2541f885263d31006c/image.png" />
         <pubDate>2025-10-01 02:55:24 UTC</pubDate>
         <guid>https://padlet.com/mksung89/cameraMatrix/wish/3612570357</guid>
      </item>
      <item>
         <title>5764201_차승재</title>
         <author></author>
         <link>https://padlet.com/mksung89/cameraMatrix/wish/3612653950</link>
         <description><![CDATA[<p>#define GLM_ENABLE_EXPERIMENTAL </p><p>#include &lt;iostream&gt;</p><p>#include &lt;glm/glm.hpp&gt;</p><p>#include &lt;glm/gtx/string_cast.hpp&gt;</p><p>#include &lt;glm/gtc/matrix_transform.hpp&gt;</p><p>#include &lt;glm/gtc/type_ptr.hpp&gt;</p><p>using namespace std;</p><p>glm::mat4 myLookAt(glm::vec3 campos, glm::vec3 look, glm::vec3 up) {</p><p>    glm::vec3 zaxis = glm::normalize(campos - look);</p><p>    glm::vec3 xaxis = glm::normalize(glm::cross(up, zaxis));</p><p>    glm::vec3 yaxis = glm::cross(zaxis, xaxis);</p><p>    glm::mat4 view(1.0f);</p><p>    view[0][0] = xaxis.x; view[1][0] = xaxis.y; view[2][0] = xaxis.z; view[3][0] = -glm::dot(xaxis, campos);</p><p>    view[0][1] = yaxis.x; view[1][1] = yaxis.y; view[2][1] = yaxis.z; view[3][1] = -glm::dot(yaxis, campos);</p><p>    view[0][2] = zaxis.x; view[1][2] = zaxis.y; view[2][2] = zaxis.z; view[3][2] = -glm::dot(zaxis, campos);</p><p>    view[0][3] = 0.0f;    view[1][3] = 0.0f;    view[2][3] = 0.0f;    view[3][3] = 1.0f;</p><p>    return view;</p><p>}</p><p>void printMatrix(const glm::mat4&amp; mat) {</p><p>    for (int i = 0; i &lt; 4; i++) {</p><p>        for (int j = 0; j &lt; 4; j++) {</p><p>            cout &lt;&lt; mat[i][j] &lt;&lt; " ";</p><p>        }</p><p>    }</p><p>}</p><p>int main() {</p><p>    glm::vec3 camPos(5.0f, 5.0f, 5.0f);</p><p>    glm::vec3 look(0.0f, 0.0f, 0.0f);</p><p>    glm::vec3 up(0.0f, 1.0f, 0.0f);</p><p>    glm::mat4 view = myLookAt(camPos, look, up);</p><p>    cout &lt;&lt; "mat4x4";</p><p>    for (int i = 0; i &lt; 4; i++) {</p><p>		cout &lt;&lt; "(";</p><p>        for (int j = 0; j &lt; 4; j++) {</p><p>            cout &lt;&lt; view[i][j] &lt;&lt; ", ";</p><p>        }</p><p>		cout &lt;&lt; ")";</p><p>    }</p><p>    return 0;</p><p>}</p><p><br/></p>]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/4478061535/2f6b56fbf4bb004a2eb3941d64168d90/image.png" />
         <pubDate>2025-10-01 03:46:05 UTC</pubDate>
         <guid>https://padlet.com/mksung89/cameraMatrix/wish/3612653950</guid>
      </item>
      <item>
         <title>5763848 강승우</title>
         <author>seungu286</author>
         <link>https://padlet.com/mksung89/cameraMatrix/wish/3612700811</link>
         <description><![CDATA[<p>#define GLM_ENABLE_EXPERIMENTAL</p><p>#define GLM_SWIZZLE </p><p>#include&lt;iostream&gt;</p><p>#include&lt;glm/glm.hpp&gt;</p><p>#include&lt;glm/gtx/string_cast.hpp&gt;</p><p>#include&lt;glm/gtx/matrix_transform_2d.hpp&gt;</p><p>glm::mat4 lookAt(glm::vec3 campos, glm::vec3 look, glm::vec3 up);</p><p>int main() {</p><p>    glm::vec3 campos = { 5.0f,5.0f,5.0f };</p><p>    glm::vec3 look = { 0.0f,0.0f,0.0f };</p><p>    glm::vec3 up = { 0.0f,1.0f,0.0f };</p><p>    glm::mat4 lookatm = lookAt(campos, look, up);</p><p>    std::cout &lt;&lt; glm::to_string(lookatm) &lt;&lt; std::endl;</p><p>    return 0;</p><p>}</p><p>glm::mat4 lookAt(glm::vec3 campos, glm::vec3 look, glm::vec3 up) {</p><p>    glm::vec3 z = glm::normalize(campos - look);</p><p>    glm::vec3 x = glm::normalize(glm::cross(up, z));</p><p>    glm::vec3 y = glm::normalize(glm::cross(z, x));</p><p>    glm::mat4 t(1.0);</p><p>    glm::vec3 offset = glm::vec3(-campos.x, -campos.y, -campos.z);</p><p>    glm::mat4 trans = glm::translate(t, offset);</p><p>    glm::mat4 rota = { glm::vec4(x.x, y.x, z.x, 0.0f),</p><p>    glm::vec4(x.y, y.y, z.y, 0.0f),</p><p>    glm::vec4(x.z, y.z, z.z, 0.0f), </p><p>    glm::vec4(0.0f, 0.0f, 0.0f, 1.0f)};</p><p>    return rota * trans;</p><p>}</p><p><br/></p>]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/3593318817/f7dcb582ee80d529ce0626c5d9d28a9c/image.png" />
         <pubDate>2025-10-01 04:19:06 UTC</pubDate>
         <guid>https://padlet.com/mksung89/cameraMatrix/wish/3612700811</guid>
      </item>
      <item>
         <title>5764081_송승민</title>
         <author></author>
         <link>https://padlet.com/mksung89/cameraMatrix/wish/3612766241</link>
         <description><![CDATA[<p>#define GLM_ENABLE_EXPERIMENTAL</p><p>#define GLM_SWIZZLE</p><p>#include &lt;iostream&gt;</p><p>#include &lt;glm/glm.hpp&gt;</p><p>#include &lt;glm/gtx/string_cast.hpp&gt;</p><p>#include &lt;glm/mat4x4.hpp&gt;</p><p>#include &lt;glm/mat2x2.hpp&gt;</p><p>#include &lt;glm/mat3x2.hpp&gt;  </p><p>#include &lt;glm/gtx/transform.hpp&gt;</p><p>#include &lt;glm/gtx/matrix_transform_2d.hpp&gt;</p><p><br/></p><p>int main()</p><p>{</p><p>	glm::vec3 campos(5, 5, 5);</p><p>	glm::vec3 look(0, 0, 0);</p><p>	glm::vec3 up(0, 1, 0);</p><p>	std::cout &lt;&lt; to_string(lookAt(campos, look, up)) &lt;&lt; std::endl;</p><p>	return 0;</p><p>}</p><p>glm::mat4 lookAt(glm::vec3 campos, glm::vec3 look, glm::vec3 up)</p><p>{</p><p>	glm::vec3 z = glm::normalize(campos - look);</p><p>	glm::vec3 x = glm::normalize(glm::cross(up, z));</p><p>	glm::vec3 y = glm::normalize(glm::cross(z , x));</p><p>	glm::mat4 T = glm::translate(glm::mat4 (1),-campos);</p><p>	glm::mat4 R {glm::vec4(x.x, y.x, z.x, 0), glm::vec4(x.y, y.y, z.y, 0), glm::vec4(x.z, y.z, z.z, 0), glm::vec4(0, 0, 0, 1)};</p><p>	return R * T;</p><p>}</p><p><br/></p><p><br/></p><p><br/></p>]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/4478338843/e1293e4ecac208cca230d712a789d358/image.png" />
         <pubDate>2025-10-01 05:10:25 UTC</pubDate>
         <guid>https://padlet.com/mksung89/cameraMatrix/wish/3612766241</guid>
      </item>
      <item>
         <title>5764186_정현욱</title>
         <author></author>
         <link>https://padlet.com/mksung89/cameraMatrix/wish/3612899766</link>
         <description><![CDATA[<p>#define GLM_ENABLE_EXPERIMENTAL</p><p>#define GLM_SWIZZLE</p><p>#include &lt;iostream&gt;</p><p>#include &lt;glm/glm.hpp&gt;</p><p>#include &lt;glm/gtx/string_cast.hpp&gt;</p><p>#include &lt;glm/gtc/constants.hpp&gt;</p><p>#include &lt;glm/mat4x4.hpp&gt;</p><p>#include &lt;glm/mat2x2.hpp&gt;</p><p>#include &lt;glm/mat3x2.hpp&gt;</p><p>#include &lt;glm/gtx/transform.hpp&gt;</p><p>#include &lt;glm/gtx/matrix_transform_2d.hpp&gt;</p><p>const double DEGREES_TO_RADIANS = glm::pi&lt;float&gt;() / 180.0;</p><p>const double RADIANS_TO_DEGREES = 180.0 / glm::pi&lt;float&gt;();</p><p>glm::mat4 lookAt(glm::vec3 campos, glm::vec3 look, glm::vec3 up);</p><p>int main() {</p><p>	glm::vec3 camPos = { 5.0f, 5.0f, 5.0f };</p><p>	glm::vec3 look = { 0.0f, 0.0f, 0.0f };</p><p>	glm::vec3 up = { 0.0f, 1.0f, 0.0f };</p><p>	glm::mat4 lookat = lookAt(camPos, look, up);</p><p>	std::cout &lt;&lt; glm::to_string(lookat) &lt;&lt; std::endl;</p><p>	return 0;</p><p>}</p><p>glm::mat4 lookAt(glm::vec3 campos, glm::vec3 look, glm::vec3 up) {</p><p>	glm::vec3 z = glm::normalize(campos - look);</p><p>	glm::vec3 x = glm::normalize(glm::cross(up, z));</p><p>	glm::vec3 y = glm::cross(z, x);</p><p>	glm::mat4 t(1.0);</p><p>	glm::mat4 trans = glm::translate(t, -campos);</p><p>	glm::mat4 rot = {</p><p>		glm::vec4(x.x, y.x, z.x, 0.0f),</p><p>		glm::vec4(x.y, y.y, z.y, 0.0f),</p><p>		glm::vec4(x.z, y.z, z.z, 0.0f),</p><p>		glm::vec4(0.0f, 0.0f, 0.0f, 1.0f)</p><p>	};</p><p>	return rot * trans;</p><p>}</p>]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/4478845427/10c4b761c9a29f5907ebec5dc5f9c705/image.png" />
         <pubDate>2025-10-01 06:50:17 UTC</pubDate>
         <guid>https://padlet.com/mksung89/cameraMatrix/wish/3612899766</guid>
      </item>
      <item>
         <title>5907100_이명종</title>
         <author></author>
         <link>https://padlet.com/mksung89/cameraMatrix/wish/3613048317</link>
         <description><![CDATA[<p>#define GLM_ENABLE_EXPERIMENTAL </p><p>#include &lt;iostream&gt;</p><p>#include &lt;glm/glm.hpp&gt;</p><p>#include &lt;glm/gtx/string_cast.hpp&gt;</p><p>#include &lt;glm/gtc/constants.hpp&gt;</p><p>#include &lt;glm/mat4x4.hpp&gt;</p><p>#include &lt;glm/mat2x2.hpp&gt;</p><p>#include &lt;glm/mat2x3.hpp&gt; //개념적으론 2x3임</p><p>#include &lt;glm/gtx/transform.hpp&gt;</p><p>#include &lt;glm/gtx/matrix_transform_2d.hpp&gt;</p><p><br/></p><p>//glm::cross = 외적, glm::dot = 내적</p><p><br/></p><p>glm::mat4 lookAt(glm::vec3 camPos, glm::vec3 look, glm::vec3 up)</p><p>{</p><p>	glm::vec3 z = glm::normalize(camPos - look);</p><p>	glm::vec3 x = glm::normalize(glm::cross(up,z)); //외적</p><p>	glm::vec3 y = glm::normalize(glm::cross(z,x)); //외적</p><p>	glm::mat4 c = glm::translate(glm::mat4(1), -camPos);</p><p>	//원점으로 이동</p><p><br/></p><p>	//3개의 새로운 축 구함	</p><p>	glm::mat4 rotate = {</p><p>	glm::vec4(x.x, y.x, z.x, 0.0f),</p><p>	glm::vec4(x.y, y.y, z.y, 0.0f),</p><p>	glm::vec4(x.z, y.z, z.z, 0.0f),</p><p>	glm::vec4(0.0f, 0.0f, 0.0f, 1.0f),</p><p>	};</p><p>	//회전행렬</p><p>	//glm::vec4 c4(glm::dot(x, -camPos), glm::dot(y, -camPos), glm::dot(z, -camPos),1.0f); //내적</p><p>	//trans  = -ex,-ey,-ez,1.0f</p><p>	//같은 오브젝트 상의 한 점의 좌표값은 새로운 좌표축과의 내적을 이용해서 구함</p><p>	//카메라는 항상 -z방향을 본다고 가정</p><p><br/></p><p><br/></p><p>	return rotate *c;</p><p>}</p><p>int main()</p><p>{</p><p>		glm::vec3 camPos(5, 5, 5);</p><p>		glm::vec3 look(0, 0, 0);</p><p>		glm::vec3 up(0, 1, 0);</p><p>		glm::mat4 view = lookAt(camPos, look, up);</p><p><br/></p><p>		std::cout &lt;&lt; glm::to_string(view) &lt;&lt; std::endl;</p><p>	</p><p>	return 0;</p><p>}</p>]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/4477067700/77c9394642ee7baf8fbb06df89f33349/image.png" />
         <pubDate>2025-10-01 08:37:36 UTC</pubDate>
         <guid>https://padlet.com/mksung89/cameraMatrix/wish/3613048317</guid>
      </item>
      <item>
         <title>5763882_김규태</title>
         <author></author>
         <link>https://padlet.com/mksung89/cameraMatrix/wish/3613225182</link>
         <description><![CDATA[<p>#define GLM_ENABLE_EXPERIMENTAL</p><p>#include&lt;iostream&gt;</p><p>#include &lt;glm/gtx/dual_quaternion.hpp&gt;</p><p>#include&lt;glm/glm.hpp&gt;</p><p>#include &lt;glm/gtx/matrix_transform_2d.hpp&gt;</p><p>#include&lt;glm/gtx/string_cast.hpp&gt;</p><p>#include &lt;glm/gtc/constants.hpp&gt;</p><p>#include&lt;glm/mat4x4.hpp&gt;</p><p>#include&lt;glm/mat2x2.hpp&gt;</p><p>#include&lt;glm/mat3x2.hpp&gt;</p><p>#include&lt;glm/mat3x3.hpp&gt;</p><p>glm::mat4 lookat(glm::vec3 campos, glm::vec3 look, glm::vec3 up);</p><p>int main() {</p><p>	std::cout &lt;&lt; to_string(lookat({ 5, 5, 5 }, { 0, 0, 0 }, { 0, 1, 0 })) &lt;&lt; std::endl;</p><p>	return 0;</p><p>}</p><p>glm::mat4 lookat(glm::vec3 camPos, glm::vec3 Look, glm::vec3 Up) {</p><p>    glm::vec3 z = glm::normalize(camPos - Look);</p><p>    glm::vec3 x = glm::normalize(glm::cross(Up, z));</p><p>    glm::vec3 y = glm::cross(z, x);</p><p>    glm::mat4 t = glm::translate(glm::mat4(1.0f), -camPos);</p><p>    glm::mat4 r({ x.x, y.x, z.x, 0 }, { x.y, y.y, z.y, 0 }, { x.z, y.z, z.z, 0 }, { 0,   0,   0,   1 });</p><p>    return r * t;</p><p>}</p>]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/4480203044/948855e2439a5affe41a7990b4b1fe9b/image.png" />
         <pubDate>2025-10-01 10:56:53 UTC</pubDate>
         <guid>https://padlet.com/mksung89/cameraMatrix/wish/3613225182</guid>
      </item>
      <item>
         <title>5763908_김동선</title>
         <author></author>
         <link>https://padlet.com/mksung89/cameraMatrix/wish/3614354065</link>
         <description><![CDATA[<p>#define GLM_ENABLE_EXPERIMENTAL </p><p>#include &lt;iostream&gt;</p><p>#include &lt;glm/glm.hpp&gt;</p><p>#include &lt;glm/gtx/string_cast.hpp&gt;</p><p>#include &lt;glm/gtx/transform.hpp&gt;</p><p>#include &lt;glm/gtx/matrix_transform_2d.hpp&gt;</p><p>#include &lt;glm/gtx/string_cast.hpp&gt;</p><p>#include &lt;glm/gtc/constants.hpp&gt;</p><p>const double DEGREES_TO_RADIANS = glm::pi&lt;float&gt;() / 180.0f;</p><p>const double RADIANS_TO_DEGREES = 180.0f / glm::pi&lt;float&gt;();</p><p>glm::mat4 lookAt(glm::vec3 campos, glm::vec3 look, glm::vec3 up);</p><p>//glm mat4 반환 </p><p>int main() {</p><p>	</p><p>	glm::vec3 campos = { 5.0f, 5.0f, 5.0f };</p><p>	glm::vec3 look = { 0.0f, 0.0f, 0.0f };</p><p>	glm::vec3 up = { 0.0f,1.0f, 0.0f };</p><p>	std::cout &lt;&lt; glm::to_string(lookAt(campos, look, up)) &lt;&lt; std::endl;;</p><p>	return 0;</p><p>}</p><p>glm::mat4 lookAt(glm::vec3 campos, glm::vec3 look, glm::vec3 up) {</p><p>    glm::vec3 z = glm::normalize(campos - look); //pdf 47</p><p>    glm::vec3 x = glm::normalize(glm::cross(up, z));</p><p>    glm::vec3 y = glm::normalize(glm::cross(z, x));</p><p>    glm::mat4 t(1.0);</p><p>    glm::mat4 trans = glm::translate(t, -campos);</p><p>    glm::mat4 rota = { glm::vec4(x.x, y.x, z.x, 0.0f), glm::vec4(x.y, y.y, z.y, 0.0f), glm::vec4(x.z, y.z, z.z, 0.0f), glm::vec4(0.0f, 0.0f, 0.0f, 1.0f) }; //x, y, z, w</p><p>    return rota * trans;</p><p>}</p>]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/4477067255/fdd194b30dc5e05f4b5de5cdf9a5db12/_____2025_10_01_100808.png" />
         <pubDate>2025-10-02 01:09:49 UTC</pubDate>
         <guid>https://padlet.com/mksung89/cameraMatrix/wish/3614354065</guid>
      </item>
      <item>
         <title>5764020 노도현</title>
         <author></author>
         <link>https://padlet.com/mksung89/cameraMatrix/wish/3617700328</link>
         <description><![CDATA[<p>#define GLM_ENABLE_EXPERIMENTAL</p><p>#include&lt;iostream&gt;</p><p>#include&lt;glm/glm.hpp&gt;</p><p>#include&lt;glm/gtx/string_cast.hpp&gt;</p><p>#include&lt;glm/gtx/matrix_transform_2d.hpp&gt;</p><p>#include&lt;glm/mat4x4.hpp&gt;</p><p>glm::mat4 lookAt(glm::vec3 pos, glm::vec3 look, glm::vec3 up) {</p><p>	glm::vec3 Z = glm::normalize(pos - look);</p><p>	glm::vec3 X = glm::normalize(glm::cross(up, Z));</p><p>	glm::vec3 Y = glm::cross(Z, X);</p><p>	glm::mat4 T = glm::translate(glm::mat4(1.0f), -pos);</p><p>	glm::mat4 R(1.0f);</p><p>	for (int i = 0; i &lt; 3; i++) R[i][0] = X[i];</p><p>	for (int i = 0; i &lt; 3; i++) R[i][1] = Y[i];</p><p>	for (int i = 0; i &lt; 3; i++) R[i][2] = Z[i];</p><p>	R[3] = { glm::vec4(0,0,0,1) };	</p><p>	return R * T;</p><p>}</p><p>int main() {</p><p>	glm::vec3 pos(5, 5, 5);</p><p>	glm::vec3 look(0, 0, 0);</p><p>	glm::vec3 up(0, 1, 0);</p><p>	glm::mat4 view = lookAt(pos, look, up);</p><p>	std::cout &lt;&lt; glm::to_string(view) &lt;&lt; std::endl;</p><p>    return 0;</p><p>}</p>]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/4497816578/b5a02268e653729c8a2199082ba65f83/image.png" />
         <pubDate>2025-10-04 10:10:26 UTC</pubDate>
         <guid>https://padlet.com/mksung89/cameraMatrix/wish/3617700328</guid>
      </item>
      <item>
         <title>5881560 정재현</title>
         <author>ddorangii</author>
         <link>https://padlet.com/mksung89/cameraMatrix/wish/3627369320</link>
         <description><![CDATA[<p>#define GLM_ENABLE_EXPERIMENTAL</p><p>#define GLM_SWIZZLE</p><p>#include &lt;iostream&gt;</p><p>#include &lt;glm/glm.hpp&gt;</p><p>#include &lt;glm/gtx/string_cast.hpp&gt;</p><p>#include &lt;glm/gtx/transform.hpp&gt;</p><p>using namespace glm;</p><p>// lookat 함수 없이 lookat 함수 구현하기</p><p>mat4 makeViewMatrix(const vec3&amp; eye, const vec3&amp; target, const vec3&amp; worldUp)</p><p>{</p><p>    </p><p>    vec3 forward = normalize(eye - target);               </p><p>    vec3 right = normalize(cross(worldUp, forward));    </p><p>    vec3 up = cross(forward, right); </p><p>    </p><p>    mat4 rotation(</p><p>        vec4(right.x, up.x, forward.x, 0.0f),</p><p>        vec4(right.y, up.y, forward.y, 0.0f),</p><p>        vec4(right.z, up.z, forward.z, 0.0f),</p><p>        vec4(0.0f, 0.0f, 0.0f, 1.0f)</p><p>    );</p><p>    </p><p>    mat4 translation = translate(mat4(1.0f), -eye);</p><p>    </p><p>    return rotation * translation;</p><p>}</p><p>int main()</p><p>{</p><p>    vec3 camPos(5.0f, 5.0f, 5.0f);</p><p>    vec3 lookAtPoint(0.0f, 0.0f, 0.0f);</p><p>    vec3 upDir(0.0f, 1.0f, 0.0f);</p><p>    mat4 view = makeViewMatrix(camPos, lookAtPoint, upDir);</p><p>    std::cout &lt;&lt; glm::to_string(view) &lt;&lt; std::endl;</p><p>    return 0;</p><p>}</p><p><br/></p>]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/4369206751/ba6f7424f705ffd636b4e6e9d388c7b3/image.png" />
         <pubDate>2025-10-11 05:17:03 UTC</pubDate>
         <guid>https://padlet.com/mksung89/cameraMatrix/wish/3627369320</guid>
      </item>
      <item>
         <title>5855134-응웬만히에우</title>
         <author>manhhieuptneu</author>
         <link>https://padlet.com/mksung89/cameraMatrix/wish/3629013955</link>
         <description><![CDATA[<p>#define GLM_ENABLE_EXPERIMENTAL </p><p>#include &lt;iostream&gt;</p><p>#include &lt;glm/glm.hpp&gt;</p><p>#include &lt;glm/gtx/string_cast.hpp&gt;</p><p>#include &lt;glm/gtx/transform.hpp&gt;</p><p>#include &lt;glm/gtx/matrix_transform_2d.hpp&gt;</p><p>#include &lt;glm/gtx/string_cast.hpp&gt;</p><p>#include &lt;glm/gtc/constants.hpp&gt;</p><p>const double DEGREES_TO_RADIANS = glm::pi&lt;float&gt;() / 180.0f;</p><p>const double RADIANS_TO_DEGREES = 180.0f / glm::pi&lt;float&gt;();</p><p>glm::mat4 lookAt(glm::vec3 campos, glm::vec3 look, glm::vec3 up);</p><p>int main() {</p><p>    glm::vec3 campos = { 5.0f, 5.0f, 5.0f };</p><p>    glm::vec3 look = { 0.0f, 0.0f, 0.0f };</p><p>    glm::vec3 up = { 0.0f,1.0f, 0.0f };</p><p>    std::cout &lt;&lt; glm::to_string(lookAt(campos, look, up)) &lt;&lt; std::endl;;</p><p>    return 0;</p><p>}</p><p>glm::mat4 lookAt(glm::vec3 campos, glm::vec3 look, glm::vec3 up) {</p><p>    glm::vec3 z = glm::normalize(campos - look);</p><p>    glm::vec3 x = glm::normalize(glm::cross(up, z));</p><p>    glm::vec3 y = glm::normalize(glm::cross(z, x));</p><p>    glm::mat4 t(1.0);</p><p>    glm::mat4 trans = glm::translate(t, -campos);</p><p>    glm::mat4 rota = { glm::vec4(x.x, y.x, z.x, 0.0f), glm::vec4(x.y, y.y, z.y, 0.0f), glm::vec4(x.z, y.z, z.z, 0.0f), glm::vec4(0.0f, 0.0f, 0.0f, 1.0f) };</p><p>    return rota * trans;</p><p>}</p>]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/2729561401/0c99001a7d9c220840a80be21f346775/Capture.PNG" />
         <pubDate>2025-10-13 03:46:52 UTC</pubDate>
         <guid>https://padlet.com/mksung89/cameraMatrix/wish/3629013955</guid>
      </item>
      <item>
         <title>5820553_이보은</title>
         <author></author>
         <link>https://padlet.com/mksung89/cameraMatrix/wish/3629036111</link>
         <description><![CDATA[<p>#define GLM_ENABLE_EXPERIMENTAL </p><p>#include &lt;iostream&gt;</p><p>#include &lt;glm/glm.hpp&gt;</p><p>#include &lt;glm/gtx/string_cast.hpp&gt;</p><p>#include &lt;glm/mat4x4.hpp&gt;</p><p>#include &lt;glm/mat2x2.hpp&gt;</p><p>#include &lt;glm/mat2x3.hpp&gt; </p><p>glm::mat4 lookAt(glm::vec3 camPos, glm::vec3 look, glm::vec3 upVector)</p><p>{</p><p>	glm::vec3 z = glm::normalize(camPos - look);</p><p>	glm::vec3 x = glm::normalize(glm::cross(upVector, z)); </p><p>	glm::vec3 y = glm::normalize(glm::cross(z, x)); </p><p>	glm::mat4 trans = glm::translate(glm::mat4(1), -camPos);</p><p>	glm::mat4 rota = {</p><p>	glm::vec4(x.x, y.x, z.x, 0.0f),</p><p>	glm::vec4(x.y, y.y, z.y, 0.0f),</p><p>	glm::vec4(x.z, y.z, z.z, 0.0f),</p><p>	glm::vec4(0.0f, 0.0f, 0.0f, 1.0f),</p><p>	};</p><p>	</p><p>	return rota * trans;</p><p>}</p><p>int main()</p><p>{</p><p>	glm::vec3 camPos(5, 5, 5);</p><p>	glm::vec3 look(0, 0, 0);</p><p>	glm::vec3 up(0, 1, 0);</p><p>	glm::mat4 view = lookAt(camPos, look, up);</p><p>	std::cout &lt;&lt; glm::to_string(view) &lt;&lt; std::endl;</p><p>	return 0;</p><p>}</p><p><br/></p>]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/4545742648/e19c2a318c1f050f50aa9268ad25ed28/image.png" />
         <pubDate>2025-10-13 04:06:20 UTC</pubDate>
         <guid>https://padlet.com/mksung89/cameraMatrix/wish/3629036111</guid>
      </item>
      <item>
         <title>5881452_오예림</title>
         <author></author>
         <link>https://padlet.com/mksung89/cameraMatrix/wish/3629068792</link>
         <description><![CDATA[<p>#define GLM_ENABLE_EXPERIMENTAL</p><p>#define GLM_SWIZZLE</p><p>#include &lt;iostream&gt;</p><p>#include &lt;glm/glm.hpp&gt;</p><p>#include &lt;glm/gtx/transform.hpp&gt;</p><p>#include &lt;glm/gtx/matrix_transform_2d.hpp&gt;</p><p>#include &lt;glm/gtx/string_cast.hpp&gt;</p><p>int main()</p><p>{</p><p>glm::vec3 camPos = { 5,5,5 };</p><p>glm::vec3 look = { 0,0,0 };</p><p>glm::vec3 up = { 0,1,0 };</p><p>glm::mat4 m = lookAt( camPos, look, up );</p><p>std::cout &lt;&lt; to_string(m) &lt;&lt; std::endl;</p><p>return 0;</p><p>}</p><p>glm::mat4 lookAt(glm::vec3 campos, glm::vec3 look, glm::vec3 up) {</p><p>glm::vec3 z = glm::normalize(campos - look);</p><p>glm::vec3 x = glm::normalize(glm::cross(up, z));</p><p>glm::vec3 y = glm::normalize(glm::cross(z, x));</p><p>glm::mat4 t = glm::translate(glm::mat4(1), -campos);</p><p>glm::mat4 r({ x.x,y.x,z.x,0 }, { x.y,y.y,z.y,0 }, { x.z,y.z,z.z,0 }, { 0,0,0,1 });</p><p>return t * r;</p><p>}</p>]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/4545869758/8732c459ef3eee0f191a2c83dbbaa779/_____2025_10_01_101856.png" />
         <pubDate>2025-10-13 04:35:29 UTC</pubDate>
         <guid>https://padlet.com/mksung89/cameraMatrix/wish/3629068792</guid>
      </item>
      <item>
         <title>5881470_이동우</title>
         <author></author>
         <link>https://padlet.com/mksung89/cameraMatrix/wish/3629079684</link>
         <description><![CDATA[<p>#define GLM_ENABLE_EXPERIMENTAL</p><p>#define GLM_SWIZZLE</p><p>#include &lt;iostream&gt;</p><p>#include &lt;glm/glm.hpp&gt;</p><p>#include &lt;glm/gtx/transform.hpp&gt;</p><p>#include &lt;glm/gtx/matrix_transform_2d.hpp&gt;</p><p>#include &lt;glm/gtx/string_cast.hpp&gt;</p><p>int main()</p><p>{</p><p>glm::vec3 camPos = { 5,5,5 };</p><p>glm::vec3 look = { 0,0,0 };</p><p>glm::vec3 up = { 0,1,0 };</p><p>glm::mat4 m = lookAt( camPos, look, up );</p><p>std::cout &lt;&lt; to_string(m) &lt;&lt; std::endl;</p><p>return 0;</p><p>}</p><p>glm::mat4 lookAt(glm::vec3 campos, glm::vec3 look, glm::vec3 up) {</p><p>glm::vec3 z = glm::normalize(campos - look);</p><p>glm::vec3 x = glm::normalize(glm::cross(up, z));</p><p>glm::vec3 y = glm::normalize(glm::cross(z, x));</p><p>glm::mat4 t = glm::translate(glm::mat4(1), -campos);</p><p>glm::mat4 r({ x.x,y.x,z.x,0 }, { x.y,y.y,z.y,0 }, { x.z,y.z,z.z,0 }, { 0,0,0,1 });</p><p>return t * r;</p><p>}</p>]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/4545905994/c39ad3f1e6b8f0640f9ac9b391b7d9a0/image.webp" />
         <pubDate>2025-10-13 04:44:07 UTC</pubDate>
         <guid>https://padlet.com/mksung89/cameraMatrix/wish/3629079684</guid>
      </item>
      <item>
         <title>5469640_서보성</title>
         <author>ssbss0329</author>
         <link>https://padlet.com/mksung89/cameraMatrix/wish/3629085469</link>
         <description><![CDATA[<p><br/></p><p>#define GLM_ENABLE_EXPERIMENTAL </p><p>#include &lt;iostream&gt;</p><p>#include &lt;glm/glm.hpp&gt;</p><p>#include &lt;glm/geometric.hpp&gt;</p><p>#include &lt;glm/gtx/transform.hpp&gt;</p><p>#include &lt;glm/gtx/matrix_transform_2d.hpp&gt;</p><p>#include &lt;glm/gtx/string_cast.hpp&gt;</p><p>glm::mat4 lookAt(glm::vec3 campos, glm::vec3 look, glm::vec3 up)</p><p>{</p><p>	glm::vec3 z = glm::normalize(campos - look);</p><p>	glm::vec3 x = glm::normalize(glm::cross(up, z));</p><p>	glm::vec3 y = glm::normalize(glm::cross(z, x));</p><p>	glm::mat4 trans = glm::translate(glm::mat4(1), -campos);</p><p>	glm::mat4 rot</p><p>	{</p><p>		glm::vec4(x.x, y.x, z.x, 0),</p><p>		glm::vec4(x.y, y.y, z.y, 0),</p><p>		glm::vec4(x.z, y.z, z.z, 0),</p><p>		glm::vec4(0, 0, 0, 1)</p><p>	};</p><p>	return rot * trans;</p><p>}</p><p>int main()</p><p>{</p><p>	glm::vec3 camPos(5, 5, 5);</p><p>	glm::vec3 Look(0, 0, 0);</p><p>	glm::vec3 Up(0, 1, 0);</p><p>	glm::mat4 temp = lookAt(camPos, Look, Up);</p><p>	std::cout &lt;&lt; glm::to_string(temp) &lt;&lt; std::endl;</p><p>	return 0;</p><p>}</p>]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/3530567594/b3354b724ac37093c8bb2b29f662b437/image.png" />
         <pubDate>2025-10-13 04:48:36 UTC</pubDate>
         <guid>https://padlet.com/mksung89/cameraMatrix/wish/3629085469</guid>
      </item>
      <item>
         <title></title>
         <author>mksung89</author>
         <link>https://padlet.com/mksung89/cameraMatrix/wish/3629086090</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/71284500/3306150e39f96b598006b345a478bf7a/image.png" />
         <pubDate>2025-10-13 04:49:08 UTC</pubDate>
         <guid>https://padlet.com/mksung89/cameraMatrix/wish/3629086090</guid>
      </item>
      <item>
         <title>5881270_김지운</title>
         <author></author>
         <link>https://padlet.com/mksung89/cameraMatrix/wish/3629100234</link>
         <description><![CDATA[<p>#define GLM_ENABLE_EXPERIMENTAL</p><p>#define GLM_SWIZZLE</p><p>#include &lt;iostream&gt;</p><p>#include &lt;glm/glm.hpp&gt;</p><p>#include &lt;glm/gtx/string_cast.hpp&gt;</p><p>#include &lt;glm/gtc/matrix_transform.hpp&gt; </p><p>#include &lt;glm/gtx/matrix_transform_2d.hpp&gt;</p><p>glm::mat4 MyLookAt(const glm::vec3&amp; camPos, const glm::vec3&amp; look, const glm::vec3&amp; up);</p><p>int main() {</p><p>    glm::vec3 camPos = { 5.0f, 5.0f, 5.0f };</p><p>    glm::vec3 look = { 0.0f, 0.0f, 0.0f };</p><p>    glm::vec3 up = { 0.0f, 1.0f, 0.0f };</p><p>    glm::mat4 view = MyLookAt(camPos, look, up);</p><p>    std::cout &lt;&lt; glm::to_string(view) &lt;&lt; std::endl;</p><p>    return 0;</p><p>}</p><p>glm::mat4 MyLookAt(const glm::vec3&amp; camPos, const glm::vec3&amp; look, const glm::vec3&amp; up) {</p><p>    glm::vec3 zaxis = glm::normalize(camPos - look);     </p><p>    glm::vec3 xaxis = glm::normalize(glm::cross(up, zaxis)); </p><p>    glm::vec3 yaxis = glm::cross(zaxis, xaxis);              </p><p>    glm::mat4 rotation(1.0f);</p><p>    rotation[0][0] = xaxis.x; rotation[1][0] = xaxis.y; rotation[2][0] = xaxis.z;</p><p>    rotation[0][1] = yaxis.x; rotation[1][1] = yaxis.y; rotation[2][1] = yaxis.z;</p><p>    rotation[0][2] = zaxis.x; rotation[1][2] = zaxis.y; rotation[2][2] = zaxis.z;</p><p>    glm::mat4 translation = glm::translate(glm::mat4(1.0f), -camPos);</p><p>    return rotation * translation;</p><p>}</p><p><br/></p>]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/4545926559/56e9b24a9dc5bebf658dafb8caff2786/_____2025_10_13_135741.png" />
         <pubDate>2025-10-13 04:59:22 UTC</pubDate>
         <guid>https://padlet.com/mksung89/cameraMatrix/wish/3629100234</guid>
      </item>
      <item>
         <title>5764095_오도혁</title>
         <author></author>
         <link>https://padlet.com/mksung89/cameraMatrix/wish/3629113705</link>
         <description><![CDATA[<p>#define GLM_ENABLE_EXPERIMENTAL</p><p>#include &lt;glm/gtx/dual_quaternion.hpp&gt;</p><p>#include&lt;iostream&gt;</p><p>#include&lt;glm/glm.hpp&gt;</p><p>#include &lt;glm/gtx/matrix_transform_2d.hpp&gt;</p><p>#include&lt;glm/gtx/string_cast.hpp&gt;</p><p>#include &lt;glm/gtc/constants.hpp&gt;</p><p>#include&lt;glm/mat4x4.hpp&gt;</p><p>#include&lt;glm/mat2x2.hpp&gt;</p><p>#include&lt;glm/mat3x2.hpp&gt;</p><p>#include&lt;glm/mat3x3.hpp&gt;</p><p>int main()</p><p>{</p><p>	glm::vec4 local(4.0f, 5.0f, 3.0f, 1.0f);</p><p>	glm::mat4 sca = glm::scale(glm::mat4(1.0f), glm::vec3(1.3f, 1.3f, 1.3f));</p><p>	glm::mat4 tan = glm::translate(glm::mat4(1.0f), glm::vec3(0.0f, 5.0f, 0.0f));</p><p>	glm::mat4 roty = glm::rotate(glm::mat4(1.0f), glm::radians(56.0f), glm::vec3(0,1,0));</p><p>	glm::mat4 rotx = glm::rotate(glm::mat4(1.0f), glm::radians(40.0f), glm::vec3(1, 0, 0));</p><p>	glm::mat4 mod = tan <em> sca </em> rotx * roty;</p><p>	std::cout &lt;&lt; glm::to_string(mod) &lt;&lt; std::endl;</p><p>	glm::vec4 wsp = mod * local;</p><p>	std::cout &lt;&lt; glm::to_string(wsp) &lt;&lt; std::endl;</p><p>	return 0;</p><p>}</p><p><br/></p>]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/4546002855/82e2863ee2eeacc2ec454fc52c0e7dca/__.png" />
         <pubDate>2025-10-13 05:10:06 UTC</pubDate>
         <guid>https://padlet.com/mksung89/cameraMatrix/wish/3629113705</guid>
      </item>
      <item>
         <title>5763848 강승우 </title>
         <author></author>
         <link>https://padlet.com/mksung89/cameraMatrix/wish/3629120071</link>
         <description><![CDATA[<p>#define GLM_ENABLE_EXPERIMENTAL</p><p>#define GLM_SWIZZLE </p><p>#include&lt;iostream&gt;</p><p>#include&lt;glm/glm.hpp&gt;</p><p>#include&lt;glm/gtx/string_cast.hpp&gt;</p><p>#include&lt;glm/gtx/matrix_transform_2d.hpp&gt;</p><p>int main() {</p><p>    glm::vec4 m(4.0f, 5.0f, 3.0f, 1.0f);</p><p>    //로테이트 </p><p>    glm::mat4 rx = glm::rotate(glm::mat4(1.0f), glm::radians(40.0f), glm::vec3(1.0f, 0.0f, 0.0f));</p><p>    glm::mat4 rz= glm::rotate(glm::mat4(1.0f), glm::radians(0.0f), glm::vec3(0.0f, 0.0f, 1.0f));</p><p>    glm::mat4 ry = glm::rotate(glm::mat4(1.0f), glm::radians(56.0f), glm::vec3(0.0f, 1.0f, 0.0f));</p><p>    glm::mat4 rot = rx <em> ry </em> rz;</p><p>    //트렌스</p><p>    glm::vec3 offset(0.0f, 5.0f, 0.0f);</p><p>    glm::mat4 trans = glm::translate(glm::mat4(1.0f), offset);</p><p>    //스케일</p><p>    glm::mat4 scale = glm::scale(glm::mat4(1.0f), glm::vec3(1.3f, 1.3f, 1.3f));</p><p>    glm::mat4 modle = trans <em> rot </em> scale;</p><p>    std::cout &lt;&lt; to_string(modle*m) &lt;&lt; std::endl;</p><p>    return 0;</p><p>}</p><p><br/></p>]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/4546016468/39ba8606c9241ea3fa3190414455ad74/image.png" />
         <pubDate>2025-10-13 05:14:56 UTC</pubDate>
         <guid>https://padlet.com/mksung89/cameraMatrix/wish/3629120071</guid>
      </item>
      <item>
         <title>5764201_차승재</title>
         <author></author>
         <link>https://padlet.com/mksung89/cameraMatrix/wish/3629120576</link>
         <description><![CDATA[<p>#define GLM_ENABLE_EXPERIMENTAL </p><p>#include &lt;iostream&gt;</p><p>#include &lt;glm/glm.hpp&gt;</p><p>#include &lt;glm/gtx/string_cast.hpp&gt;</p><p>#include &lt;glm/gtc/matrix_transform.hpp&gt;</p><p>#include &lt;glm/gtc/type_ptr.hpp&gt;</p><p>using namespace std;</p><p>int main() {</p><p>	glm::vec4 local(4.0f, 5.0f, 3.0f, 1.0f);</p><p>	glm::mat4 rotX = glm::rotate(glm::mat4(1.0f), glm::radians(40.0f), glm::vec3(1.0f, 0.0f, 0.0f));</p><p>	glm::mat4 rotY = glm::rotate(glm::mat4(1.0f), glm::radians(56.0f), glm::vec3(0.0f, 1.0f, 0.0f));</p><p>	glm::mat4 Trans = glm::translate(glm::mat4(1.0f), glm::vec3(0.0f, 5.0f, 0.0f));</p><p>	glm::mat4 scale = glm::scale(glm::mat4(1.0f), glm::vec3(1.3f, 1.3f, 1.3f));</p><p>	glm::mat4 mod = Trans <em> scale </em> rotX * rotY;</p><p>	glm::vec4 world = mod * local;</p><p>	cout &lt;&lt; glm::to_string(world) &lt;&lt; endl;</p><p>    return 0;</p><p>}</p><p><br/></p>]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/4546005530/3855484037fe61260a94a4f72b3d5ca3/__.PNG" />
         <pubDate>2025-10-13 05:15:16 UTC</pubDate>
         <guid>https://padlet.com/mksung89/cameraMatrix/wish/3629120576</guid>
      </item>
      <item>
         <title>5764020_노도현</title>
         <author></author>
         <link>https://padlet.com/mksung89/cameraMatrix/wish/3629122257</link>
         <description><![CDATA[<p>#define GLM_ENABLE_EXPERIMENTAL</p><p>#include &lt;iostream&gt;</p><p>#include &lt;glm/glm.hpp&gt;</p><p>#include &lt;glm/gtx/string_cast.hpp&gt;</p><p>#include &lt;glm/gtc/matrix_transform.hpp&gt;</p><p>int main() {</p><p>	glm::mat4 s = glm::scale(glm::mat4(1.0f), glm::vec3(1.3f, 1.3f, 1.3f));</p><p>	glm::mat4 t = glm::translate(glm::mat4(1.0f), glm::vec3(0.0f, 5.0f, 0.0f));</p><p>    glm::mat4 rx = glm::rotate(glm::mat4(1.0f), glm::radians(40.0f), glm::vec3(1, 0, 0));</p><p>    glm::mat4 ry = glm::rotate(glm::mat4(1.0f), glm::radians(56.0f), glm::vec3(0, 1, 0));</p><p>    glm::mat4 rz = glm::rotate(glm::mat4(1.0f), glm::radians(0.0f), glm::vec3(0, 0, 1));</p><p>	glm::mat4 model =  t <em> s </em> rx <em> ry </em> rz;</p><p>    glm::vec4 lacal_point(4, 5, 3, 1);</p><p>    glm::vec4 world_point = model * lacal_point;</p><p>	std::cout &lt;&lt; glm::to_string(world_point) &lt;&lt; std::endl;</p><p>    return 0;</p><p>}</p>]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/4546015035/5812efe2b40e63e17809d26759ee98c8/image.png" />
         <pubDate>2025-10-13 05:16:16 UTC</pubDate>
         <guid>https://padlet.com/mksung89/cameraMatrix/wish/3629122257</guid>
      </item>
      <item>
         <title>5881452_오예림</title>
         <author></author>
         <link>https://padlet.com/mksung89/cameraMatrix/wish/3629122493</link>
         <description><![CDATA[<p>#define GLM_ENABLE_EXPERIMENTAL</p><p>#define GLM_SWIZZLE</p><p>#include &lt;iostream&gt;</p><p>#include &lt;glm/glm.hpp&gt;</p><p>#include &lt;glm/gtx/transform.hpp&gt;</p><p>#include &lt;glm/gtx/string_cast.hpp&gt;</p><p>#include &lt;glm/gtc/constants.hpp&gt;</p><p>int main()</p><p>{</p><p>    glm::vec4 local(4.0f, 5.0f, 3.0f, 1.0f);</p><p>    glm::mat4 sca = glm::scale(glm::mat4(1.0f), glm::vec3(1.3f, 1.3f, 1.3f));</p><p>    glm::mat4 tan = glm::translate(glm::mat4(1.0f), glm::vec3(0.0f, 5.0f, 0.0f));</p><p>  </p><p>    glm::mat4 roty = glm::rotate(glm::radians(56.0f), glm::vec3(0, 1, 0)); </p><p>    glm::mat4 rotz = glm::rotate(glm::radians(40.0f), glm::vec3(1, 0, 0)); </p><p>    glm::mat4 model = tan *<em> sca </em>* rotz * roty;</p><p>    glm::vec4 wsp = model * local;</p><p>    std::cout &lt;&lt; glm::to_string(wsp) &lt;&lt; std::endl;</p><p>    return 0;</p><p>}</p><p><br/></p>]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/4545869758/5abaa5d2b1eca5a41a445d78b675a737/image.png" />
         <pubDate>2025-10-13 05:16:27 UTC</pubDate>
         <guid>https://padlet.com/mksung89/cameraMatrix/wish/3629122493</guid>
      </item>
      <item>
         <title>5763865_권기환</title>
         <author>rnjs498913</author>
         <link>https://padlet.com/mksung89/cameraMatrix/wish/3629122945</link>
         <description><![CDATA[<p>#define GLM_ENABLE_EXPERIMENTAL</p><p>#define GLM_SWIZZLE</p><p>#include &lt;iostream&gt;</p><p>#include &lt;glm/glm.hpp&gt;</p><p>#include &lt;glm/gtx/transform.hpp&gt;</p><p>#include &lt;glm/gtx/matrix_transform_2d.hpp&gt;</p><p>#include &lt;glm/gtx/string_cast.hpp&gt;</p><p>int main()</p><p>{</p><p>	glm::vec4 point = { 4.0f,5.0f,3.0f,1.0f };</p><p>	glm::mat4 scale = glm::scale (glm::mat4(1.0f), glm::vec3(1.3f, 1.3f, 1.3f));</p><p>	glm::mat4 translate = glm::translate(glm::mat4(1.0f), glm::vec3(0.0f, 5.0f, 0.0f));</p><p>	glm::mat4 rotateX = glm::rotate(glm::mat4(1.0f), glm::radians(40.0f), glm::vec3(1, 0, 0));</p><p>	glm::mat4 rotateY = glm::rotate(glm::mat4(1.0f), glm::radians(56.0f), glm::vec3(0, 1, 0));</p><p>	</p><p>	glm::mat4 model = translate <em> scale </em> rotateX * rotateY;</p><p>	std::cout &lt;&lt; to_string(model*point) &lt;&lt; std::endl;</p><p>	return 0;</p><p>}</p>]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/4329868293/5b2102dbbb3c53111800fa1ca553454c/_____2025_10_13_141534.png" />
         <pubDate>2025-10-13 05:16:47 UTC</pubDate>
         <guid>https://padlet.com/mksung89/cameraMatrix/wish/3629122945</guid>
      </item>
      <item>
         <title>5763973_김영인</title>
         <author></author>
         <link>https://padlet.com/mksung89/cameraMatrix/wish/3629124092</link>
         <description><![CDATA[<p>#define GLM_ENABLE_EXPERIMENTAL</p><p>#define GLM_SWIZZLE</p><p>#include &lt;iostream&gt;</p><p>#include &lt;glm/glm.hpp&gt;</p><p>#include &lt;glm/gtx/string_cast.hpp&gt;</p><p>#include &lt;glm/gtc/constants.hpp&gt;</p><p>int main()</p><p>{</p><p>	glm::vec4 point = { 4.0f, 5.0f, 3.0f, 1.0f};</p><p>	glm::mat4 rotx = glm::rotate(glm::mat4(1.0f), glm::radians(40.0f), glm::vec3(1.0f, 0, 0));  //x축</p><p>	glm::mat4 roty = glm::rotate(glm::mat4(1.0f), glm::radians(56.0f), glm::vec3(0, 1.0f, 0));  //y축</p><p>	glm::mat4 Trans = glm::translate(glm::mat4(1.0f), glm::vec3(0, 5.0f, 0));</p><p>	glm::mat4 scale = glm::scale(glm::mat4(1.0f), glm::vec3(1.3f, 1.3f, 1.3f));</p><p>	glm::mat4 model = Trans <em> scale </em> rotx * roty;</p><p>	glm::vec4 p = model * point;</p><p>	std::cout &lt;&lt; glm::to_string(p);</p><p>	return 0;</p><p>}</p>]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/4546013267/23c1f80f5bcea7596b22711c6307dd5a/image.png" />
         <pubDate>2025-10-13 05:17:40 UTC</pubDate>
         <guid>https://padlet.com/mksung89/cameraMatrix/wish/3629124092</guid>
      </item>
      <item>
         <title>5764232 최영환</title>
         <author></author>
         <link>https://padlet.com/mksung89/cameraMatrix/wish/3629126484</link>
         <description><![CDATA[<p>#include &lt;iostream&gt;</p><p>#define GLM_ENABLE_EXPERIMENTAL</p><p>#include &lt;glm/glm.hpp&gt;</p><p>#include &lt;glm/gtx/string_cast.hpp&gt;</p><p>#include &lt;glm/gtx/matrix_transform_2d.hpp&gt; </p><p>#include &lt;glm/mat3x2.hpp&gt;      </p><p>int main()</p><p>{</p><p>    glm::vec4 point(4.0f, 5.0f, 3.0f, 1.0f);</p><p>    glm::mat4 s = glm::scale(glm::mat4(1.0f), glm::vec3(1.3f, 1.3f, 1.3f));</p><p>    glm::mat4 t = glm::translate(glm::mat4(1.0f), glm::vec3(0.0f, 5.0f, 0.0f));</p><p>    glm::mat4 rx = glm::rotate(glm::mat4(1.0f), glm::radians(40.0f), glm::vec3(1.0f, 0, 0));</p><p>    glm::mat4 ry = glm::rotate(glm::mat4(1.0f), glm::radians(56.0f), glm::vec3(0, 1.0f, 0));</p><p>    glm::mat4 model = t <em> s </em> rx * ry;</p><p>    glm::vec4 worldPoint = model * point;</p><p>    std::cout &lt;&lt; glm::to_string(worldPoint) &lt;&lt; std::endl;</p><p>    return 0;</p><p>}</p>]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/4546069494/ad8b3ab73c002edf0e89971b51cc4412/_____2025_10_13_141859.png" />
         <pubDate>2025-10-13 05:19:34 UTC</pubDate>
         <guid>https://padlet.com/mksung89/cameraMatrix/wish/3629126484</guid>
      </item>
      <item>
         <title>5702680_정상윤</title>
         <author></author>
         <link>https://padlet.com/mksung89/cameraMatrix/wish/3629126546</link>
         <description><![CDATA[<p>glm::vec4 modelP(4, 5, 3, 1);</p><p>glm::mat4 scaleMat = glm::scale(glm::mat4(1), glm::vec3(1.3f, 1.3f, 1.3f));</p><p>glm::mat4 transMat = glm::translate(glm::mat4(1), glm::vec3(0, 5, 0));</p><p>glm::mat4 xrotMat = glm::rotate(glm::mat4(1), glm::radians(40.f), glm::vec3(1, 0, 0));</p><p>glm::mat4 yrotMat = glm::rotate(glm::mat4(1), glm::radians(56.f), glm::vec3(0, 1, 0));</p><p>glm::mat4 modelMat = transMat <em> scaleMat </em> xrotMat * yrotMat;</p><p>glm::vec4 worldP = modelMat * modelP;</p><p>std::cout &lt;&lt; to_string(modelMat) &lt;&lt; std::endl;</p><p>std::cout &lt;&lt; to_string(worldP) &lt;&lt; std::endl;</p>]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/4546027491/820992b24934fac5063f0ca346293bfb/image.png" />
         <pubDate>2025-10-13 05:19:37 UTC</pubDate>
         <guid>https://padlet.com/mksung89/cameraMatrix/wish/3629126546</guid>
      </item>
      <item>
         <title>5763882_김규태</title>
         <author></author>
         <link>https://padlet.com/mksung89/cameraMatrix/wish/3629130677</link>
         <description><![CDATA[<p>#define GLM_ENABLE_EXPERIMENTAL</p><p>#include&lt;iostream&gt;</p><p>#include &lt;glm/gtx/dual_quaternion.hpp&gt;</p><p>#include&lt;glm/glm.hpp&gt;</p><p>#include &lt;glm/gtx/matrix_transform_2d.hpp&gt;</p><p>#include&lt;glm/gtx/string_cast.hpp&gt;</p><p>#include &lt;glm/gtc/constants.hpp&gt;</p><p>#include&lt;glm/mat4x4.hpp&gt;</p><p>#include&lt;glm/mat2x2.hpp&gt;</p><p>#include&lt;glm/mat3x2.hpp&gt;</p><p>#include&lt;glm/mat3x3.hpp&gt;</p><p>int main() {</p><p>    glm::vec4 local_point(4, 5, 3, 1);</p><p>	glm::mat4 s = glm::scale(glm::mat4(1.0f), glm::vec3(1.3f, 1.3f, 1.3f));</p><p>	glm::mat4 t = glm::translate(glm::mat4(1.0f), glm::vec3(0.0f, 5.0f, 0.0f));</p><p>    glm::mat4 x = glm::rotate(glm::mat4(1.0f), glm::radians(40.0f), glm::vec3(1.0f, 0.0f, 0.0f));</p><p>    glm::mat4 y = glm::rotate(glm::mat4(1.0f), glm::radians(56.0f), glm::vec3(0.0f, 1.0f, 0.0f));</p><p>    glm::mat4 z = glm::mat4(1.0f);</p><p>    glm::mat4 r = x <em> y </em> z;</p><p>	glm::mat4 model = t <em> r </em> s;</p><p>    glm::vec4 world_point = model * local_point;</p><p>    std::cout &lt;&lt; to_string(world_point) &lt;&lt; std::endl;</p><p>    return 0;</p><p>}</p>]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/4545924189/8f8d77ec5f32ef0b49f34ddbeeeca3e9/image.png" />
         <pubDate>2025-10-13 05:22:54 UTC</pubDate>
         <guid>https://padlet.com/mksung89/cameraMatrix/wish/3629130677</guid>
      </item>
      <item>
         <title>5469640_서보성</title>
         <author>ssbss0329</author>
         <link>https://padlet.com/mksung89/cameraMatrix/wish/3629130714</link>
         <description><![CDATA[<p><br/></p><p>#define GLM_ENABLE_EXPERIMENTAL </p><p>#include &lt;iostream&gt;</p><p>#include &lt;glm/glm.hpp&gt;</p><p>#include &lt;glm/geometric.hpp&gt;</p><p>#include &lt;glm/gtx/transform.hpp&gt;</p><p>#include &lt;glm/gtx/matrix_transform_2d.hpp&gt;</p><p>#include &lt;glm/gtx/string_cast.hpp&gt;</p><p>int main()</p><p>{</p><p>	float x_translation = 0.0f;</p><p>	float y_translation = 5.0f;</p><p>	float z_translation = 0.0f;</p><p>	float x_rotation = 40.0f;  // degrees</p><p>	float y_rotation = 56.0f;  // degrees</p><p>	float z_rotation = 0.0f;   // degrees</p><p>	float scale_value = 1.3f;</p><p>	glm::vec4 local_point(4,5,3,1);</p><p>	glm::mat4 scale = glm::scale(glm::mat4(1.0f), glm::vec3(scale_value, scale_value, scale_value));</p><p>	glm::mat4 trans = glm::translate(glm::mat4(1.0f), glm::vec3(x_translation, y_translation, z_translation));</p><p>	glm::mat4 rotate = glm::rotate(glm::mat4(1.0f), glm::radians(x_rotation), glm::vec3(1,0,0));</p><p>	rotate = glm::rotate(rotate, glm::radians(y_rotation), glm::vec3(0,1,0));</p><p>	rotate = glm::rotate(rotate, glm::radians(z_rotation), glm::vec3(0,0,1));</p><p>	glm::mat4 model =  trans <em> rotate </em> scale;</p><p>	glm::vec4 world_point = model * local_point;</p><p>	std::cout &lt;&lt; glm::to_string(world_point) &lt;&lt; std::endl;</p><p>	return 0;</p><p>}</p>]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/3530567594/579fc978ee45fa71db8321a34443d26d/image.png" />
         <pubDate>2025-10-13 05:22:56 UTC</pubDate>
         <guid>https://padlet.com/mksung89/cameraMatrix/wish/3629130714</guid>
      </item>
      <item>
         <title>5764107_오제휴</title>
         <author>ohjh6190</author>
         <link>https://padlet.com/mksung89/cameraMatrix/wish/3629133435</link>
         <description><![CDATA[<p><br/></p><p>#define GLM_ENABLE_EXPERIMENTAL </p><p>#include &lt;iostream&gt;	</p><p>#include &lt;glm/glm.hpp&gt;</p><p>#include &lt;glm/gtx/string_cast.hpp&gt;</p><p>#include &lt;glm/gtx/matrix_transform_2d.hpp&gt;</p><p>#include &lt;glm/gtx/transform.hpp&gt;</p><p>int main()</p><p>{</p><p>	glm::vec4 local_point(4.0f, 5.0f, 3.0f, 1.0f);</p><p>	glm::mat4 m(1.0f);</p><p>	glm::mat4 s = glm::scale(m, glm::vec3(1.3f, 1.3f, 1.3f));</p><p>	glm::mat4 t = glm::translate(m, glm::vec3(0.0f, 5.0f, 0.0f));</p><p>	glm::mat4 xr = glm::rotate(m, glm::radians(40.0f), glm::vec3(1.0f, 0.0f, 0.0f));</p><p>	glm::mat4 yr = glm::rotate(m, glm::radians(56.0f), glm::vec3(0.0f, 0.1f, 0.0f));</p><p>	glm::mat4 zr = glm::rotate(m, glm::radians(0.0f), glm::vec3(0.0f, 0.0f, 0.1f));</p><p>	glm::mat4 model = t <em> xr </em> yr <em> zr </em> s;</p><p>	glm::vec4 world_point = model * local_point;</p><p>	std::cout &lt;&lt; glm::to_string(world_point) &lt;&lt; std::endl;</p><p>	return 0;</p><p>}</p>]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/4329707195/ea6a9bc03a9cd5f99d1b67bda03e9fed/image.png" />
         <pubDate>2025-10-13 05:25:09 UTC</pubDate>
         <guid>https://padlet.com/mksung89/cameraMatrix/wish/3629133435</guid>
      </item>
      <item>
         <title>5881327_박인엽</title>
         <author>inyup1014</author>
         <link>https://padlet.com/mksung89/cameraMatrix/wish/3629134184</link>
         <description><![CDATA[<p>int main()</p><p>{</p><p>	glm::vec4 v(4.0f, 5.0f, 3.0f, 1.0f);</p><p>	glm::mat4 s = glm::scale(glm::mat4(1.0f), glm::vec3(1.3f, 1.3f, 1.3f));</p><p>	glm::mat4 t = glm::translate(glm::mat4(1.0f), glm::vec3(0.0f, 5.0f, 0.0f));</p><p>	</p><p>	glm::mat4 rotate = glm::rotate(glm::mat4(1.0f), glm::radians(40.0f), glm::vec3(1, 0, 0));</p><p>	rotate = glm::rotate(rotate, glm::radians(56.0f), glm::vec3(0, 1, 0));</p><p>	rotate = glm::rotate(rotate, glm::radians(0.0f), glm::vec3(0, 0, 1));</p><p>	</p><p>	//SRT</p><p>	glm::mat4 m = t <em> rotate </em> s;</p><p>	glm::vec4 wp = m * v;</p><p>	std::cout &lt;&lt; glm::to_string(wp) &lt;&lt; std::endl;</p><p>	return 0;</p><p>}</p>]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/4329862238/02686fd5853de6c0fa50848cd0d84f34/_____55_.png" />
         <pubDate>2025-10-13 05:25:45 UTC</pubDate>
         <guid>https://padlet.com/mksung89/cameraMatrix/wish/3629134184</guid>
      </item>
      <item>
         <title>5764186_정현욱</title>
         <author></author>
         <link>https://padlet.com/mksung89/cameraMatrix/wish/3629134816</link>
         <description><![CDATA[<p>#define GLM_ENABLE_EXPERIMENTAL</p><p>#define GLM_SWIZZLE</p><p>#include &lt;iostream&gt;</p><p>#include &lt;glm/glm.hpp&gt;</p><p>#include &lt;glm/gtx/string_cast.hpp&gt;</p><p>#include &lt;glm/gtc/constants.hpp&gt;</p><p>#include &lt;glm/mat4x4.hpp&gt;</p><p>#include &lt;glm/mat2x2.hpp&gt;</p><p>#include &lt;glm/mat3x2.hpp&gt;</p><p>#include &lt;glm/gtx/transform.hpp&gt;</p><p>#include &lt;glm/gtx/matrix_transform_2d.hpp&gt;</p><p>const double DEGREES_TO_RADIANS = glm::pi&lt;float&gt;() / 180.0;</p><p>const double RADIANS_TO_DEGREES = 180.0 / glm::pi&lt;float&gt;();</p><p>int main() {</p><p>	glm::vec4 local_point(4.0f, 5.0f, 3.0f, 1.0f);</p><p>	glm::mat4 trans = glm::translate(glm::mat4(1.0f), glm::vec3(0, 5, 0));</p><p>	glm::mat4 scale = glm::scale(glm::mat4(1.0f), glm::vec3(1.3f, 1.3f, 1.3f));</p><p>	glm::mat4 rotX = glm::rotate(glm::mat4(1.0f), glm::radians(40.0f), glm::vec3(1, 0, 0));</p><p>	glm::mat4 rotY = glm::rotate(glm::mat4(1.0f), glm::radians(56.0f), glm::vec3(0, 1, 0));</p><p>	glm::mat4 rotZ = glm::rotate(glm::mat4(1.0f), glm::radians(0.0f), glm::vec3(0, 0, 1));</p><p>	glm::mat4 rot = rotX * rotY ;</p><p>	glm::mat4 model = trans <em> rot </em> scale;</p><p>	glm::vec4 world_point = model * local_point;</p><p>	std::cout &lt;&lt; glm::to_string(world_point) &lt;&lt; std::endl;</p><p>}</p>]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/4545868967/16efda40b1e8c3ade9bf71f515c64483/image.png" />
         <pubDate>2025-10-13 05:26:07 UTC</pubDate>
         <guid>https://padlet.com/mksung89/cameraMatrix/wish/3629134816</guid>
      </item>
      <item>
         <title>5881344_박지현</title>
         <author></author>
         <link>https://padlet.com/mksung89/cameraMatrix/wish/3629134957</link>
         <description><![CDATA[<pre><code class="language-cpp">//Computer_Graphcis(5)
//park_jihyeon(Nyancode1)
#define GLM_ENABLE_EXPERIMENTAL
#define GLM_SWIZZLE
#include &lt;iostream&gt;
#include &lt;glm/glm.hpp&gt;
#include &lt;glm/gtx/string_cast.hpp&gt;
#include &lt;glm/gtc/matrix_transform.hpp&gt; 

//using namespace glm;



int main() {
    glm::vec4 loc_p(4, 5, 3, 1);

    glm::mat4 rot = glm::rotate(glm::mat4(1.0f), glm::radians(40.0f), glm::vec3(1, 0, 0));
    rot = glm::rotate(rot, glm::radians(56.0f), glm::vec3(0, 1, 0));
    rot = glm::rotate(rot, glm::radians(0.0f), glm::vec3(0, 0, 1));

    glm::mat4 Trans = glm::translate(glm::mat4(1.0f), glm::vec3(0, 5, 0));
    
    glm::mat4 scale = glm::scale(glm::mat4(1.0f), glm::vec3(1.3f, 1.3f, 1.3f));

    glm::mat4 model = Trans * scale * rot;

    std::cout &lt;&lt; glm::to_string(model) &lt;&lt; std::endl;
    std::cout &lt;&lt; std::endl;

    glm::vec4 result2 = model * loc_p; 
    std::cout &lt;&lt; glm::to_string(result2) &lt;&lt; std::endl; 
    
    return 0; 
}
</code></pre>]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/4545911601/b074cbb2c33503c6ed6123edbdc7961b/image.png" />
         <pubDate>2025-10-13 05:26:15 UTC</pubDate>
         <guid>https://padlet.com/mksung89/cameraMatrix/wish/3629134957</guid>
      </item>
      <item>
         <title>5881634_황윤희</title>
         <author></author>
         <link>https://padlet.com/mksung89/cameraMatrix/wish/3629139246</link>
         <description><![CDATA[<p>#define GLM_ENABLE_EXPERIMENTAL </p><p>#include &lt;iostream&gt;</p><p>#include &lt;glm/glm.hpp&gt;</p><p>#include &lt;glm/gtx/string_cast.hpp&gt;</p><p>#include &lt;glm/vec3.hpp&gt;</p><p>#include &lt;glm/mat4x4.hpp&gt;</p><p>#include &lt;glm/mat2x2.hpp&gt;</p><p>#include &lt;glm/mat2x3.hpp&gt; </p><p>int main()</p><p>{</p><p>	glm::vec4 m(4.0f, 5.0f, 3.0f, 1.0f);</p><p>	glm::mat4 rx = glm::rotate(glm::mat4(1.0f), glm::radians(40.0f), glm::vec3(1.0f, 0, 0));</p><p>	glm::mat4 ry = glm::rotate(glm::mat4(1.0f), glm::radians(56.0f), glm::vec3(0, 1.0f, 0));</p><p>	glm::mat4 rz = glm::rotate(glm::mat4(1.0f), glm::radians(0.0f), glm::vec3(0, 0, 1.0f));</p><p>	glm::mat4 rot = rx <em> ry </em> rz;</p><p>	glm::mat4 trans = glm::translate(glm::mat4(1.0f), glm::vec3(0, 5.0f, 0));</p><p>	glm::mat4 scale = glm::scale(glm::mat4(1.0f), glm::vec3(1.3f, 1.3f, 1.3f));</p><p>	glm::mat4 model = trans <em> scale </em> rot;</p><p>	std::cout &lt;&lt; glm::to_string(model*m) &lt;&lt; std::endl;</p><p>	return 0;</p><p>}</p>]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/4545913547/b2c46dbcbc5533293bc054840dda1adb/image.png" />
         <pubDate>2025-10-13 05:29:37 UTC</pubDate>
         <guid>https://padlet.com/mksung89/cameraMatrix/wish/3629139246</guid>
      </item>
      <item>
         <title>5646139_설문관</title>
         <author>hyoseong01</author>
         <link>https://padlet.com/mksung89/cameraMatrix/wish/3629142775</link>
         <description><![CDATA[<p><br/></p><p>#define GLM_ENABLE_EXPERIMENTAL </p><p>#define GLM_SWIZZLE</p><p>#include &lt;iostream&gt;</p><p>#include &lt;glm/glm.hpp&gt;</p><p>#include &lt;glm/gtx/string_cast.hpp&gt;</p><p>#include &lt;glm/gtc/constants.hpp&gt;</p><p>#include &lt;glm/matrix.hpp&gt;</p><p>#include &lt;glm/gtx/transform.hpp&gt;</p><p>const double DEGREES_TO_RADIANS = glm::pi&lt;float&gt;() / 180.0f; //glm::radians()</p><p>const double RADIANS_TO_DEGREES = 180.0 / glm::pi&lt;float&gt;(); //glm::degrees()</p><p>int main()</p><p>{</p><p>	glm::vec4 localpoint(4.0f, 5.0f, 3.0f, 1.0f);</p><p>	glm::mat4 scale = glm::scale(glm::mat4(1.0f), glm::vec3(1.3f, 1.3f, 1.3f));</p><p>	glm::mat4 translate = glm::translate(glm::mat4(1.0f), glm::vec3(0.0f, 5.0f, 0.0f));</p><p>	glm::mat4 rotation = glm::rotate(glm::mat4(1.0f), glm::radians(40.0f), glm::vec3(1.0f, 0.0f, 0.0f));</p><p>	rotation = glm::rotate(rotation, glm::radians(56.0f), glm::vec3(0.0f, 1.0f, 0.0f));</p><p>	rotation = glm::rotate(rotation, glm::radians(0.0f), glm::vec3(0.0f, 0.0f, 1.0f));</p><p>	glm::mat4 model = translate <em> rotation </em> scale;</p><p>	glm::vec4 point = model * localpoint;</p><p>	std::cout &lt;&lt; glm::to_string(point) &lt;&lt; std::endl;</p><p>}</p>]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/4330622755/3e41f21c61361c917003417b0c1200f8/_____2025_10_13_142537.png" />
         <pubDate>2025-10-13 05:32:29 UTC</pubDate>
         <guid>https://padlet.com/mksung89/cameraMatrix/wish/3629142775</guid>
      </item>
      <item>
         <title>5645974_김재현</title>
         <author>knite7989</author>
         <link>https://padlet.com/mksung89/cameraMatrix/wish/3629148354</link>
         <description><![CDATA[<p>#define GLM_ENABLE_EXPERIMENTAL</p><p>#include &lt;iostream&gt;</p><p>#include &lt;glm/glm.hpp&gt;</p><p>#include &lt;glm/gtx/transform.hpp&gt;</p><p>#include &lt;glm/gtx/matrix_transform_2d.hpp&gt;</p><p>#include &lt;glm/gtx/string_cast.hpp&gt;</p><p>/*</p><p>scale 1.3 all</p><p>translate 0 5 0</p><p>rotate 40 56 0</p><p>*/</p><p>int main()</p><p>{</p><p>	glm::vec4 local(4.0f, 5.0f, 3.0f, 1.0f);</p><p>	glm::mat4 scale = glm::scale(glm::mat4(1.0f), glm::vec3(1.3f, 1.3f, 1.3f));</p><p>	glm::mat4 trans = glm::translate(glm::mat4(1.0f), glm::vec3(0.0f, 5.0f, 0.0f));</p><p>	glm::mat4 rx = glm::rotate(glm::radians(40.0f), glm::vec3(1.0f, 0.0f, 0.0f)); // X축 회전 40도</p><p>	glm::mat4 ry = glm::rotate(glm::radians(56.0f), glm::vec3(0.0f, 1.0f, 0.0f)); // Y축 회전 56도</p><p>	glm::mat4 rz = glm::rotate(glm::radians(0.0f), glm::vec3(0.0f, 0.0f, 1.0f)); // Z축 회전 0도</p><p>	//glm::mat4 model = rz <em> ry </em> rx <em> trans </em> scale;</p><p>	glm::mat4 model = trans <em> scale </em> rx <em> ry </em> rz;</p><p>	//glm::mat4 model = trans <em> rz </em> ry <em> rx </em> scale;</p><p>	glm::vec4 world = model * local;</p><p>	std::cout &lt;&lt; glm::to_string(world) &lt;&lt; "\n";</p><p>	return 0;</p><p>}</p>]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/4329683169/4f20cf634a36e3ad920f32e30ea36b7f/_____2025_10_13_143642.png" />
         <pubDate>2025-10-13 05:37:11 UTC</pubDate>
         <guid>https://padlet.com/mksung89/cameraMatrix/wish/3629148354</guid>
      </item>
      <item>
         <title>5764095_오도혁</title>
         <author></author>
         <link>https://padlet.com/mksung89/cameraMatrix/wish/3629152395</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/4546002855/086e12f848ad14225a3af608118dc349/____.png" />
         <pubDate>2025-10-13 05:40:42 UTC</pubDate>
         <guid>https://padlet.com/mksung89/cameraMatrix/wish/3629152395</guid>
      </item>
      <item>
         <title>5764201_차승재</title>
         <author></author>
         <link>https://padlet.com/mksung89/cameraMatrix/wish/3629152685</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/4546163691/cbdac51fe1df8025ff1f019f8e0d768e/__.PNG" />
         <pubDate>2025-10-13 05:40:58 UTC</pubDate>
         <guid>https://padlet.com/mksung89/cameraMatrix/wish/3629152685</guid>
      </item>
      <item>
         <title>5763848 강승우</title>
         <author></author>
         <link>https://padlet.com/mksung89/cameraMatrix/wish/3629152936</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/4546171025/b53e4828202dddf2c6247af8cab2bc21/image.png" />
         <pubDate>2025-10-13 05:41:11 UTC</pubDate>
         <guid>https://padlet.com/mksung89/cameraMatrix/wish/3629152936</guid>
      </item>
      <item>
         <title>5881375_서민기</title>
         <author></author>
         <link>https://padlet.com/mksung89/cameraMatrix/wish/3629153500</link>
         <description><![CDATA[<p>#define GLM_ENABLE_EXPERIMENTAL </p><p>#include &lt;iostream&gt;</p><p>#include &lt;glm/glm.hpp&gt;</p><p>#include &lt;glm/gtx/string_cast.hpp&gt;</p><p>#include &lt;glm/gtx/transform.hpp&gt;</p><p>#include &lt;glm/gtx/matrix_transform_2d.hpp&gt;</p><p>#include &lt;glm/gtx/string_cast.hpp&gt;</p><p>#include &lt;glm/gtc/constants.hpp&gt;</p><p>const double DEGREES_TO_RADIANS = glm::pi&lt;float&gt;() / 180.0;</p><p>const double RADIANS_TO_DEGREES = 180.0 / glm::pi&lt;float&gt;();</p><p>glm::mat4 lookAt(glm::vec3 campos, glm::vec3 look, glm::vec3 up)</p><p>{</p><p>	//glm::mat4 unitVector = { {1,0,0,0},{0,1,0,0},{0,0,1,0},{0,0,0,1} };</p><p>	glm::vec3 zAxis = glm::normalize(campos - look);</p><p>	glm::vec3 xAxis = glm::normalize(glm::cross(up, zAxis));</p><p>	glm::vec3 yAxis = glm::normalize(glm::cross(zAxis, xAxis));</p><p>	glm::vec4 col1 = { xAxis.x,yAxis.x,zAxis.x,0 };</p><p>	glm::vec4 col2 = { xAxis.y,yAxis.y,zAxis.y,0 };</p><p>	glm::vec4 col3 = { xAxis.z,yAxis.z,zAxis.z,0 };</p><p>	glm::mat4 translation = glm::translate(glm::mat4(1.0), -campos);</p><p>	glm::mat4 rotate = { col1,col2,col3,{0,0,0,1 } };</p><p>	return rotate * translation;</p><p>}</p><p>int main()</p><p>{</p><p>	glm::vec4 local_point(4, 5, 3, 1);</p><p>	glm::mat4 Trans = glm::translate(glm::mat4(1.0f), glm::vec3(0.0f, 5.0f, 0.0f));</p><p>	glm::mat4 scale = glm::scale(glm::mat4(1.0f), glm::vec3(1.3f, 1.3f, 1.3f));</p><p>	glm::mat4 rotate=glm::rotate(glm::mat4(1.0f),glm::radians(40.f),glm::vec3(1.0f,0.f,0.f));</p><p>	rotate= glm::rotate(rotate, glm::radians(56.f), glm::vec3(0.0f, 1.f, 0.f));</p><p>	rotate = glm::rotate(rotate, glm::radians(0.f), glm::vec3(0.0f, 0.f, 1.f));</p><p>	glm::mat4 model = Trans* rotate *scale;</p><p>	glm::vec4 world_point = model * local_point;</p><p>	std::cout &lt;&lt; glm::to_string(world_point) &lt;&lt; std::endl;</p><p>}</p>]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/4545916548/ff7ba7a434fbbc8429b99f213d4365f6/image.png" />
         <pubDate>2025-10-13 05:41:29 UTC</pubDate>
         <guid>https://padlet.com/mksung89/cameraMatrix/wish/3629153500</guid>
      </item>
      <item>
         <title>5764107_오제휴</title>
         <author>ohjh6190</author>
         <link>https://padlet.com/mksung89/cameraMatrix/wish/3629153940</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/4329707195/502e627d78eaa8a4c3e917315778c8e3/image.png" />
         <pubDate>2025-10-13 05:41:51 UTC</pubDate>
         <guid>https://padlet.com/mksung89/cameraMatrix/wish/3629153940</guid>
      </item>
      <item>
         <title></title>
         <author>inyup1014</author>
         <link>https://padlet.com/mksung89/cameraMatrix/wish/3629154205</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/4329862238/44dd7d66006bfde596a88c93a3570d2a/_____58_.png" />
         <pubDate>2025-10-13 05:42:01 UTC</pubDate>
         <guid>https://padlet.com/mksung89/cameraMatrix/wish/3629154205</guid>
      </item>
      <item>
         <title>5763865_권기환</title>
         <author>rnjs498913</author>
         <link>https://padlet.com/mksung89/cameraMatrix/wish/3629154428</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/4329868293/7dc26852320fc1e6c54227b3a912a83d/_____2025_10_13_144152.png" />
         <pubDate>2025-10-13 05:42:10 UTC</pubDate>
         <guid>https://padlet.com/mksung89/cameraMatrix/wish/3629154428</guid>
      </item>
      <item>
         <title>5881375_서민기</title>
         <author></author>
         <link>https://padlet.com/mksung89/cameraMatrix/wish/3629154514</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/4545916548/7783c4aff09665e1bbb844a48a1c2cc5/image.png" />
         <pubDate>2025-10-13 05:42:15 UTC</pubDate>
         <guid>https://padlet.com/mksung89/cameraMatrix/wish/3629154514</guid>
      </item>
      <item>
         <title>5881452_오예림</title>
         <author></author>
         <link>https://padlet.com/mksung89/cameraMatrix/wish/3629155108</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/4545869758/e0b87af6032f932a9b5ca56f2a01d58b/image.png" />
         <pubDate>2025-10-13 05:42:47 UTC</pubDate>
         <guid>https://padlet.com/mksung89/cameraMatrix/wish/3629155108</guid>
      </item>
      <item>
         <title>5763973_김영인</title>
         <author></author>
         <link>https://padlet.com/mksung89/cameraMatrix/wish/3629155143</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/4546174454/83c36bb038464859c7dfaf8a76aeafdd/image.png" />
         <pubDate>2025-10-13 05:42:48 UTC</pubDate>
         <guid>https://padlet.com/mksung89/cameraMatrix/wish/3629155143</guid>
      </item>
      <item>
         <title>5764232_최영환</title>
         <author></author>
         <link>https://padlet.com/mksung89/cameraMatrix/wish/3629155634</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/4546178822/fe9c3b26347ae24dabf82de26f874fb3/_____2025_10_13_144150.png" />
         <pubDate>2025-10-13 05:43:18 UTC</pubDate>
         <guid>https://padlet.com/mksung89/cameraMatrix/wish/3629155634</guid>
      </item>
      <item>
         <title>5763882_김규태</title>
         <author></author>
         <link>https://padlet.com/mksung89/cameraMatrix/wish/3629156504</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/4546102661/76fb47a73114e1583630ae6de5e6be67/image.png" />
         <pubDate>2025-10-13 05:43:53 UTC</pubDate>
         <guid>https://padlet.com/mksung89/cameraMatrix/wish/3629156504</guid>
      </item>
      <item>
         <title>5881560 정재현</title>
         <author>ddorangii</author>
         <link>https://padlet.com/mksung89/cameraMatrix/wish/3629157361</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/4369206751/501cee39288318e57fdd0937d3a344f0/image.png" />
         <pubDate>2025-10-13 05:44:39 UTC</pubDate>
         <guid>https://padlet.com/mksung89/cameraMatrix/wish/3629157361</guid>
      </item>
      <item>
         <title>5702680_정상윤</title>
         <author></author>
         <link>https://padlet.com/mksung89/cameraMatrix/wish/3629158483</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/4546027491/8dc17d0885b362518aff36ea4ab0a606/image.png" />
         <pubDate>2025-10-13 05:45:40 UTC</pubDate>
         <guid>https://padlet.com/mksung89/cameraMatrix/wish/3629158483</guid>
      </item>
      <item>
         <title>5881560 정재현</title>
         <author>ddorangii</author>
         <link>https://padlet.com/mksung89/cameraMatrix/wish/3629183995</link>
         <description><![CDATA[<p>#define GLM_ENABLE_EXPERIMENTAL</p><p>#define GLM_SWIZZLE</p><p>#include &lt;iostream&gt;</p><p>#include &lt;glm/glm.hpp&gt;</p><p>#include &lt;glm/gtx/transform.hpp&gt;</p><p>#include &lt;glm/gtx/string_cast.hpp&gt;</p><p>#include &lt;glm/gtc/matrix_transform.hpp&gt;</p><p>int main()</p><p>{</p><p>    glm::vec4 local_point(4.0f, 5.0f, 3.0f, 1.0f);</p><p>    // Transform 구성요소</p><p>    glm::mat4 trans = glm::translate(glm::mat4(1.0f), glm::vec3(0.0f, 5.0f, 0.0f));</p><p>    glm::mat4 scale = glm::scale(glm::mat4(1.0f), glm::vec3(1.3f, 1.3f, 1.3f));</p><p>    // 회전 행렬 (X, Y, Z 순서)</p><p>    glm::mat4 rotX = glm::rotate(glm::mat4(1.0f), glm::radians(40.0f), glm::vec3(1, 0, 0));</p><p>    glm::mat4 rotY = glm::rotate(glm::mat4(1.0f), glm::radians(56.0f), glm::vec3(0, 1, 0));</p><p>    glm::mat4 rotZ = glm::rotate(glm::mat4(1.0f), glm::radians(0.0f), glm::vec3(0, 0, 1));</p><p>    glm::mat4 rot = rotZ <em> rotY </em> rotX;</p><p>    // 모델 행렬 (S &gt;R &gt;T 순 적용)</p><p>    glm::mat4 model = trans <em> rot </em> scale;</p><p>    // 로컬 좌표를 월드 좌표로 변환</p><p>    glm::vec4 world_point = model * local_point;</p><p>    std::cout &lt;&lt; glm::to_string(world_point) &lt;&lt; std::endl;</p><p>    return 0;</p><p>}</p><p><br/></p>]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/4369206751/083b12e6985f9677b547979767e6d256/image.png" />
         <pubDate>2025-10-13 06:03:23 UTC</pubDate>
         <guid>https://padlet.com/mksung89/cameraMatrix/wish/3629183995</guid>
      </item>
      <item>
         <title>5881270_김지운</title>
         <author></author>
         <link>https://padlet.com/mksung89/cameraMatrix/wish/3629245319</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/4545926559/c65a08388a4bf5878c5808306068557f/_____2025_10_13_154727.png" />
         <pubDate>2025-10-13 06:47:54 UTC</pubDate>
         <guid>https://padlet.com/mksung89/cameraMatrix/wish/3629245319</guid>
      </item>
      <item>
         <title>5645974_김재현</title>
         <author>knite7989</author>
         <link>https://padlet.com/mksung89/cameraMatrix/wish/3629260400</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/4329683169/6ebbcfe144ee47e52abc863b924ba7ce/_____2025_10_13_155515.png" />
         <pubDate>2025-10-13 06:56:00 UTC</pubDate>
         <guid>https://padlet.com/mksung89/cameraMatrix/wish/3629260400</guid>
      </item>
      <item>
         <title>5820658_전형진</title>
         <author></author>
         <link>https://padlet.com/mksung89/cameraMatrix/wish/3632041703</link>
         <description><![CDATA[<pre><code>// main.cpp
// 5820658 전형진, 2025-10-15
// Calculate the point-conversion of model in world space

#define GLM_ENABLE_EXPERIMENTAL

#include &lt;iostream&gt;
#include &lt;glm/glm.hpp&gt;
#include &lt;glm/gtx/matrix_transform_2d.hpp&gt;
#include &lt;glm/gtx/string_cast.hpp&gt;


#define VEC3_AXIS_X glm::vec3(1.0f, 0.0f, 0.0f)
#define VEC3_AXIS_Y glm::vec3(0.0f, 1.0f, 0.0f)
#define VEC3_AXIS_Z glm::vec3(0.0f, 0.0f, 1.0f)
#define MAT4X4_ID glm::mat4x4(1.0f)


float modRot[3]; // rotations of model
glm::mat4x4 rotMat; // rotation matrix of model
glm::vec3 vec_modSc, vec_modTrans; // scale vector &amp; translation vector of model
glm::vec4 point_local, point_worldSpace;
glm::mat4x4 modMat; // final matrix of model


// program entry point
int main()
{
	modRot[0] = 40.0f; modRot[1] = 56.0f; modRot[2] = 0.0f; // assign rotations of model; X,Y,Z
	vec_modSc = glm::vec3(1.3f, 1.3f, 1.3f); // assign the scale vector of model
	vec_modTrans = glm::vec3(0.0f, 5.0f, 0.0f); // assign the translation vector of model

	// get the rotation matrix of model
	rotMat = glm::rotate(MAT4X4_ID, glm::radians(modRot[0]), VEC3_AXIS_X);
	rotMat = glm::rotate(rotMat, glm::radians(modRot[1]), VEC3_AXIS_Y);
	rotMat = glm::rotate(rotMat, glm::radians(modRot[2]), VEC3_AXIS_Z);

	glm::mat4x4 scaleMat = glm::scale(MAT4X4_ID, vec_modSc); // get the scale matrix of model
	glm::mat4x4 transMat = glm::translate(MAT4X4_ID, vec_modTrans); // get the translation matrix of model

	glm::mat4x4 modMat = (transMat *scaleMat *rotMat); // get the final matrix of model

	point_local = glm::vec4(4.0f, 5.0f, 3.0f, 1.0f); // assign the local point of model
	std::cout &lt;&lt; "\nPoint of model in world space: " &lt;&lt; glm::to_string(modMat *point_local); // print the final answer

	// END OF PROGRAM
	std::cout &lt;&lt; "\n5820658 전형진 과제 끝." &lt;&lt; std::endl; // E.O.P. printing identifier
	return 0; // end program
}
</code></pre><p><br/></p>]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/4557252308/d92d201a11c78a958390ccf6b3e5f6ed/image.png" />
         <pubDate>2025-10-14 16:27:13 UTC</pubDate>
         <guid>https://padlet.com/mksung89/cameraMatrix/wish/3632041703</guid>
      </item>
      <item>
         <title>5646139_설문관</title>
         <author>hyoseong01</author>
         <link>https://padlet.com/mksung89/cameraMatrix/wish/3632562764</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/4330622755/95ef83d14a90c60a00aca08d6833fdd5/_____2025_10_15_091436.png" />
         <pubDate>2025-10-15 00:15:14 UTC</pubDate>
         <guid>https://padlet.com/mksung89/cameraMatrix/wish/3632562764</guid>
      </item>
   </channel>
</rss>
