<?xml version="1.0"?>
<rss version="2.0">
   <channel>
      <title>프로젝션 행렬 구하기 by Mankyu Sung</title>
      <link>https://padlet.com/mksung89/project</link>
      <description>Made with serendipity</description>
      <language>en-us</language>
      <pubDate>2020-11-04 08:05:05 UTC</pubDate>
      <lastBuildDate>2025-10-30 11:20:33 UTC</lastBuildDate>
      <webMaster>hello@padlet.com</webMaster>
      <image>
         <url></url>
      </image>
      <item>
         <title>5645974_김재현</title>
         <author></author>
         <link>https://padlet.com/mksung89/project/wish/3633558012</link>
         <description><![CDATA[<pre><code class="language-cpp">#define GLM_ENABLE_EXPERIMENTAL

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

/*
Width = 780
Height = 750
FovY = 45.0f
NearZ = 0.1f;
FarZ = 500.0f;
*/

glm::mat4 perspective(float fovy, float aspect, float near, float far);

int main()
{
	float width = 780, height = 750, fov_y = 45.0f, near_z = 0.1f, far_z = 500.0f;
	
	glm::mat4 projection_matrix = perspective(fov_y, width/height, near_z, far_z);

	std::cout &lt;&lt; glm::to_string(projection_matrix) &lt;&lt; "\n";

	return 0;
}

glm::mat4 perspective(float fovy, float aspect, float near, float far)
{
	glm::mat4 pro_matrix =
	{
		{ 1/(aspect * std::tan(glm::radians(fovy/2))), 0, 0, 0 },
		{ 0, 1 / std::tan(glm::radians(fovy/2)), 0, 0 },
		{ 0 , 0, -((far + near) / (far - near)), -1 },
		{ 0, 0, -2.0f*((far*near)/(far-near)), 0 }
	};
	return pro_matrix;
}</code></pre>]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/4563300035/eb97d405e752dbdd74400fe0f8b02249/_____2025_10_15_195921.png" />
         <pubDate>2025-10-15 11:00:55 UTC</pubDate>
         <guid>https://padlet.com/mksung89/project/wish/3633558012</guid>
      </item>
      <item>
         <title>5763848 강승우</title>
         <author>gangseungu652</author>
         <link>https://padlet.com/mksung89/project/wish/3633562737</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 perspective(float fovY, float aspect, float near, float far);</p><p>int main() {</p><p>    float width = 780.0f;</p><p>    float height = 750.0f;</p><p>    float fovY = 45.0f;</p><p>    fovY = glm::radians(fovY);</p><p>    float nearZ = 0.1f;</p><p>    float farZ = 500.0f;</p><p>    float aspect = width / height;</p><p>    </p><p>    glm::mat4 ppmat = perspective(fovY, aspect, nearZ, farZ);</p><p>    </p><p>    std::cout &lt;&lt; glm::to_string(ppmat) &lt;&lt; std::endl;</p><p>    return 0;</p><p>}</p><p>glm::mat4 perspective(float fovY, float aspect, float near, float far) {</p><p>    glm::mat4 projection_matrix(0.0f);</p><p>    projection_matrix[0][0] = 1.0f / (aspect * glm::tan(fovY / 2.0f));</p><p>    projection_matrix[1][1] = 1.0f / (glm::tan(fovY / 2.0f));</p><p>    projection_matrix[2][2] = -(far + near) / (far - near);</p><p>    projection_matrix[2][3] = -1.0f;</p><p>    projection_matrix[3][2] = -(2.0f <em> far </em> near) / (far - near);</p><p>    return projection_matrix;</p><p>}</p><p><br/></p>]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/4329645634/5308744ecd9f9ee63928ac014ee15eb5/image.png" />
         <pubDate>2025-10-15 11:04:49 UTC</pubDate>
         <guid>https://padlet.com/mksung89/project/wish/3633562737</guid>
      </item>
      <item>
         <title>5763073_김영인</title>
         <author></author>
         <link>https://padlet.com/mksung89/project/wish/3633825872</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/gtx/dual_quaternion.hpp&gt;</p><p>#include &lt;glm/mat4x4.hpp&gt;</p><p>glm::mat4 PersPective(float fovY, float aspect, float near, float far)</p><p>{</p><p>	glm::mat4 ps_arr(0.0f);</p><p>    ps_arr[0][0] = 1.0f / (aspect * glm::tan(fovY / 2.0f));</p><p>    ps_arr[1][1] = 1.0f / (glm::tan(fovY / 2.0f));</p><p>    ps_arr[2][2] = -(far + near) / (far - near);</p><p>    ps_arr[2][3] = -1.0f;</p><p>    ps_arr[3][2] = -(2.0f <em> far </em> near) / (far - near);</p><p>	return ps_arr;</p><p>}</p><p>int main()</p><p>{</p><p>    float w = 780.0f;</p><p>    float h = 750.0f;</p><p>    float fovY = 45.0f;</p><p>    fovY = glm::radians(fovY);</p><p>    float Znear = 0.1f;</p><p>    float Zfar = 500.0f;</p><p>    float aspect = w / h;</p><p>    glm::mat4 ps = PersPective(fovY, aspect, Znear, Zfar);</p><p>    std::cout &lt;&lt; glm::to_string(ps);</p><p>    return 0;</p><p>}</p>]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/4564364281/efcab2f0fdd675dfb33b54a3b542b7fe/image.png" />
         <pubDate>2025-10-15 14:00:01 UTC</pubDate>
         <guid>https://padlet.com/mksung89/project/wish/3633825872</guid>
      </item>
      <item>
         <title>5764232_최영환</title>
         <author></author>
         <link>https://padlet.com/mksung89/project/wish/3633965244</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>/*</p><p>width = 780</p><p>height = 750</p><p>fovY = 45</p><p>nearz = 0.1</p><p>farz = 500</p><p>*/</p><p>glm::mat4 perspective(float fovy, float aspect, float near, float far)</p><p>{</p><p>    glm::mat4 projection(0.0f);</p><p>    float a = 1.0f / (aspect * tan(glm::radians(fovy) / 2.0f));</p><p>    float b = 1.0f / tan(glm::radians(fovy) / 2.0f);</p><p>    float c = -((far + near) / (far - near));</p><p>    float d = -(2.0f <em> far </em> near / (far - near));</p><p>    projection[0][0] = a;</p><p>    projection[1][1] = b;</p><p>    projection[2][2] = c;</p><p>    projection[2][3] = -1.0f;</p><p>    projection[3][2] = d;</p><p>    return projection;</p><p>}</p><p>int main()</p><p>{</p><p>    float width = 780.0f;</p><p>    float height = 750.0f;</p><p>    float fovY = 45.0f;</p><p>    float nearz = 0.1f;</p><p>    float farz = 500.0f;</p><p>    float aspect = width / height;</p><p>    glm::mat4 perspectiveMat = perspective(fovY, aspect, nearz, farz);</p><p>    std::cout &lt;&lt; glm::to_string(perspectiveMat) &lt;&lt; std::endl;</p><p>    return 0;</p><p>}</p><p><br/></p>]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/4564783922/58bb83fb5073ccf3f57c1da483ec32d0/_____2025_10_16_000805.png" />
         <pubDate>2025-10-15 15:09:41 UTC</pubDate>
         <guid>https://padlet.com/mksung89/project/wish/3633965244</guid>
      </item>
      <item>
         <title>5702680_정상윤</title>
         <author></author>
         <link>https://padlet.com/mksung89/project/wish/3636723231</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>glm::mat4 Perspective(float fovy, float aspect, float near, float far) {</p><p>	return glm::mat4{ {1 / (aspect  glm::tan(glm::radians(fovy / 2))),0,0,0},{0,1 / tan(glm::radians(fovy / 2)),0,0},{0,0,-(far + near) / (far - near),-1},{0,0,-2  (far * near) / (far - near),0} };</p><p>}</p><p>int main()</p><p>{</p><p>	std::cout &lt;&lt; glm::to_string(Perspective(45.f, 780.f / 750.f, 0.1f, 500.f)) &lt;&lt; std::endl;</p><p>}</p>]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/4575124639/dbb0634a12f44d9ed43d477520498dce/image.png" />
         <pubDate>2025-10-17 01:31:16 UTC</pubDate>
         <guid>https://padlet.com/mksung89/project/wish/3636723231</guid>
      </item>
      <item>
         <title>5764186_정현욱</title>
         <author></author>
         <link>https://padlet.com/mksung89/project/wish/3638165237</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 perspective(float fovY, float aspect, float near, float far);</p><p>int main() {</p><p>float width = 780.0f;</p><p>float height = 750.0f;</p><p>float fovY = 45.0f;</p><p>fovY = glm::radians(fovY);</p><p>float nearZ = 0.1f;</p><p>float farZ = 500.0f;</p><p>float aspect = width / height;</p><p><br/></p><p>glm::mat4 ppmat = perspective(fovY, aspect, nearZ, farZ);</p><p><br/></p><p>std::cout &lt;&lt; glm::to_string(ppmat) &lt;&lt; std::endl;</p><p>return 0;</p><p>}</p><p>glm::mat4 perspective(float fovY, float aspect, float near, float far) {</p><p>glm::mat4 projection_matrix(0.0f);</p><p>projection_matrix[0][0] = 1.0f / (aspect * glm::tan(fovY / 2.0f));</p><p>projection_matrix[1][1] = 1.0f / (glm::tan(fovY / 2.0f));</p><p>projection_matrix[2][2] = -(far + near) / (far - near);</p><p>projection_matrix[2][3] = -1.0f;</p><p>projection_matrix[3][2] = -(2.0f <em>far </em>near) / (far - near);</p><p>return projection_matrix;</p><p>}</p><p><br></p>]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/4580412735/0ad5a5b551618adbff96423a0b5d666b/image.png" />
         <pubDate>2025-10-17 22:20:35 UTC</pubDate>
         <guid>https://padlet.com/mksung89/project/wish/3638165237</guid>
      </item>
      <item>
         <title>5881327_박인엽</title>
         <author>inyup1014</author>
         <link>https://padlet.com/mksung89/project/wish/3638366596</link>
         <description><![CDATA[<p>glm::mat4 perspective(float fovy, float aspect, float near, float far)</p><p>{</p><p>	glm::mat4 projection_matrix(0.0f);</p><p>	projection_matrix[0][0] = 1.0f / (aspect * tan(glm::radians(fovy) / 2.0f));</p><p>	projection_matrix[1][1] = 1.0f / tan(glm::radians(fovy) / 2.0f);</p><p>	projection_matrix[2][2] = -((far + near) / (far - near));</p><p>	projection_matrix[2][3] = -1.0f;</p><p>	projection_matrix[3][2] = -(2.0f <em> far </em> near / (far - near));</p><p>	return projection_matrix;</p><p>}</p><p>int main()</p><p>{</p><p>	float width = 780.0f;</p><p>	float height = 750.0f;</p><p>	float fovY = 45.0f;</p><p>	float nearz = 0.1f;</p><p>	float farz = 500.0f;</p><p>	float aspect = width / height;</p><p>	glm::mat4 pm = perspective(fovY, aspect, nearz, farz);</p><p>	std::cout &lt;&lt; glm::to_string(pm) &lt;&lt; std::endl;</p><p>	return 0;</p><p>}</p>]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/4329862238/e4a6f079ea3af2cec8de1f31f865e74d/_____59_.png" />
         <pubDate>2025-10-18 06:15:16 UTC</pubDate>
         <guid>https://padlet.com/mksung89/project/wish/3638366596</guid>
      </item>
      <item>
         <title>5674201_차승재</title>
         <author></author>
         <link>https://padlet.com/mksung89/project/wish/3638433655</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 Perspective(float fovY, float aspect, float nearZ, float farZ)</p><p>{</p><p>    float f = 1.0f / tan(fovY / 2.0f);</p><p>    glm::mat4 result(0.0f);</p><p>    result[0][0] = f / aspect;</p><p>    result[1][1] = f;</p><p>    result[2][2] = (farZ + nearZ) / (nearZ - farZ);</p><p>    result[2][3] = -1.0f;</p><p>    result[3][2] = (2.0f <em> farZ </em> nearZ) / (nearZ - farZ);</p><p>    return result;</p><p>}</p><p>int main()</p><p>{</p><p>    float width = 780.0f;</p><p>    float height = 750.0f;</p><p>    float fovY = glm::radians(45.0f);</p><p>    float nearZ = 0.1f;</p><p>    float farZ = 500.0f;</p><p>    float aspect = width / height;</p><p>    glm::mat4 proj = Perspective(fovY, aspect, nearZ, farZ);</p><p>    std::cout &lt;&lt; glm::to_string(proj) &lt;&lt; std::endl;</p><p>    return 0;</p><p>}</p>]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/4581662172/c9b14e657c058ed5167496f3235b1200/__.PNG" />
         <pubDate>2025-10-18 08:19:49 UTC</pubDate>
         <guid>https://padlet.com/mksung89/project/wish/3638433655</guid>
      </item>
      <item>
         <title>5646129_설문관</title>
         <author>hyoseong01</author>
         <link>https://padlet.com/mksung89/project/wish/3638936563</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>glm::mat4 perspective(float fovy, float aspect, float near, float far) </p><p>{</p><p>	glm::mat4 pro_mat(0.0f);</p><p>	pro_mat[0][0] = 1.0f / (aspect * tan(glm::radians(fovy) / 2.0f));</p><p>	pro_mat[1][1] = 1.0f / tan(glm::radians(fovy) / 2.0f);</p><p>	pro_mat[2][2] = -(far + near) / (far - near);</p><p>	pro_mat[2][3] = -1.0f;</p><p>	pro_mat[3][2] = -2.0f * (far *  near) / (far - near);</p><p>	return pro_mat;</p><p>}</p><p>int main()</p><p>{</p><p>	float width = 780.0f;</p><p>	float height = 750.0f;</p><p>	float fovY = 45.0f;</p><p>	float nearZ = 0.1f;</p><p>	float farZ = 500.0f;</p><p>	float aspect = width / height;</p><p>	glm::mat4 p_mat = perspective(fovY, aspect, nearZ, farZ);</p><p>	std::cout &lt;&lt; glm::to_string(p_mat) &lt;&lt; std::endl;</p><p>}</p>]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/4330622755/b0764462fdf512930d031d859604f4e6/_____2025_10_19_062938.png" />
         <pubDate>2025-10-18 21:37:08 UTC</pubDate>
         <guid>https://padlet.com/mksung89/project/wish/3638936563</guid>
      </item>
      <item>
         <title>5764107_오제휴</title>
         <author>ohjh6190</author>
         <link>https://padlet.com/mksung89/project/wish/3639125883</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>glm::mat4 perspective(float fovY, float aspect, float near, float far) {</p><p>	glm::mat4 p(0.0f);</p><p>	p[0][0] = 1.0f / (aspect * glm::tan(fovY / 2.0f));</p><p>	p[1][1] = 1.0f / glm::tan(fovY / 2.0f);</p><p>	p[2][2] = -((far + near) / (far - near));</p><p>	p[3][2] = -2.0f <em> ((far </em> near) / (far - near));</p><p>	p[2][3] = -1.0f;</p><p>	return p;</p><p>}</p><p>int main()</p><p>{</p><p>	float width = 780.0;</p><p>	float height = 750.0;</p><p>	float fovy = 45.0;</p><p>	float near = 0.1;</p><p>	float far = 500.0;</p><p>	float aspect = width / height;</p><p>	float fovY = glm::radians(fovy);</p><p>	</p><p>	glm::mat4 projection = perspective(fovY, aspect, near, far);</p><p>	std::cout &lt;&lt; glm::to_string(projection) &lt;&lt; std::endl;</p><p>	return 0;</p><p>}</p>]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/4329707195/6003245cd9de4ba73d3a11fce3f69ab5/image.png" />
         <pubDate>2025-10-19 06:04:21 UTC</pubDate>
         <guid>https://padlet.com/mksung89/project/wish/3639125883</guid>
      </item>
      <item>
         <title>5764095_오도혁</title>
         <author></author>
         <link>https://padlet.com/mksung89/project/wish/3639372506</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 Perspective(float fov_y, float aspect, float near, float far);</p><p>int main()</p><p>{</p><p>	float width = 780.0f;</p><p>	float height = 750.0f;</p><p>	float fov_y = 45.0f;</p><p>	fov_y = glm::radians(fov_y);</p><p>	float near_z = 0.1f;</p><p>	float far_z = 500.0f;</p><p>	float aspect = width / height;</p><p>	glm::mat4 pro_mat = Perspective(fov_y, aspect, near_z, far_z);</p><p>	std::cout &lt;&lt; glm::to_string(pro_mat) &lt;&lt; std::endl;</p><p>	return 0;</p><p>}</p><p>glm::mat4 Perspective(float fov_y, float aspect, float near, float far)</p><p>{</p><p>	glm::mat4 pro_mat(0);</p><p>	pro_mat[0][0] = 1.0f / (aspect * glm::tan(fov_y / 2.0f));</p><p>	pro_mat[1][1] = 1.0f / (glm::tan(fov_y / 2.0f));</p><p>	pro_mat[2][2] = -(far + near) / (far - near);</p><p>	pro_mat[2][3] = -1.0f;</p><p>	pro_mat[3][2] = -(2.0f <em> far</em> near) / (far - near);</p><p>	return pro_mat;</p><p>}</p><p><br/></p>]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/4586041519/45bdb96942620542ccbfa4179bfb1d88/__.png" />
         <pubDate>2025-10-19 13:19:36 UTC</pubDate>
         <guid>https://padlet.com/mksung89/project/wish/3639372506</guid>
      </item>
      <item>
         <title>5763865_권기환</title>
         <author>rnjs498913</author>
         <link>https://padlet.com/mksung89/project/wish/3640197644</link>
         <description><![CDATA[<p><br>#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/gtx/dual_quaternion.hpp&gt;</p><p>#include &lt;glm/mat4x4.hpp&gt;</p><p>glm::mat4 PersPective(float fovY, float aspect, float near, float far)</p><p>{</p><p>glm::mat4 ps_arr(0.0f);</p><p>ps_arr[0][0] = 1.0f / (aspect * glm::tan(fovY / 2.0f));</p><p>ps_arr[1][1] = 1.0f / (glm::tan(fovY / 2.0f));</p><p>ps_arr[2][2] = -(far + near) / (far - near);</p><p>ps_arr[2][3] = -1.0f;</p><p>ps_arr[3][2] = -(2.0f <em>far </em>near) / (far - near);</p><p>return ps_arr;</p><p>}</p><p>int main()</p><p>{</p><p>float w = 780.0f;</p><p>float h = 750.0f;</p><p>float fovY = 45.0f;</p><p>fovY = glm::radians(fovY);</p><p>float Znear = 0.1f;</p><p>float Zfar = 500.0f;</p><p>float aspect = w / h;</p><p>glm::mat4 ps = PersPective(fovY, aspect, Znear, Zfar);</p><p>std::cout &lt;&lt; glm::to_string(ps);</p><p>return 0;</p><p>}</p>]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/4588963985/368f5ba8273a13e14b38c37f6eb5ea51/IMG_0039.jpeg" />
         <pubDate>2025-10-20 03:22:32 UTC</pubDate>
         <guid>https://padlet.com/mksung89/project/wish/3640197644</guid>
      </item>
      <item>
         <title>5763882_김규태</title>
         <author></author>
         <link>https://padlet.com/mksung89/project/wish/3640258174</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><br/></p><p>glm::mat4 perspective(float fovy, float aspect, float near, float far)</p><p>{</p><p>    glm::mat4 projection(0.0f);</p><p>    float a = 1.0f / (aspect * tan(glm::radians(fovy) / 2.0f));</p><p>    float b = 1.0f / tan(glm::radians(fovy) / 2.0f);</p><p>    float c = -((far + near) / (far - near));</p><p>    float d = -(2.0f <em> far </em> near / (far - near));</p><p>    projection[0][0] = a;</p><p>    projection[1][1] = b;</p><p>    projection[2][2] = c;</p><p>    projection[2][3] = -1.0f;</p><p>    projection[3][2] = d;</p><p>    return projection;</p><p>}</p><p>int main()</p><p>{</p><p>    float width = 780.0f;</p><p>    float height = 750.0f;</p><p>    float fovY = 45.0f;</p><p>    float nearz = 0.1f;</p><p>    float farz = 500.0f;</p><p>    float aspect = width / height;</p><p>    glm::mat4 perspectiveMat = perspective(fovY, aspect, nearz, farz);</p><p>    std::cout &lt;&lt; glm::to_string(perspectiveMat) &lt;&lt; std::endl;</p><p>    return 0;</p><p>}</p>]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/4589113804/ebee28971447c4896bbc1c23d9fa081e/image.png" />
         <pubDate>2025-10-20 04:05:15 UTC</pubDate>
         <guid>https://padlet.com/mksung89/project/wish/3640258174</guid>
      </item>
      <item>
         <title>5881452_오예림</title>
         <author></author>
         <link>https://padlet.com/mksung89/project/wish/3655555772</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>glm::mat4 MakePerspective(float fovY, float aspect, float zNear, float zFar)</p><p>{</p><p>    glm::mat4 mat(0.0f);</p><p>    float tanHalf = glm::tan(fovY * 0.5f);</p><p>    float invTan = 1.0f / tanHalf;</p><p>    mat[0][0] = invTan / aspect;</p><p>    mat[1][1] = invTan;</p><p>    mat[2][2] = -(zFar + zNear) / (zFar - zNear);</p><p>    mat[2][3] = -1.0f;</p><p>    mat[3][2] = -(2.0f <em> zFar </em> zNear) / (zFar - zNear);</p><p>    return mat;</p><p>}</p><p>int main()</p><p>{</p><p>    float width = 780.0f;</p><p>    float height = 750.0f;</p><p>    float fovY = glm::radians(45.0f);</p><p>    float nearZ = 0.1f;</p><p>    float farZ = 500.0f;</p><p>    float aspect = width / height;</p><p>    glm::mat4 proj = MakePerspective(fovY, aspect, nearZ, farZ);</p><p>    std::cout &lt;&lt; glm::to_string(proj) &lt;&lt; std::endl;</p><p>    return 0;</p><p>}</p><p><br/></p>]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/4642075149/7d42adb8b55b01c25124a54e2ad38e82/image.png" />
         <pubDate>2025-10-29 01:04:54 UTC</pubDate>
         <guid>https://padlet.com/mksung89/project/wish/3655555772</guid>
      </item>
      <item>
         <title>5881634_황윤희</title>
         <author></author>
         <link>https://padlet.com/mksung89/project/wish/3655556379</link>
         <description><![CDATA[<p>#define GLM_ENABLE_EXPERIMENTAL</p><p>#define GLM_SIWZZLE</p><p><br/></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/gtx/dual_quaternion.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><br/></p><p>glm::mat4 perspective(float fovy, float aspect, float near, float far) {</p><p>	glm::mat4 projection(0.0f);</p><p>	projection[0][0] = 1.0f / (aspect * glm::tan(fovy / 2.0f));</p><p>	projection[1][1] = 1.0f / glm::tan(fovy / 2);</p><p>	projection[2][2] = -(far + near) / (far - near);</p><p>	projection[2][3] = -1.0f;</p><p>	projection[3][2] = -(2.0f <em> far </em> near) / (far - near);</p><p>	return projection;</p><p>};</p><p><br/></p><p>int main()</p><p>{</p><p>	float width = 780.0f;</p><p>	float height = 750.0f;</p><p>	float fovY = 45.0f;</p><p>	fovY = glm::radians(fovY);</p><p>	float nearZ = 0.1f;</p><p>	float farZ = 500.0f;</p><p>	float aspect = width / height;</p><p>	</p><p>	glm::mat4 projection_metrix = perspective(fovY, aspect, nearZ, farZ);</p><p>	std::cout &lt;&lt; glm::to_string(projection_metrix) &lt;&lt; std::endl;</p><p>	return 0;</p><p>}</p>]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/4642077649/2df17681e604d04d3221dae2087a45b5/image.png" />
         <pubDate>2025-10-29 01:05:10 UTC</pubDate>
         <guid>https://padlet.com/mksung89/project/wish/3655556379</guid>
      </item>
      <item>
         <title>5763848 강승우</title>
         <author></author>
         <link>https://padlet.com/mksung89/project/wish/3655574542</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 perspective(float fovY, float aspect, float near, float far);</p><p>int main() {</p><p>    float width = 780.0f;</p><p>    float height = 750.0f;</p><p>    float fovY = 45.0f;</p><p>    float nearZ = 0.1f;</p><p>    float farZ = 500.0f;</p><p>    float aspect = width / height;</p><p>    </p><p>    glm::mat4 ppmat = perspective(fovY, aspect, nearZ, farZ);</p><p>    </p><p>    std::cout &lt;&lt; glm::to_string(ppmat) &lt;&lt; std::endl;</p><p>    return 0;</p><p>}</p><p>glm::mat4 perspective(float fovY, float aspect, float near, float far) {</p><p>    glm::mat4 projection_matrix(0.0f);</p><p>    projection_matrix[0][0] = 1.0f / (aspect * glm::tan(glm::radians(fovY) / 2.0f));</p><p>    projection_matrix[1][1] = 1.0f / (glm::tan(glm::radians(fovY) / 2.0f));</p><p>    projection_matrix[2][2] = -(far + near) / (far - near);</p><p>    projection_matrix[2][3] = -1.0f;</p><p>    projection_matrix[3][2] = -(2.0f <em> far </em> near) / (far - near);</p><p>    return projection_matrix;</p><p>}</p><p><br/></p>]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/4642084725/e0936630e207d1e7da11437fd46f04fb/image.png" />
         <pubDate>2025-10-29 01:14:14 UTC</pubDate>
         <guid>https://padlet.com/mksung89/project/wish/3655574542</guid>
      </item>
      <item>
         <title>5820553_이보은</title>
         <author></author>
         <link>https://padlet.com/mksung89/project/wish/3655576126</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>//perspective 행렬 </p><p>glm::mat4 perspective(float fovy, float aspect, float near, float far)</p><p>{</p><p>    glm::mat4 pers(0.0f);</p><p>    pers[0][0] = 1.0f / (aspect * tan(glm::radians(fovy) / 2.0f));</p><p>    pers[1][1] = 1.0f / tan(glm::radians(fovy) / 2.0f);</p><p>    pers[2][2] = -(fovy + near / fovy - near);</p><p>    pers[2][3] = -1.0f;</p><p>    pers[3][2] = -2 <em> (fovy </em> near / fovy - near);</p><p>    return pers;</p><p>}</p><p>int main()</p><p>{</p><p>    float degree=45.0f;</p><p>    float Width = 780.0f;</p><p>    float Height = 750.0f;</p><p>    float FovY = degree;</p><p>    float NearZ = 0.1f;</p><p>    float FarZ = 500.0f;</p><p>    float aspect = Width / Height;</p><p>    glm::mat4 perspectiveMat= perspective(FovY, aspect, NearZ, FarZ);</p><p>    std::cout &lt;&lt; glm::to_string(perspectiveMat) &lt;&lt; std::endl;</p><p>    return 0;</p><p>}</p><p><br/></p>]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/4642167349/452d86b7ff9fef3498afb8472a1c4224/image.png" />
         <pubDate>2025-10-29 01:15:00 UTC</pubDate>
         <guid>https://padlet.com/mksung89/project/wish/3655576126</guid>
      </item>
      <item>
         <title>5881560 정재현</title>
         <author>ddorangii</author>
         <link>https://padlet.com/mksung89/project/wish/3655577178</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 perspective(float fovY, float aspect, float near, float far);</p><p>int main() {</p><p>    float width = 780.0f;</p><p>    float height = 750.0f;</p><p>    float fovY = 45.0f;</p><p>    float nearZ = 0.1f;</p><p>    float farZ = 500.0f;</p><p>    float aspect = width / height;</p><p>    glm::mat4 ppmat = perspective(fovY, aspect, nearZ, farZ);</p><p>    std::cout &lt;&lt; "Projection Matrix:\n" &lt;&lt; glm::to_string(ppmat) &lt;&lt; std::endl;</p><p>    return 0;</p><p>}</p><p>glm::mat4 perspective(float fovY, float aspect, float near, float far) {</p><p>    glm::mat4 projection_matrix(0.0f);</p><p>    // 도를 라디안으로 내부에서 변환하도록 수정 적용</p><p>    float rad = glm::radians(fovY);</p><p>    float t = glm::tan(rad * 0.5f);</p><p>    float range = far - near;</p><p>    projection_matrix[0][0] = 1.0f / (aspect * t);</p><p>    projection_matrix[1][1] = 1.0f / t;</p><p>    projection_matrix[2][2] = -(far + near) / range;</p><p>    projection_matrix[2][3] = -1.0f;</p><p>    projection_matrix[3][2] = -(2.0f <em> far </em> near) / range;</p><p>    return projection_matrix;</p><p>}</p><p><br/></p>]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/4369206751/c577a607eaa926461e60e0cccad743c1/image.png" />
         <pubDate>2025-10-29 01:15:29 UTC</pubDate>
         <guid>https://padlet.com/mksung89/project/wish/3655577178</guid>
      </item>
      <item>
         <title>5881603 최인경</title>
         <author></author>
         <link>https://padlet.com/mksung89/project/wish/3655586109</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/matrix_transform.hpp&gt;</p><p>// 가로 : 780</p><p>// 높이 : 750</p><p>// fied of view y : 45</p><p>// NearZ : 0.1</p><p>// FarZ : 500</p><p>int main()</p><p>{</p><p>	float aspect = 780.0 / 750.0;</p><p>	float fov_y = 45.0;</p><p>	float Near_Z = 0.1;</p><p>	float Far_Z = 500.0;</p><p>	// perspective 함수는 radian으로 받음.</p><p>	// fov_y는 degree이기 때문에 radian으로 변환해야함.</p><p>	// mat perspective ( fov_y, 종횡비, near, far );</p><p>	glm::mat4 projectionMatrix = glm::perspective</p><p>	(</p><p>		glm::radians(fov_y),</p><p>		aspect,</p><p>		Near_Z,</p><p>		Far_Z</p><p>	);</p><p>	std::cout &lt;&lt; glm::to_string(projectionMatrix) &lt;&lt; std::endl;</p><p>}</p>]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/4642077196/b53fd89098d35c49eefe20771000e644/image.png" />
         <pubDate>2025-10-29 01:19:28 UTC</pubDate>
         <guid>https://padlet.com/mksung89/project/wish/3655586109</guid>
      </item>
      <item>
         <title>5763908_김동선</title>
         <author></author>
         <link>https://padlet.com/mksung89/project/wish/3655664694</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/gtx/dual_quaternion.hpp&gt;</p><p>#include &lt;glm/mat4x4.hpp&gt;</p><p>//PDF p.71 perspective projection matrix - 4x4</p><p>//fovY 는 dgree 로 들어가니, main 에 radiant 를 추가할것</p><p>glm::mat4 Perspective(float fovY, float aspect, float near, float far) {</p><p>	glm::mat4 Pmat(0.0f);</p><p>	Pmat[0][0] = 1.0f / (aspect * glm::tan(fovY / 2.0f));</p><p>	Pmat[1][1] = 1.0f / glm::tan(fovY / 2);</p><p>	Pmat[2][2] = -(far + near) / (far - near);</p><p>	Pmat[2][3] = -1.0f;</p><p>	Pmat[3][2] = -(2.0f <em> far </em> near) / (far - near);</p><p>	return Pmat;</p><p>}</p><p>int main() {</p><p>	//width - 780.0f height - 750.0f</p><p>	float width = 780.0f;</p><p>	float height = 750.0f;</p><p>	float fovY = 45.0f;</p><p>	fovY = glm::radians(fovY); //fovY 를 dgree 로 받기에 radiant 사용할 것: 교수님</p><p>	float nearZ = 0.1f;</p><p>	float farZ = 500.0f;</p><p>	float aspect = width / height;</p><p>	glm::mat4 perspective_projection_metrix = Perspective(fovY, aspect, nearZ, farZ);</p><p>	std::cout &lt;&lt; glm::to_string(perspective_projection_metrix) &lt;&lt; std::endl;</p><p>	return 0;</p><p>}</p><p><br/></p>]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/4641792610/4c0466dd20e7d79977b44ffa48760c4f/_____2025_10_29_105622.png" />
         <pubDate>2025-10-29 01:57:01 UTC</pubDate>
         <guid>https://padlet.com/mksung89/project/wish/3655664694</guid>
      </item>
      <item>
         <title>5763939 김민성</title>
         <author></author>
         <link>https://padlet.com/mksung89/project/wish/3655747947</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>glm::mat4 Perspective(float fovy, float aspect, float near, float far) {</p><p>	glm::mat4 ps_arr(0.0f);</p><p>	ps_arr[0][0] = 1.0f / (aspect * tan(fovy / 2.0f));</p><p>	ps_arr[1][1] = 1.0f / (tan(fovy / 2.0f));</p><p>	ps_arr[2][2] = -(far + near) / (far - near);</p><p>	ps_arr[2][3] = -1.0f;</p><p>	ps_arr[3][2] = -(2.0f <em> far </em> near) / (far - near);</p><p>	return ps_arr;</p><p>}</p><p>int main() {</p><p>	float w = 780;</p><p>	float h = 750;</p><p>	float fovy = 45.0f;</p><p>	fovy = glm::radians(fovy);</p><p>	float nearz = 0.1f;</p><p>	float farz = 500.0f;</p><p>	float aspect = w / h;</p><p>	glm::mat4 ps = Perspective(fovy, aspect, nearz, farz);</p><p>	std::cout &lt;&lt; glm::to_string (ps);</p><p>	return 0;</p><p>}</p>]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/4642493588/9dfee2631b6482f30860235c90989c43/____7.png" />
         <pubDate>2025-10-29 02:34:33 UTC</pubDate>
         <guid>https://padlet.com/mksung89/project/wish/3655747947</guid>
      </item>
      <item>
         <title>5763973 김영인</title>
         <author></author>
         <link>https://padlet.com/mksung89/project/wish/3655758964</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/gtx/dual_quaternion.hpp&gt;</p><p>#include &lt;glm/mat4x4.hpp&gt;</p><p>glm::mat4 PersPective(float fovY, float aspect, float near, float far)</p><p>{</p><p>    //fovY는 이 함수 안에서 라디안으로 바꿔서 사용한다.</p><p>    fovY = glm::radians(fovY);</p><p>	glm::mat4 ps_arr(0.0f);</p><p>    ps_arr[0][0] = 1.0f / (aspect * glm::tan(fovY / 2.0f));</p><p>    ps_arr[1][1] = 1.0f / (glm::tan(fovY / 2.0f));</p><p>    ps_arr[2][2] = -(far + near) / (far - near);</p><p>    ps_arr[2][3] = -1.0f;</p><p>    ps_arr[3][2] = -(2.0f <em> far </em> near) / (far - near);</p><p>	return ps_arr;</p><p>}</p><p>int main()</p><p>{</p><p>    float w = 780.0f;</p><p>    float h = 750.0f;</p><p>    float fovY = 45.0f;</p><p>    //fovY = glm::radians(fovY);</p><p>    float Znear = 0.1f;</p><p>    float Zfar = 500.0f;</p><p>    float aspect = w / h;</p><p>    glm::mat4 ps = PersPective(fovY, aspect, Znear, Zfar);</p><p>    std::cout &lt;&lt; glm::to_string(ps);</p><p>    return 0;</p><p>}</p>]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/4642616503/579475c79db8f05be4323399ad27eb9e/image.png" />
         <pubDate>2025-10-29 02:40:08 UTC</pubDate>
         <guid>https://padlet.com/mksung89/project/wish/3655758964</guid>
      </item>
      <item>
         <title>5585435_안재현</title>
         <author>ajh20000523</author>
         <link>https://padlet.com/mksung89/project/wish/3656027828</link>
         <description><![CDATA[<p>#define GLM_ENABLE_EXPERIMENTAL</p><p>#define GLM_SWIZZLE </p><p>#include &lt;glm/glm.hpp&gt;</p><p>#include &lt;glm/gtc/matrix_transform.hpp&gt;</p><p>#include &lt;glm/gtc/type_ptr.hpp&gt;</p><p>#include &lt;iostream&gt;</p><p>#include &lt;iomanip&gt;</p><p>int main() {</p><p>    float Width = 780.0f;</p><p>    float Height = 750.0f;</p><p>    float FovY = 45.0f;</p><p>    float NearZ = 0.1f;</p><p>    float FarZ = 500.0f;</p><p>    float aspectRatio = Width / Height;</p><p>    glm::mat4 projection = glm::perspective(glm::radians(FovY), aspectRatio, NearZ, FarZ);</p><p>    std::cout &lt;&lt; std::fixed &lt;&lt; std::setprecision(6);</p><p>    std::cout &lt;&lt; "mat4x4(("</p><p>        &lt;&lt; projection[0][0] &lt;&lt; ", " &lt;&lt; projection[0][1] &lt;&lt; ", " &lt;&lt; projection[0][2] &lt;&lt; ", " &lt;&lt; projection[0][3] &lt;&lt; "), "</p><p>        &lt;&lt; "(" &lt;&lt; projection[1][0] &lt;&lt; ", " &lt;&lt; projection[1][1] &lt;&lt; ", " &lt;&lt; projection[1][2] &lt;&lt; ", " &lt;&lt; projection[1][3] &lt;&lt; "), "</p><p>        &lt;&lt; "(" &lt;&lt; projection[2][0] &lt;&lt; ", " &lt;&lt; projection[2][1] &lt;&lt; ", " &lt;&lt; projection[2][2] &lt;&lt; ", " &lt;&lt; projection[2][3] &lt;&lt; "), "</p><p>        &lt;&lt; "(" &lt;&lt; projection[3][0] &lt;&lt; ", " &lt;&lt; projection[3][1] &lt;&lt; ", " &lt;&lt; projection[3][2] &lt;&lt; ", " &lt;&lt; projection[3][3] &lt;&lt; "))"</p><p>        &lt;&lt; std::endl;</p><p>    return 0;</p><p>}</p>]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/4342291540/fb7f56afbb78b08d3cbc28fa1bc8c154/______2025_10_29_142211.png" />
         <pubDate>2025-10-29 05:28:07 UTC</pubDate>
         <guid>https://padlet.com/mksung89/project/wish/3656027828</guid>
      </item>
      <item>
         <title>5764081 송승민</title>
         <author></author>
         <link>https://padlet.com/mksung89/project/wish/3656031398</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; //개념적으로 2x3 </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/gtc/constants.hpp&gt;</p><p>#include &lt;glm/gtx/dual_quaternion.hpp&gt;</p><p>glm::mat4 PersPective(float fovY, float aspect, float near, float far)</p><p>{</p><p>	fovY = glm::radians(fovY);</p><p>	glm::mat4 PS(0.0f);</p><p>	PS[0][0] = 1.0f / (aspect * glm::tan(fovY / 2.0f));</p><p>	PS[1][1] = 1.0f / (glm::tan(fovY / 2.0f));</p><p>	PS[2][2] = -(far + near) / (far - near);</p><p>	PS[2][3] = -1.0f;</p><p>	PS[3][2] = -(2.0f <em> far </em> near / (far - near));</p><p>	return PS;</p><p>}</p><p>int main()</p><p>{</p><p>	float w = 780.0f;</p><p>	float h = 750.0f;</p><p>	float forY = 45.0f;</p><p>	forY = glm::radians(forY);</p><p>	float nearZ = 0.1f;</p><p>	float farZ = 500.0f;</p><p>	float aspect = w / h;</p><p>	glm::mat4 PS = PersPective(forY, aspect, nearZ, farZ);</p><p>	std::cout &lt;&lt; glm::to_string(PS) &lt;&lt; std::endl;</p><p>	return 0;</p><p>}</p>]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/4643208838/e48e2bb26e172a127fa85d955688a05d/image.png" />
         <pubDate>2025-10-29 05:30:52 UTC</pubDate>
         <guid>https://padlet.com/mksung89/project/wish/3656031398</guid>
      </item>
      <item>
         <title>5763911 김민규</title>
         <author>kuruku202</author>
         <link>https://padlet.com/mksung89/project/wish/3656136766</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/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 Perspective(float fov, float n, float f, float aspect);</p><p>int main()</p><p>{</p><p>	float width = 780;</p><p>	float height = 750;</p><p>	float fov = 45;</p><p>	float near_z = 0.1f;</p><p>	float far_z = 500;</p><p>	float aspect = width / height;</p><p>	</p><p>	glm::mat4 pers = Perspective(fov, near_z, far_z, aspect);</p><p>	std::cout &lt;&lt; glm::to_string(pers);</p><p>	return 0;</p><p>}</p><p>glm::mat4 Perspective(float fov, float n, float f, float aspect)</p><p>{</p><p>	glm::mat4 mat(0);</p><p>	float fov_y = glm::radians(fov);</p><p>	mat[0][0] = 1 / (aspect * glm::tan(fov_y / 2));</p><p>	mat[1][1] = 1 / glm::tan(fov_y / 2);</p><p>	mat[2][2] = -((f + n) / (f - n));</p><p>	mat[2][3] = -(2 <em> ((f </em> n) / (f - n)));</p><p>	mat[3][2] = -1;</p><p>	return mat;</p><p>}</p>]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/4329865324/ed4c93e064ade2ffec4f514041602ce4/image.png" />
         <pubDate>2025-10-29 06:51:28 UTC</pubDate>
         <guid>https://padlet.com/mksung89/project/wish/3656136766</guid>
      </item>
      <item>
         <title>5855134-응웬만히에우</title>
         <author>manhhieuptneu</author>
         <link>https://padlet.com/mksung89/project/wish/3656235851</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 perspective(float fovY, float aspect, float near, float far);</p><p>int main() {</p><p>float width = 780.0f;</p><p>float height = 750.0f;</p><p>float fovY = 45.0f;</p><p>fovY = glm::radians(fovY);</p><p>float nearZ = 0.1f;</p><p>float farZ = 500.0f;</p><p>float aspect = width / height;</p><p>glm::mat4 ppmat = perspective(fovY, aspect, nearZ, farZ);</p><p>std::cout &lt;&lt; glm::to_string(ppmat) &lt;&lt; std::endl;</p><p>return 0;</p><p>}</p><p>glm::mat4 perspective(float fovY, float aspect, float near, float far) {</p><p>glm::mat4 projection_matrix(0.0f);</p><p>projection_matrix[0][0] = 1.0f / (aspect * glm::tan(fovY / 2.0f));</p><p>projection_matrix[1][1] = 1.0f / (glm::tan(fovY / 2.0f));</p><p>projection_matrix[2][2] = -(far + near) / (far - near);</p><p>projection_matrix[2][3] = -1.0f;</p><p>projection_matrix[3][2] = -(2.0f <em> far </em> near) / (far - near);</p><p>return projection_matrix;</p><p>}</p>]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/2729561401/9bc3e49452386c9c1b848676759c374e/Capture.PNG" />
         <pubDate>2025-10-29 08:13:19 UTC</pubDate>
         <guid>https://padlet.com/mksung89/project/wish/3656235851</guid>
      </item>
      <item>
         <title>5881375_서민기</title>
         <author></author>
         <link>https://padlet.com/mksung89/project/wish/3656237087</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 Perspective(float fovy, float aspect, float near, float far)</p><p>{</p><p>	glm::mat4 projection =</p><p>	{</p><p>		{1 / (aspect <em> tan(DEGREES_TO_RADIANS </em> (fovy / 2))),0,0,0},</p><p>		{0,1 / tan(DEGREES_TO_RADIANS * (fovy / 2)),0,0},</p><p>		{0,0,-1 <em> (far + near) / (far - near),-2 </em> (far * near) / (far - near)},</p><p>		{0,0,-1,0}</p><p>	};</p><p>	return projection;</p><p>}</p><p>int main()</p><p>{</p><p>	float width = 780;</p><p>	float height = 750;</p><p>	float fovY = 45.0f;</p><p>	float nearZ = 0.1f;</p><p>	float farZ = 500.f;</p><p>	float aspect = width / height;</p><p>	</p><p>	glm::mat4 perspectiveProjection = Perspective(fovY, aspect, nearZ, farZ);</p><p>	std::cout &lt;&lt; glm::to_string(perspectiveProjection)&lt;&lt;std::endl;</p><p>	return 0;</p><p>}</p>]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/4644085649/c1e40ffa057a10215a5af80f8f61afbb/image.png" />
         <pubDate>2025-10-29 08:14:24 UTC</pubDate>
         <guid>https://padlet.com/mksung89/project/wish/3656237087</guid>
      </item>
      <item>
         <title>5907100_이명종</title>
         <author></author>
         <link>https://padlet.com/mksung89/project/wish/3656283605</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>glm::mat4 perspec(float fovy, float aspect, float nearz, float farz)</p><p>{</p><p>	glm::mat4 result(0.0f);</p><p>	result[0][0] = 1.0f / (tan(fovy / 2.0f) * aspect);</p><p>	result[1][1] = 1.0f / tan(fovy / 2.0f);</p><p>	result[2][2] = -(farz + nearz) / (farz - nearz);</p><p>	result[2][3] = (- 2.0f <em> farz </em> nearz) / (farz - nearz);</p><p>	result[3][2] = -1.0f;</p><p>	return result;</p><p>}</p><p>int main()</p><p>{</p><p>	float width = 780.0f;;</p><p>	float height = 750.0f;</p><p>	float fovy = glm::radians(45.0f);</p><p>	float nearz = 0.1f;</p><p>	float farz = 500.0f;</p><p>	float aspect = width / height;</p><p>	glm::mat4 projection = perspec(fovy, aspect, nearz, farz);</p><p>	std::cout &lt;&lt; "직접 만든 perspective 함수 : " &lt;&lt; glm::to_string(projection) &lt;&lt; std::endl &lt;&lt; std::endl;</p><p>	glm::mat4 x = glm::perspective(fovy, aspect, nearz, farz);</p><p>	std::cout &lt;&lt;"glm에 내장된 perspective 함수 : " &lt;&lt; glm::to_string(x) &lt;&lt; std::endl;</p><p>	return 0;</p><p>}</p>]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/4641796781/4f50486ded7699fb8990f4656d9d9f15/image.png" />
         <pubDate>2025-10-29 08:54:38 UTC</pubDate>
         <guid>https://padlet.com/mksung89/project/wish/3656283605</guid>
      </item>
      <item>
         <title>5881603 최인경_수정</title>
         <author></author>
         <link>https://padlet.com/mksung89/project/wish/3656309829</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;cmath&gt; // tan 함수 사용</p><p>// 가로 : 780</p><p>// 높이 : 750</p><p>// fied of view y : 45</p><p>// NearZ : 0.1</p><p>// FarZ : 500</p><p>glm::mat4 custom_perspective(float fovy, float aspect, float nearZ, float farZ)</p><p>{</p><p>	// x scale matrix</p><p>	float tan_half_fovy = std::tan(fovy / 2.0f); // tan(fovy/2)</p><p>	float x_scale = 1.0f / (aspect <em> tan_half_fovy); // 1/(aspect</em>tan(fovy/2))</p><p>	// y scale matrix</p><p>	float y_scale = 1.0f / tan_half_fovy; // 1/tan(fovy/2);</p><p>	// z scale matrix</p><p>	float diff_z = farZ - nearZ; // f - n</p><p>	float Z1 = -(farZ + nearZ) / diff_z; // - (f + n) / (f - n)</p><p>	float Z2 = -(2.0f <em> farZ </em> nearZ) / diff_z; // -2 ( f * n ) / ( f - n )</p><p>	glm::mat4 Result(0.0f); // 결과값 matrix를 0으로 초기화</p><p>	Result[0][0] = x_scale;</p><p>	Result[1][1] = y_scale;</p><p>	Result[2][2] = Z1;</p><p>	Result[3][2] = Z2;</p><p>	Result[2][3] = -1.0f;</p><p>	return Result;</p><p>}</p><p>int main()</p><p>{</p><p>	// 설정 값</p><p>	float width = 780.0f;</p><p>	float height = 750.0f;</p><p>	float fov_y = 45.0f;</p><p>	float near_z = 0.1f;</p><p>	float far_z = 500.0f;</p><p>	// aspect ratio 계산</p><p>	float aspect = width / height;</p><p>	// perspective 함수는 radian으로 받음.</p><p>	// fov_y degree -&gt; radian 으로 변환</p><p>	fov_y = glm::radians(fov_y);</p><p>	// custom_perspective 함수 사용</p><p>	// projectionmatrix에 custom_perspective 행렬 저장</p><p>	glm::mat4 projectionmatrix = custom_perspective(fov_y, aspect, near_z, far_z);</p><p>	std::cout &lt;&lt; glm::to_string(projectionmatrix) &lt;&lt; std::endl;</p><p>	return 0;</p><p>}</p>]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/4644162331/f5e403f9443e56c7d6c3b26be71c3c88/image.png" />
         <pubDate>2025-10-29 09:19:36 UTC</pubDate>
         <guid>https://padlet.com/mksung89/project/wish/3656309829</guid>
      </item>
      <item>
         <title>5645870_권오준</title>
         <author></author>
         <link>https://padlet.com/mksung89/project/wish/3656357281</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/4642450349/c4f7978ad21e26215d62206916661625/image.png" />
         <pubDate>2025-10-29 10:02:19 UTC</pubDate>
         <guid>https://padlet.com/mksung89/project/wish/3656357281</guid>
      </item>
      <item>
         <title>5881470_이동우</title>
         <author></author>
         <link>https://padlet.com/mksung89/project/wish/3656396476</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/gtx/dual_quaternion.hpp&gt;</p><p>#include &lt;glm/gtx/matrix_transform_2d.hpp&gt;</p><p>#include &lt;cmath&gt;</p><p>glm::mat4 perspective(float fovy, float aspect, float near, float far)</p><p>{</p><p>    glm::mat4 projection(0.0f);</p><p>    float a = 1.0f / (aspect * std::tan(fovy / 2.0f));</p><p>    float b = 1.0f / std::tan(fovy / 2.0f);</p><p>    float c = -((far + near) / (far - near));</p><p>    float d = -(2.0f *<em> far </em>* near / (far - near));</p><p>    projection[0][0] = a;</p><p>    projection[1][1] = b;</p><p>    projection[2][2] = c;</p><p>    projection[2][3] = -1.0f;</p><p>    projection[3][2] = d;</p><p>    return projection;</p><p>}</p><p>int main()</p><p>{</p><p>    float width = 780.0f;</p><p>    float height = 750.0f;</p><p>    float fovY = glm::pi&lt;float&gt;() / 4.0f;</p><p>    float nearz = 0.1f;</p><p>    float farz = 500.0f;</p><p>    float aspect = width / height;</p><p>    glm::mat4 perspectiveMat = perspective(fovY, aspect, nearz, farz);</p><p>    std::cout &lt;&lt; glm::to_string(perspectiveMat) &lt;&lt; std::endl;</p><p>    return 0;</p><p>}</p><p><br/></p>]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/4642101959/6bb92a440d9c4a6ed5731ac000520615/image.png" />
         <pubDate>2025-10-29 10:39:32 UTC</pubDate>
         <guid>https://padlet.com/mksung89/project/wish/3656396476</guid>
      </item>
      <item>
         <title>5469640_서보성</title>
         <author>ssbss0329</author>
         <link>https://padlet.com/mksung89/project/wish/3656438787</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>glm::mat4 CreatePerspectiveMatrix(float <em>fovY, float </em>width, float <em>height, float </em>nearZ, float _farZ)</p><p>{</p><p>    glm::mat4 result(0.0f);</p><p>    float aspectRatio = <em>width / </em>height;</p><p>    const float tanHalfFovY = tan(glm::radians(_fovY) / 2.0f);</p><p>    result[0][0] = 1.0f / (aspectRatio * tanHalfFovY);</p><p>    result[1][1] = 1.0f / tanHalfFovY;</p><p>    result[2][2] = -(_farZ + <em>nearZ) / (</em>farZ - _nearZ);</p><p>    result[2][3] = -1.0f;</p><p>    result[3][2] = -(2.0f <em> farZ  </em>nearZ) / (_farZ - _nearZ);</p><p>    return result;</p><p>}</p><p>int main()</p><p>{</p><p>    const float WIDTH = 780.0f;</p><p>    const float HEIGHT = 750.0f;</p><p>    const float FOV_Y = 45.0f;</p><p>    const float NEAR_Z = 0.1f;</p><p>    const float FAR_Z = 500.0f;</p><p>    glm::mat4 perspectiveMatrix = CreatePerspectiveMatrix(FOV_Y, WIDTH, HEIGHT, NEAR_Z, FAR_Z);</p><p>    std::cout &lt;&lt; "투영 행렬:\n" &lt;&lt; glm::to_string(perspectiveMatrix) &lt;&lt; std::endl;</p><p>    return 0;</p><p>}</p>]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/3530567594/11f58784435d1d1962c134f5f5d6451a/image.png" />
         <pubDate>2025-10-29 11:17:27 UTC</pubDate>
         <guid>https://padlet.com/mksung89/project/wish/3656438787</guid>
      </item>
      <item>
         <title>5764095_오도혁(수정본)</title>
         <author></author>
         <link>https://padlet.com/mksung89/project/wish/3656443626</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 Perspective(float fov_y, float aspect, float near, float far);</p><p>int main()</p><p>{</p><p>	float width = 780.0f;</p><p>	float height = 750.0f;</p><p>	float fov_y = 45.0f;</p><p>	float near_z = 0.1f;</p><p>	float far_z = 500.0f;</p><p>	float aspect = width / height;</p><p>	glm::mat4 pro_mat = Perspective(fov_y, aspect, near_z, far_z);</p><p>	std::cout &lt;&lt; glm::to_string(pro_mat) &lt;&lt; std::endl;</p><p>	return 0;</p><p>}</p><p>glm::mat4 Perspective(float fov_y, float aspect, float near, float far)</p><p>{</p><p>	fov_y = glm::radians(fov_y);</p><p>	glm::mat4 pro_mat(0);</p><p>	pro_mat[0][0] = 1.0f / (aspect * glm::tan(fov_y / 2.0f));</p><p>	pro_mat[1][1] = 1.0f / (glm::tan(fov_y / 2.0f));</p><p>	pro_mat[2][2] = -(far + near) / (far - near);</p><p>	pro_mat[2][3] = -1.0f;</p><p>	pro_mat[3][2] = -(2.0f <em> far</em> near) / (far - near);</p><p>	return pro_mat;</p><p>}</p><p><br/></p>]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/4644952245/a8c7dd7a86c1444786a419916612aeb3/image.webp" />
         <pubDate>2025-10-29 11:21:43 UTC</pubDate>
         <guid>https://padlet.com/mksung89/project/wish/3656443626</guid>
      </item>
      <item>
         <title>5881344_박지현</title>
         <author></author>
         <link>https://padlet.com/mksung89/project/wish/3656495429</link>
         <description><![CDATA[<pre><code class="language-cpp">//Computer_Graphcis(6)
//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;

glm::mat4 MyPerspective(float fovY, float width, float height, float nearZ, float farZ){
  glm::mat4 result(0.0f);
  const float aspect = width / height;
  const float halfFovYRadians = (fovY * glm::pi&lt;float&gt;() / 180.0f) / 2.0f;
  const float tanHalfFovY = tan(halfFovYRadians);
  
  result[0][0] = 1.0f / (aspect * tanHalfFovY);
  result[1][1] = 1.0f / tanHalfFovY;
  result[2][2] = -(farZ + nearZ) / (farZ - nearZ);
  result[2][3] = -1.0f;
  result[3][2] = -(2.0f * farZ * nearZ) / (farZ - nearZ);
  return result;

}

int main(){
  const float width = 780.0f;
  const float height = 750.0f;
  const float fovY = 45.0f;
  const float nearZ = 0.1f;
  const float farZ = 500.0f;
  glm::mat4 Mat_P = MyPerspective(fovY, width, height, nearZ, farZ);
  std::cout &lt;&lt; "Projection Matrix:\n" &lt;&lt; glm::to_string(Mat_P) &lt;&lt; std::endl;
  return 0;
}</code></pre>]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/4645160739/a6f9340af81df801269be7623e0ebb7d/image.png" />
         <pubDate>2025-10-29 12:04:32 UTC</pubDate>
         <guid>https://padlet.com/mksung89/project/wish/3656495429</guid>
      </item>
      <item>
         <title>5881270_김지운</title>
         <author></author>
         <link>https://padlet.com/mksung89/project/wish/3656666016</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>//using namespace glm;</p><p>glm::mat4 MyPerspective(float fovY, float width, float height, float nearZ, float farZ) {</p><p>	glm::mat4 result(0.0f);</p><p>	const float aspect = width / height;</p><p>	const float halfFovYRadians = (fovY * glm::pi&lt;float&gt;() / 180.0f) / 2.0f;</p><p>	const float tanHalfFovY = tan(halfFovYRadians);</p><p>	result[0][0] = 1.0f / (aspect * tanHalfFovY);</p><p>	result[1][1] = 1.0f / tanHalfFovY;</p><p>	result[2][2] = -(farZ + nearZ) / (farZ - nearZ);</p><p>	result[2][3] = -1.0f;</p><p>	result[3][2] = -(2.0f <em> farZ </em> nearZ) / (farZ - nearZ);</p><p>	return result;</p><p>}</p><p>int main() {</p><p>	const float width = 780.0f;</p><p>	const float height = 750.0f;</p><p>	const float fovY = 45.0f;</p><p>	const float nearZ = 0.1f;</p><p>	const float farZ = 500.0f;</p><p>	glm::mat4 Mat_P = MyPerspective(fovY, width, height, nearZ, farZ);</p><p>	std::cout &lt;&lt; glm::to_string(Mat_P) &lt;&lt; std::endl;</p><p>	return 0;</p><p>}</p>]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/4645760560/7ebaa1e2fd8e977853bb155115b87d89/_____2025_10_29_225132.png" />
         <pubDate>2025-10-29 13:53:11 UTC</pubDate>
         <guid>https://padlet.com/mksung89/project/wish/3656666016</guid>
      </item>
      <item>
         <title>5820658_전형진</title>
         <author></author>
         <link>https://padlet.com/mksung89/project/wish/3656735157</link>
         <description><![CDATA[<p>// main.cpp</p><p>// 5820658 전형진, 2025-10-29</p><p>// get projection-matrix in perspective-view camera</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>/* ================ /</p><p>fovY(field-of-view y): vertical-directional viewing-angle, unit in degree</p><p>aspectRatio: aspect-ratio, equivalent to (width/height)</p><p>nearZ: distance in z-axis, from camera to near-plane</p><p>farZ: distance in z-axis, from camera to far-plane</p><p>/ ================ */</p><p>float width, height, aspectRatio, fovY, nearZ, farZ;</p><p>glm::mat4x4 resultMatrix;</p><p><br><br></p><p>// convert angle in degree to radian</p><p>static float degToRad(float angle_degree)</p><p>{ return (angle_degree *(glm::pi&lt;float&gt;() /180.0f)); }</p><p><br></p><p>// convert angle in radian to degree</p><p>static float radToDeg(float angle_radian)</p><p>{ return ( angle_radian *(180.0f /glm::pi&lt;float&gt;()) ); }</p><p><br><br></p><p>// calculate and return the projection-matrix of perspective-view camera</p><p>static glm::mat4x4 getPerspective(float fov, float aspect, float near, float far)</p><p>{</p><p>&nbsp; &nbsp; glm::mat4x4 mat_result(0.0f);</p><p>&nbsp; &nbsp; float _calculations[4];</p><p>&nbsp; &nbsp; float _tanHalfFov = tan(degToRad(fov) /2);</p><p><br></p><p>&nbsp; &nbsp; <em>calculations[0] = (1 /(aspect *</em>tanHalfFov));</p><p>&nbsp; &nbsp; <em>calculations[1] = (1 /</em>tanHalfFov);</p><p>&nbsp; &nbsp; _calculations[2] = ( -((far +near) /(far -near)) );</p><p>&nbsp; &nbsp; _calculations[3] = ( -( ((far <em>near) /(far -near)) </em>2 ) );</p><p><br></p><p>&nbsp; &nbsp; mat_result[0][0] = _calculations[0];</p><p>&nbsp; &nbsp; mat_result[1][1] = _calculations[1];</p><p>&nbsp; &nbsp; mat_result[2][2] = _calculations[2];</p><p>&nbsp; &nbsp; mat_result[2][3] = (-1.0f);</p><p>&nbsp; &nbsp; mat_result[3][2] = _calculations[3];</p><p><br></p><p>&nbsp; &nbsp; return mat_result; // return the result of calculations, perspective projection-matrix</p><p>}</p><p><br><br></p><p>// program entry point</p><p>int main()</p><p>{</p><p>&nbsp; &nbsp; // set-up initial values</p><p>&nbsp; &nbsp; width = 780.0f;</p><p>&nbsp; &nbsp; height = 750.0f;</p><p>&nbsp; &nbsp; aspectRatio = (width /height); // calculate the aspect-ratio</p><p>&nbsp; &nbsp; fovY = 45.0f; // unit in degree</p><p>&nbsp; &nbsp; nearZ = 0.1f;</p><p>&nbsp; &nbsp; farZ = 500.0f;</p><p><br></p><p>&nbsp; &nbsp; // perform the calculation &amp; print the answer</p><p>&nbsp; &nbsp; resultMatrix = getPerspective(fovY, aspectRatio, nearZ, farZ);</p><p>&nbsp; &nbsp; std::cout &lt;&lt; "\nProjection matrix in perspective-view camera: " &lt;&lt; glm::to_string(resultMatrix); // print the answer</p><p><br></p><p>&nbsp; &nbsp; // END OF PROGRAM</p><p>&nbsp; &nbsp; std::cout &lt;&lt; "\n5820658 전형진 과제 끝." &lt;&lt; std::endl; // program-finished identifier</p><p>&nbsp; &nbsp; return 0; // exit the program</p><p>}</p>]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/4645552707/f01268a3dbca01acb853b45a9445ae92/image.png" />
         <pubDate>2025-10-29 14:25:27 UTC</pubDate>
         <guid>https://padlet.com/mksung89/project/wish/3656735157</guid>
      </item>
   </channel>
</rss>
