<?xml version="1.0"?>
<rss version="2.0">
   <channel>
      <title>Normal vector by Mankyu Sung</title>
      <link>https://padlet.com/mksung89/EpitehNormal</link>
      <description></description>
      <language>en-us</language>
      <pubDate>2022-09-20 22:32:58 UTC</pubDate>
      <lastBuildDate>2025-04-24 05:31:48 UTC</lastBuildDate>
      <webMaster>hello@padlet.com</webMaster>
      <image>
         <url></url>
      </image>
      <item>
         <title>7701583_Ethan_Hernou</title>
         <author>ethanhernou</author>
         <link>https://padlet.com/mksung89/EpitehNormal/wish/3132475143</link>
         <description><![CDATA[<pre><code class="language-cpp">#define GLM_ENABLE_EXPERIMENTAL
    #include &lt;glm/gtx/string_cast.hpp&gt;
    #include &lt;glm/glm.hpp&gt;
#include &lt;iostream&gt;

glm::vec3 CalculateNormal(const glm::vec3 &amp;p1, const glm::vec3 &amp;p2, const glm::vec3 &amp;p3)
{
    glm::vec3 v1 = p2 - p1;
    glm::vec3 v2 = p3 - p1;

    return glm::normalize(glm::cross(v1, v2));
}

int main()
{
    glm::vec3 p1(3.0f, 0.0f ,  0.f);
    glm::vec3 p2(1.5f, 0.86f,  0.f);
    glm::vec3 p3(3.0f, 0.0f , -1.f);

    glm::vec3 normal = CalculateNormal(p1, p2, p3);

    std::cout &lt;&lt; "Normal of the triangle : " &lt;&lt; glm::to_string(normal) &lt;&lt; std::endl;
    return 0;
}
</code></pre>]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/2676256945/daaea3ef5b0def62344cc664255c1f5d/Class3_Result2.png" />
         <pubDate>2024-09-23 05:17:21 UTC</pubDate>
         <guid>https://padlet.com/mksung89/EpitehNormal/wish/3132475143</guid>
      </item>
      <item>
         <title>7701567_Enzo_Garnier</title>
         <author>bestioslash</author>
         <link>https://padlet.com/mksung89/EpitehNormal/wish/3132475419</link>
         <description><![CDATA[<pre><code>#define GLM_ENABLE_EXPERIMENTAL
#include &lt;glm/gtx/string_cast.hpp&gt;
#include &lt;iostream&gt;
#include &lt;glm/glm.hpp&gt;

glm::vec3 CalculateNormal(const glm::vec3&amp; p0, const glm::vec3&amp; p1, const glm::vec3&amp; p2) {
	return glm::normalize(glm::cross(p1 - p0, p2 - p0));
}

int main() {
	glm::vec3 p0(3, 0, 0);
	glm::vec3 p1(1.5f, 0.86f, 0);
	glm::vec3 p2(3, 0, -1);

	glm::vec3 normal = CalculateNormal(p0, p1, p2);
	std::cout &lt;&lt; "Normal: " &lt;&lt; glm::to_string(normal) &lt;&lt; std::endl;

	return 0;
}</code></pre>]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/2708765362/4d5a8ad4161491faef8da725a07271f3/Screenshot_2024_09_23_142133.png" />
         <pubDate>2024-09-23 05:17:31 UTC</pubDate>
         <guid>https://padlet.com/mksung89/EpitehNormal/wish/3132475419</guid>
      </item>
      <item>
         <title>7701676_Thomas_Laprie</title>
         <author>totolaprie</author>
         <link>https://padlet.com/mksung89/EpitehNormal/wish/3132479278</link>
         <description><![CDATA[<p>#define GLM_FORCE_SWIZZLE</p><p>#define GLM_ENABLE_EXPERIMENTAL</p><p>#include &lt;glm/gtx/string_cast.hpp&gt;</p><p>#include &lt;glm/gtc/constants.hpp&gt;</p><p>#include &lt;glm/glm.hpp&gt;</p><p>#include &lt;iostream&gt;</p><p>int main()</p><p>{</p><p>	glm::vec3 p1(3, 0, 0);</p><p>	glm::vec3 p2(1.5, 0.86, 0);</p><p>	glm::vec3 p3(3, 0, -1);</p><p>	glm::vec3 v1 = p2 - p1;</p><p>	glm::vec3 v2 = p3 - p1;</p><p>	glm::vec3 normal = glm::normalize(glm::cross(v1, v2));</p><p>	std::cout &lt;&lt; "Normal: " &lt;&lt; glm::to_string(normal) &lt;&lt; std::endl;</p><p>	</p><p>}</p>]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/2681261339/7387cf9d014de25411a9735fe5c2494b/Screenshot_1.png" />
         <pubDate>2024-09-23 05:20:20 UTC</pubDate>
         <guid>https://padlet.com/mksung89/EpitehNormal/wish/3132479278</guid>
      </item>
      <item>
         <title>7701664 Eliot Janvier</title>
         <author></author>
         <link>https://padlet.com/mksung89/EpitehNormal/wish/3132479500</link>
         <description><![CDATA[<pre><code class="language-cpp">#define GLM_ENABLE_EXPERIMENTAL
#include &lt;glm/glm.hpp&gt;
#include &lt;glm/gtx/string_cast.hpp&gt;
#include &lt;iostream&gt;
#include &lt;stdexcept&gt;

int main() {
  glm::vec3 p1(3, 0, 0);
  glm::vec3 p2(1.5, 0.86, 0);
  glm::vec3 p3(3, 0, -1);

  glm::vec3 side1 = p2 - p1;
  glm::vec3 side2 = p3 - p1;

  glm::vec3 normal = glm::normalize(glm::cross(side1, side2));
  std::cout &lt;&lt; "normal is " &lt;&lt; glm::to_string(normal) &lt;&lt; std::endl;
}</code></pre>]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/2779569631/9b6370b571c6c8ce41983bc9b17e2160/image.png" />
         <pubDate>2024-09-23 05:20:29 UTC</pubDate>
         <guid>https://padlet.com/mksung89/EpitehNormal/wish/3132479500</guid>
      </item>
      <item>
         <title>7701639_Hippolyte_Aubert</title>
         <author></author>
         <link>https://padlet.com/mksung89/EpitehNormal/wish/3132480999</link>
         <description><![CDATA[<p>void calculateTriangleNormal()</p><p>{</p><p>	glm::vec3 p1(3, 0, 0);</p><p>	glm::vec3 p2(1.5f, 0.86f, 0);</p><p>	glm::vec3 p3(3, 0, -1);</p><p>	glm::vec3 v1 = p2 - p1;</p><p>	glm::vec3 v2 = p3 - p1;</p><p>	glm::vec3 normal = glm::normalize(glm::cross(v1, v2));</p><p>	std::cout &lt;&lt; "Normal: " &lt;&lt; glm::to_string(normal) &lt;&lt; std::endl;</p><p>}</p><p>int main()</p><p>{</p><p>	</p><p>	calculateTriangleNormal();</p><p>	return 0; </p><p>}</p>]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/2779571464/2fad51477ea86e084c215f61586293a2/image_2024_09_23_142128598.png" />
         <pubDate>2024-09-23 05:21:35 UTC</pubDate>
         <guid>https://padlet.com/mksung89/EpitehNormal/wish/3132480999</guid>
      </item>
      <item>
         <title>7701520_Adele_de_Premonville</title>
         <author></author>
         <link>https://padlet.com/mksung89/EpitehNormal/wish/3132481180</link>
         <description><![CDATA[<p>#include &lt;iostream&gt;</p><p>#include &lt;glm/glm.hpp&gt;</p><p># define GLM_ENABLE_EXPERIMENTAL</p><p>#include &lt;glm/gtx/string_cast.hpp&gt;</p><p>using namespace std;</p><p>int main()</p><p>{</p><p>	glm::vec3 p1(3, 0, 0);</p><p>	glm::vec3 p2(1.5, 0.86, 0);</p><p>	glm::vec3 p3(3, 0, -1);</p><p>	glm::vec3 v1 = p2 - p1;</p><p>	glm::vec3 v2 = p3 - p1;</p><p>	glm::vec3 c = glm::cross(v1, v2);</p><p>	glm::vec3 res = glm::normalize(c);</p><p>	cout &lt;&lt; glm::to_string(res) &lt;&lt; endl;</p><p>	return 0;</p><p>}</p><p><br/></p>]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/2779571551/04f53bc7eb1087195ff849296f1f7b13/image.png" />
         <pubDate>2024-09-23 05:21:42 UTC</pubDate>
         <guid>https://padlet.com/mksung89/EpitehNormal/wish/3132481180</guid>
      </item>
      <item>
         <title>7701618_Yann_Demuyt</title>
         <author>yanndemuyt</author>
         <link>https://padlet.com/mksung89/EpitehNormal/wish/3132481263</link>
         <description><![CDATA[<pre><code class="language-cpp">glm::vec3 calc_triangle_normal(glm::vec3 p1, glm::vec3 p2, glm::vec3 p3) {
    glm::vec3 v1 = p2 - p1;
    glm::vec3 v2 = p3 - p1;

    return glm::normalize(glm::cross(v1, v2));
}


int main() {
    glm::vec3 p1(3, 0, 0);
    glm::vec3 p2(1.5f, 0.86f, 0);
    glm::vec3 p3(3, 0, -1);
    std::cout &lt;&lt; glm::to_string(calc_triangle_normal(p1, p2, p3)) &lt;&lt; std::endl;   
}
</code></pre>]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/2712583437/c0e1816aea5849cfb5073ac4d4b08939/Screenshot_from_2024_09_23_14_22_07.png" />
         <pubDate>2024-09-23 05:21:46 UTC</pubDate>
         <guid>https://padlet.com/mksung89/EpitehNormal/wish/3132481263</guid>
      </item>
      <item>
         <title>7701539_Clos-manescau_leonore</title>
         <author>tenshiitv</author>
         <link>https://padlet.com/mksung89/EpitehNormal/wish/3132482702</link>
         <description><![CDATA[<p>static void exo5()</p><p>{</p><p>	glm::vec3 p1(3, 0, 0);</p><p>	glm::vec3 p2(1.5, 0.86, 0);</p><p>	glm::vec3 p3(3, 0, -1);</p><p>	glm::vec3 normalv(0, 0, 0);</p><p>	glm::vec3 result(0, 0, 0);</p><p><br/></p><p>	glm::vec3 v1 = p2 - p1;</p><p>	glm::vec3 v2 = p3 - p1;</p><p>	</p><p>	normalv = glm::cross(v1, v2);</p><p>	normalv = glm::normalize(normalv);</p><p>	std::cout &lt;&lt; "Exo5" &lt;&lt; std::endl;</p><p>	std::cout &lt;&lt; glm::to_string(normalv) &lt;&lt; std::endl;</p><p>}</p>]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/2723589223/f16f12d81404df8d5aa226e32695705d/image.png" />
         <pubDate>2024-09-23 05:22:47 UTC</pubDate>
         <guid>https://padlet.com/mksung89/EpitehNormal/wish/3132482702</guid>
      </item>
      <item>
         <title>7701640 HILLION Jovan</title>
         <author></author>
         <link>https://padlet.com/mksung89/EpitehNormal/wish/3132482785</link>
         <description><![CDATA[<p>#include "GameGraphicsCourses.h"</p><p>#include &lt;glm/gtc/constants.hpp&gt;</p><p>int main()</p><p>{</p><p>	glm::vec3 p1(3, 0, 0);</p><p>	glm::vec3 p2(1.5, 0.86, 0);</p><p>	glm::vec3 p3(3, 0, -1);</p><p>	glm::vec3 v1 = p2 - p1;</p><p>	glm::vec3 v2 = p3 - p1;</p><p>	glm::vec3 normal = glm::cross(v1, v2);</p><p>	normal = glm::normalize(normal);</p><p>	std::cout &lt;&lt; "normal = " &lt;&lt; glm::to_string(normal) &lt;&lt; std::endl;</p><p>	return 0;</p><p>}</p>]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/2779573698/e51383ad88489cc64cb043f06753c7a5/image.png" />
         <pubDate>2024-09-23 05:22:52 UTC</pubDate>
         <guid>https://padlet.com/mksung89/EpitehNormal/wish/3132482785</guid>
      </item>
      <item>
         <title>7701622_Rayan_Banni</title>
         <author>bannirayan</author>
         <link>https://padlet.com/mksung89/EpitehNormal/wish/3132482907</link>
         <description><![CDATA[<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;glm/gtc/constants.hpp&gt;
#include &lt;glm/glm.hpp&gt;

int main() {
    glm::vec3 p1(3, 0, 0);
    glm::vec3 p2(1.5, 0.86, 0);
    glm::vec3 p3(3, 0, -1);

    glm::vec3 v1 = p2 - p1;
    glm::vec3 v2 = p3 - p1;

    glm::vec3 normal = glm::cross(v1, v2);

    glm::vec3 normalizedNormal = glm::normalize(normal);

    std::cout &lt;&lt; "(" &lt;&lt; normalizedNormal.x &lt;&lt; ", " &lt;&lt; normalizedNormal.y &lt;&lt; ", " &lt;&lt; normalizedNormal.z &lt;&lt; ")" &lt;&lt; std::endl;

    return 0;
}

</code></pre>]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/2723476241/3fda0319435c8f3ee66fd68750c031f9/image.png" />
         <pubDate>2024-09-23 05:22:57 UTC</pubDate>
         <guid>https://padlet.com/mksung89/EpitehNormal/wish/3132482907</guid>
      </item>
      <item>
         <title>7701672 Louis Bassagal</title>
         <author></author>
         <link>https://padlet.com/mksung89/EpitehNormal/wish/3132483064</link>
         <description><![CDATA[<pre><code>#include &lt;glm/gtc/constants.hpp&gt;
#include &lt;glm/vec3.hpp&gt;
#include &lt;glm/glm.hpp&gt;
#include "CMakeProject2.h"
#include &lt;iostream&gt;

void main() {
	glm::vec3 p1{ 3, 0, 0 };
	glm::vec3 p2{ 1.5f, 0.86f, 0 };
	glm::vec3 p3{ 3, 0, -1 };

	glm::vec3 v1 = p2 - p1;
	glm::vec3 v2 = p3 - p1;

	std::cout &lt;&lt; glm::to_string(glm::normalize(glm::cross(v1, v2))) &lt;&lt; std::endl;
}</code></pre>]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/2779574753/784d8cbcf2882252ccac70da21ce5a5a/Capture_d__cran_2024_09_23_142248.png" />
         <pubDate>2024-09-23 05:23:07 UTC</pubDate>
         <guid>https://padlet.com/mksung89/EpitehNormal/wish/3132483064</guid>
      </item>
      <item>
         <title>7701505_Axel_Denis</title>
         <author>therabbitlexa271</author>
         <link>https://padlet.com/mksung89/EpitehNormal/wish/3132483858</link>
         <description><![CDATA[<pre><code>#define GLM_ENABLE_EXPERIMENTAL
#include &lt;glm/gtc/constants.hpp&gt;
#include &lt;iostream&gt;
#include &lt;glm/glm.hpp&gt;
#include &lt;glm/gtx/string_cast.hpp&gt;

int main() {
	glm::vec3 p1(3, 0, 0);
	glm::vec3 p2(1.5, 0.86, 0);
	glm::vec3 p3(3, 0, -1);

	glm::vec3 v1 = p1 - p2;
	glm::vec3 v2 = p1 - p3;

	glm::vec3 normal = glm::normalize(glm::cross(v1, v2));
	std::cout &lt;&lt; glm::to_string(normal) &lt;&lt; std::endl;
}
 </code></pre>]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/2718103450/91c8fc12e81dc748e1b910da62b2d78a/image.png" />
         <pubDate>2024-09-23 05:23:42 UTC</pubDate>
         <guid>https://padlet.com/mksung89/EpitehNormal/wish/3132483858</guid>
      </item>
      <item>
         <title>7701595 Denis Maillot</title>
         <author>d3nxfr</author>
         <link>https://padlet.com/mksung89/EpitehNormal/wish/3132484362</link>
         <description><![CDATA[<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/gtc/constants.hpp&gt;</p><p>#include &lt;iostream&gt;</p><p>template&lt;typename T&gt;</p><p>void display(T x, const std::string&amp; prefix = "") {</p><p>	std::cout &lt;&lt; prefix &lt;&lt; glm::to_string(x) &lt;&lt; std::endl;</p><p>}</p><p>int main(void) {</p><p>	glm::vec3 p1(3.f, 0, 0);</p><p>	glm::vec3 p2(1.5f, 0.86f, 0);</p><p>	glm::vec3 p3(3.f, 0, -1.f);</p><p>	glm::vec3 v1 = p2 - p1;</p><p>	glm::vec3 v2 = p3 - p2;</p><p>	display(glm::normalize(glm::cross(v1, v2)), "normal: ");</p><p>	return 0;</p><p>}</p><p><br/></p>]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/2712574292/4592329dc5861a26090012f370d1991e/image.png" />
         <pubDate>2024-09-23 05:24:03 UTC</pubDate>
         <guid>https://padlet.com/mksung89/EpitehNormal/wish/3132484362</guid>
      </item>
      <item>
         <title>7701564 Arthur Aillet</title>
         <author></author>
         <link>https://padlet.com/mksung89/EpitehNormal/wish/3132484376</link>
         <description><![CDATA[<p>#define GLM_ENABLE_EXPERIMENTAL</p><p>#include &lt;iostream&gt;</p><p>#include &lt;glm/gtc/constants.hpp&gt;</p><p>#include &lt;glm/glm.hpp&gt;</p><p>#include &lt;glm/gtx/string_cast.hpp&gt;</p><p><br/></p><p>int main() {</p><p>	glm::vec3 p1(3, 0, 0);</p><p>	glm::vec3 p2(1.5, 0.86, 0);</p><p>	glm::vec3 p3(3, 0, -1);</p><p>	glm::vec3 norm = glm::normalize(glm::cross(p2 - p1, p3 - p1));</p><p>	</p><p>	std::cout &lt;&lt; "normal: " &lt;&lt; glm::to_string(norm) &lt;&lt; std::endl;</p><p>	return 0;</p><p>}</p><p><br/></p>]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/2779574905/e822c927e5e410241c2e2ce1aef5d294/image.png" />
         <pubDate>2024-09-23 05:24:04 UTC</pubDate>
         <guid>https://padlet.com/mksung89/EpitehNormal/wish/3132484376</guid>
      </item>
      <item>
         <title>7701504_Alexandre_Franquet</title>
         <author>alexandrefranquetty</author>
         <link>https://padlet.com/mksung89/EpitehNormal/wish/3132484515</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>int main()</p><p>{</p><p>	glm::vec3 p1(3, 0, 0);</p><p>	glm::vec3 p2(1.5, 0.86, 0);</p><p>	glm::vec3 p3(3, 0, -1);</p><p>	glm::vec3 v32 = p3 - p2;</p><p>	glm::vec3 v12 = p1 - p2;</p><p>	glm::vec3 normal = glm::normalize(glm::cross(v32, v12));</p><p>	std::cout &lt;&lt; glm::to_string(normal) &lt;&lt; std::endl;</p><p>	return (0);</p><p>}</p>]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/2712499930/511e9e8de63326865b28cbeaf0190880/Capture_d__cran_2024_09_23_142303.png" />
         <pubDate>2024-09-23 05:24:11 UTC</pubDate>
         <guid>https://padlet.com/mksung89/EpitehNormal/wish/3132484515</guid>
      </item>
      <item>
         <title>7701532 Yassin said</title>
         <author></author>
         <link>https://padlet.com/mksung89/EpitehNormal/wish/3132484568</link>
         <description><![CDATA[<p>// CMakeProject2.cpp&nbsp;: définit le point d'entrée de l'application.</p><p>//</p><p>#define GLM_ENABLE_EXPERIMENTAL</p><p>#define GLM_FORCE_SWIZZLE</p><p>#include "glm/gtx/string_cast.hpp"</p><p>#include "CMakeProject2.h"</p><p>#include "glm/glm.hpp"</p><p>#include &lt;glm/gtc/constants.hpp&gt;</p><p>int main()</p><p>{</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::vec3 p1(3, 0, 0);</p><p>	glm::vec3 p2(1.5, 0.86, 0);</p><p>	glm::vec3 p3(3, 0, -1);</p><p>	glm::vec3 v1(1.5 - 3, 0.86 - 0, 0 - 0);</p><p>	glm::vec3 v2(3 - 3, 0 - 0, -1 - 0);</p><p>	glm::vec3 c = glm::cross(glm::normalize(v1), glm::normalize(v2));</p><p>	std::cout &lt;&lt; glm::to_string(c);</p><p>	return 0;</p><p>}</p><p><br/></p>]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/2779573793/2e50658d6b5d0c5c2fcb17c5b217dbc5/image.png" />
         <pubDate>2024-09-23 05:24:13 UTC</pubDate>
         <guid>https://padlet.com/mksung89/EpitehNormal/wish/3132484568</guid>
      </item>
      <item>
         <title>7701663_samuel_florentin</title>
         <author></author>
         <link>https://padlet.com/mksung89/EpitehNormal/wish/3132484611</link>
         <description><![CDATA[<p>#define GLM_ENABLE_EXPERIMENTAL</p><p>#include "CMakeProject1.h"</p><p>#include &lt;glm/vec3.hpp&gt;</p><p>#include &lt;glm/gtc/constants.hpp&gt;</p><p>#include &lt;glm/gtx/string_cast.hpp&gt;</p><p>const constexpr float TEST = glm::pi&lt;float&gt;();</p><p>int main()</p><p>{	</p><p>	glm::vec3 p1{ 3, 0, 0 };</p><p>	glm::vec3 p2{ 1.5, 0.86, 0 };</p><p>	glm::vec3 p3{ 3, 0, -1 };</p><p>	glm::vec3 v1{ p2 - p1 };</p><p>	glm::vec3 v2{ p3 - p1 };</p><p>	glm::vec3 cross_product{ glm::cross(v1, v2) };</p><p>	glm::vec3 normalised{ glm::normalize(cross_product) };</p><p>	std::cout &lt;&lt; "normal vector: " &lt;&lt; glm::to_string(normalised) &lt;&lt; '\n';</p><p>	return 0;</p><p>}</p>]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/2779578723/7dd8c1403f9641c69b7b46c7da818be9/image.png" />
         <pubDate>2024-09-23 05:24:15 UTC</pubDate>
         <guid>https://padlet.com/mksung89/EpitehNormal/wish/3132484611</guid>
      </item>
      <item>
         <title>7701465 Guillaume CLEMENT--BONNIEL-VEYRON</title>
         <author>lapuissancedelafunk</author>
         <link>https://padlet.com/mksung89/EpitehNormal/wish/3132484658</link>
         <description><![CDATA[<p>#define GLM_FORCE_SWIZZLE</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/gtc/constants.hpp&gt;</p><p>const double DEG_TO_RAD = glm::pi&lt;double&gt;() / 180.0;</p><p>const double RAD_TO_DEG = 180.0 / glm::pi&lt;double&gt;();</p><p>int main()</p><p>{		</p><p>	glm::vec3 p1(3, 0, 0);</p><p>	glm::vec3 p2(1.5, 0.86, 0);</p><p>	glm::vec3 p3(3, 0, -1);</p><p>	glm::vec3 v1 = p2 - p1;</p><p>	glm::vec3 v2 = p3 - p1;</p><p>	glm::vec3 normal = glm::normalize(glm::cross(v1, v2));</p><p>	std::cout &lt;&lt; "Normal: " &lt;&lt; glm::to_string(normal) &lt;&lt; std::endl;</p><p>	return 0;</p><p>}</p><p><br/></p>]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/2723928984/b043d509f5cd81545d33b8ea75670da3/image.png" />
         <pubDate>2024-09-23 05:24:17 UTC</pubDate>
         <guid>https://padlet.com/mksung89/EpitehNormal/wish/3132484658</guid>
      </item>
      <item>
         <title>7701538_Romain_PANNO</title>
         <author>romainpanno</author>
         <link>https://padlet.com/mksung89/EpitehNormal/wish/3132485337</link>
         <description><![CDATA[<p>void ex3(void) {</p><p>	glm::vec3 p1(3, 0, 0);</p><p>	glm::vec3 p2(1.5, 0.86, 0);</p><p>	glm::vec3 p3(3, 0, -1);</p><p>	glm::vec3 v1 = p2 - p1;</p><p>	glm::vec3 v2 = p3 - p1;</p><p>	glm::vec3 n = glm::cross(v1, v2);</p><p>	n = glm::normalize(n);</p><p>	std::cout &lt;&lt; "n: " &lt;&lt; n.x &lt;&lt; " " &lt;&lt; n.y &lt;&lt; " " &lt;&lt; n.z &lt;&lt; std::endl;</p><p>}</p><p>int main(void) {</p><p>	ex3();</p><p>	return 0;</p><p>}</p><p><br/></p>]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/2719065559/20deb4ea69d63c95cfc6591b0505df14/image.png" />
         <pubDate>2024-09-23 05:24:42 UTC</pubDate>
         <guid>https://padlet.com/mksung89/EpitehNormal/wish/3132485337</guid>
      </item>
      <item>
         <title>7701473_Ulysse_Decottignies</title>
         <author>odycepro</author>
         <link>https://padlet.com/mksung89/EpitehNormal/wish/3132486063</link>
         <description><![CDATA[<p>#define GLM_FORCE_SWIZZLE</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/gtc/constants.hpp&gt;</p><p><br/></p><p>static void normVec() {</p><p>	glm::vec3 p1(3, 0, 0);</p><p>	glm::vec3 p2(1.5, 0.86, 0);</p><p>	glm::vec3 p3(3, 0, -1);</p><p>	glm::vec3 v1 = p2 - p1;</p><p>	glm::vec3 v2 = p3 - p1;</p><p>	glm::vec3 N = glm::normalize(glm::cross(v1, v2));</p><p>	std::cout &lt;&lt; to_string(N) &lt;&lt; std::endl;</p><p>}</p><p>int main() {</p><p>	normVec();</p><p>	return 0;</p><p>}</p>]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/2723468159/418df738c928d390744bc90397c805c0/image.png" />
         <pubDate>2024-09-23 05:25:08 UTC</pubDate>
         <guid>https://padlet.com/mksung89/EpitehNormal/wish/3132486063</guid>
      </item>
      <item>
         <title>7701650_LHUILLIER_leo</title>
         <author>leolhulhuillierleoillier</author>
         <link>https://padlet.com/mksung89/EpitehNormal/wish/3132486106</link>
         <description><![CDATA[<p>glm::vec3 PointSub(glm::vec3 b, glm::vec3 a) {</p><p>    return (b - a);</p><p>}</p><p><br/></p><p>glm::vec3 GetNormal(glm::vec3 p1, glm::vec3 p2, glm::vec3 p3) {</p><p>    glm::vec3 v1 = PointSub(p1, p2);</p><p>    glm::vec3 v2 = PointSub(p3, p2);</p><p>    glm::vec3 normal = glm::normalize(glm::cross(v1, v2));</p><p>    return normal;</p><p>}</p><p><br/></p><p>int main() {   </p><p>    std::cout &lt;&lt; glm::to_string(GetNormal(glm::vec3(1.5, 0.86, 0), glm::vec3(3, 0, 1), glm::vec3(3, 0, 0)));</p><p>    return 0;</p><p>}</p>]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/414798071/b86cb767f501e5b3c327059f26dc452c/image.png" />
         <pubDate>2024-09-23 05:25:10 UTC</pubDate>
         <guid>https://padlet.com/mksung89/EpitehNormal/wish/3132486106</guid>
      </item>
      <item>
         <title>7701669_EWEN_BRIAND</title>
         <author></author>
         <link>https://padlet.com/mksung89/EpitehNormal/wish/3132486848</link>
         <description><![CDATA[<p>#define GLM_ENABLE_EXPERIMENTAL</p><p>#include &lt;glm/glm.hpp&gt;</p><p>#include &lt;iostream&gt;</p><p>#include &lt;glm/gtx/string_cast.hpp&gt;</p><p>int main(void)</p><p>{</p><p>	glm::vec3 p1(3, 0, 0);</p><p>	glm::vec3 p2(1.5, 0.86, 0);</p><p>	glm::vec3 p3(3, 0, -1);</p><p>	glm::vec3 v1 = p2 - p1;</p><p>	glm::vec3 v2 = p3 - p1;</p><p>	glm::vec3 normal = glm::normalize(glm::cross(v1, v2));</p><p>	std::cout &lt;&lt; glm::to_string(normal) &lt;&lt; std::endl;</p><p>}</p>]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/2779575389/a20f5ee5b7d16dffb6352441ca68158f/Capture.PNG" />
         <pubDate>2024-09-23 05:25:41 UTC</pubDate>
         <guid>https://padlet.com/mksung89/EpitehNormal/wish/3132486848</guid>
      </item>
      <item>
         <title>7701674 - BOUSCH Laetitia</title>
         <author></author>
         <link>https://padlet.com/mksung89/EpitehNormal/wish/3132487146</link>
         <description><![CDATA[<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/gtc/constants.hpp&gt;</p><p>#include &lt;glm/gtx/string_cast.hpp&gt;</p><p><br/></p><p>void main()</p><p>{</p><p>    glm::vec3 p1(3, 0, 0);</p><p>    glm::vec3 p2(1.5, 0.86, 0);</p><p>    glm::vec3 p3(3, 0, -1);</p><p>    //p2 -&gt; p3 -&gt; p1</p><p>    glm::vec3 v1F = p3 - p2;</p><p>    glm::vec3 v2F = p1 - p2;</p><p>    glm::vec3 normalF = glm::cross(v1F, v2F);</p><p>    glm::vec3 n = glm::normalize(normalF);</p><p>    std::cout &lt;&lt; "Result for p2-&gt;p3-&gt;p1: " &lt;&lt; glm::to_string(n) &lt;&lt; std::endl;</p><p>    //p3 -&gt; p1 -&gt; p2</p><p>    glm::vec3 v1S = p1 - p3;</p><p>    glm::vec3 v2S = p2 - p3;</p><p>    glm::vec3 normalS = glm::cross(v1S, v2S);</p><p>    glm::vec3 d = glm::normalize(normalS);</p><p>    std::cout &lt;&lt; "Result for p3-&gt;p1-&gt;p2: " &lt;&lt; glm::to_string(d) &lt;&lt; std::endl;</p><p>}</p>]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/2779455326/678cd266839d3b254a798ccee2b9436a/image.png" />
         <pubDate>2024-09-23 05:25:53 UTC</pubDate>
         <guid>https://padlet.com/mksung89/EpitehNormal/wish/3132487146</guid>
      </item>
      <item>
         <title>7701596_Tovy_REN</title>
         <author></author>
         <link>https://padlet.com/mksung89/EpitehNormal/wish/3132488046</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/gtc/constants.hpp&gt;</p><p>#include &lt;glm/gtx/string_cast.hpp&gt;</p><p><br><br></p><p>int main() {</p><p>glm::vec3 p1(3, 0, 0);</p><p>glm::vec3 p2(1.5, 0.86, 0);</p><p>glm::vec3 p3(3, 0, -1);</p><p><br></p><p>glm::vec3 normal = glm::normalize(glm::cross(p2 - p1, p3 - p1));</p><p>std::cout &lt;&lt; "Normal: " &lt;&lt; glm::to_string(normal) &lt;&lt; std::endl;</p><p>return 0;</p><p>}</p>]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/2730625231/bc1256ddbebd3f08b80a7025bcf236ad/image.png" />
         <pubDate>2024-09-23 05:26:32 UTC</pubDate>
         <guid>https://padlet.com/mksung89/EpitehNormal/wish/3132488046</guid>
      </item>
      <item>
         <title>7701516 SOIDIKI Léo</title>
         <author></author>
         <link>https://padlet.com/mksung89/EpitehNormal/wish/3132488071</link>
         <description><![CDATA[<p>#define GLM_ENABLE_EXPERIMENTAL</p><p>#include &lt;glm/gtc/constants.hpp&gt;</p><p>#include &lt;glm/gtx/string_cast.hpp&gt;</p><p>#include &lt;iostream&gt;</p><p><br></p><p>static void triangleNormal()</p><p>{</p><p>	glm::vec3 p1(3, 0, 0);</p><p>	glm::vec3 p2(1.5, 0.86, 0);</p><p>	glm::vec3 p3(3, 0, -1);</p><p>	glm::vec3 v1 = p2 - p1;</p><p>	glm::vec3 v2 = p3 - p1;</p><p>	glm::vec3 normal = glm::normalize(glm::cross(v1, v2));</p><p>	std::cout &lt;&lt; "normal = " &lt;&lt; glm::to_string(normal);</p><p>}</p><p>int main()</p><p>{</p><p>	triangleNormal();</p><p>	return 0;</p><p>}</p><p><br></p>]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/2779575917/bd6ab3ce22b56ec858f64e36d4e81324/res_normal.png" />
         <pubDate>2024-09-23 05:26:33 UTC</pubDate>
         <guid>https://padlet.com/mksung89/EpitehNormal/wish/3132488071</guid>
      </item>
      <item>
         <title>7701587 Apolline Fontaine</title>
         <author></author>
         <link>https://padlet.com/mksung89/EpitehNormal/wish/3132488817</link>
         <description><![CDATA[<pre><code>
int main() {
    glm::vec3 p1(3, 0, 0);
    glm::vec3 p2(1.5, 0.86, 0);
    glm::vec3 p3(3, 0, -1);

    glm::vec3 v1 = (p2-p1);
    glm::vec3 v2 = (p3-p1);

    std::cout &lt;&lt; "normal  " &lt;&lt; glm::to_string(glm::normalize(glm::cross(v1,v2))) &lt;&lt; std::endl;

    return 0;
}</code></pre>]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/2779582938/4a3101f713e437ad94a92719379a531b/image.png" />
         <pubDate>2024-09-23 05:27:04 UTC</pubDate>
         <guid>https://padlet.com/mksung89/EpitehNormal/wish/3132488817</guid>
      </item>
      <item>
         <title>7701613 - Tom Daniel</title>
         <author></author>
         <link>https://padlet.com/mksung89/EpitehNormal/wish/3132488969</link>
         <description><![CDATA[<pre><code>glm::vec3 p1(3, 0, 0);</code></pre><pre><code>glm::vec3 p2(1.5, 0.86, 0);</code></pre><pre><code>glm::vec3 p3(3, 0, -1);</code></pre><pre><code>glm::vec3 v1 = p2 - p1;</code></pre><pre><code>glm::vec3 v2 = p3 - p1;</code></pre><pre><code>glm::vec3 n = glm::cross(v1, v2);</code></pre><pre><code>n = glm::normalize(n);</code></pre><pre><code>std::cout &lt;&lt; glm::to_string(n) &lt;&lt; std::endl;</code></pre>]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/2779590226/bbaf4b7ce024f06327b8b73e897e92c9/image.png" />
         <pubDate>2024-09-23 05:27:12 UTC</pubDate>
         <guid>https://padlet.com/mksung89/EpitehNormal/wish/3132488969</guid>
      </item>
      <item>
         <title>7701625_Ludovic_de_Chavagnac</title>
         <author>ludovicdechavagnac</author>
         <link>https://padlet.com/mksung89/EpitehNormal/wish/3132488972</link>
         <description><![CDATA[<pre><code>#define GLM_ENABLE_EXPERIMENTAL
#include &lt;glm/gtc/constants.hpp&gt;
#include &lt;iostream&gt;
#include &lt;glm/glm.hpp&gt;
#include &lt;glm/gtx/string_cast.hpp&gt;

glm::vec3 normalize(glm::vec3 p1, glm::vec3 p2, glm::vec3 p3) {
	glm::vec3 v1 = p2 - p1;
	glm::vec3 v2 = p3 - p1;
	return glm::normalize(glm::cross(v1, v2));
}

int main() {
	glm::vec3 p1(3, 0, 0);
	glm::vec3 p2(1.5, 0.86, 0);
	glm::vec3 p3(3, 0, -1);

	std::cout &lt;&lt; "The normal is: " &lt;&lt; glm::to_string(normalize(p1, p2, p3)) &lt;&lt; std::endl;
	return 0;
}</code></pre><p><br/></p>]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/2723481541/6b4e70e746baf68dc8fc7d4fc0f7189b/_1FAA1195_0CF3_49FE_9F44_32E54075779B_.png" />
         <pubDate>2024-09-23 05:27:12 UTC</pubDate>
         <guid>https://padlet.com/mksung89/EpitehNormal/wish/3132488972</guid>
      </item>
      <item>
         <title>7701542_MARQUES_Mathieu</title>
         <author></author>
         <link>https://padlet.com/mksung89/EpitehNormal/wish/3132489007</link>
         <description><![CDATA[<pre><code>#define GLM_ENABLE_EXPERIMENTAL

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

glm::vec3 calculateNormal(glm::vec3 p1, glm::vec3 p2, glm::vec3 p3)
{
	glm::vec3 v1 = p2 - p1;
	glm::vec3 v2 = p3 - p1;

	glm::vec3 normal = glm::cross(v1, v2);
	return glm::normalize(normal);
}

int main()
{
	glm::vec3 p1(3, 0, 0);
	glm::vec3 p2(1.5, 0.86, 0);
	glm::vec3 p3(3, 0, -1);

	glm::vec3 res = calculateNormal(p1, p2, p3);

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

	return 0;
}</code></pre>]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/2779584306/70f9f84c945a342cbc6381d18a5a28c3/image.png" />
         <pubDate>2024-09-23 05:27:13 UTC</pubDate>
         <guid>https://padlet.com/mksung89/EpitehNormal/wish/3132489007</guid>
      </item>
      <item>
         <title>7701546_Clément_Lagier</title>
         <author>clementlagier</author>
         <link>https://padlet.com/mksung89/EpitehNormal/wish/3132489528</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/gtc/constants.hpp&gt;</p><p>#include &lt;glm/gtx/string_cast.hpp&gt;</p><p>int main(void)</p><p>{</p><p>  glm::vec3 p1(3, 0, 0);</p><p>glm::vec3 p2(1.5, 0.86, 0);</p><p>  glm::vec3 p3(3, 0, -1);</p><p>  glm::vec3 v1 = p2 - p1;</p><p>  glm::vec3 v2 = p3 - p1;</p><p>  std::cout &lt;&lt; "Result: " &lt;&lt; glm::to_string(glm::normalize(glm::cross(v1, v2))) &lt;&lt; std::endl;</p><p>  return 0;</p><p>}</p><p><br/></p>]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/2676257671/1373c0649c65ac2a85870eb088a07665/image.png" />
         <pubDate>2024-09-23 05:27:38 UTC</pubDate>
         <guid>https://padlet.com/mksung89/EpitehNormal/wish/3132489528</guid>
      </item>
      <item>
         <title>7701550_Aldric_Jourdain</title>
         <author></author>
         <link>https://padlet.com/mksung89/EpitehNormal/wish/3132489632</link>
         <description><![CDATA[<pre><code>#define GLM_ENABLE_EXPERIMENTAL

#include &lt;iostream&gt;

#include &lt;glm/vec3.hpp&gt;
#include &lt;glm/gtx/string_cast.hpp&gt;
#include &lt;glm/gtc/constants.hpp&gt;

int main() {

	glm::vec3 p1(3, 0, 0);
	glm::vec3 p2(1.5f, 0.86f, 0);
	glm::vec3 p3(3, 0, -1);

	glm::vec3 v1 = p2 - p1;
	glm::vec3 v2 = p3 - p1;
	glm::vec3 normal = glm::normalize(glm::cross(v1, v2));
	std::cout &lt;&lt; "Normal: " &lt;&lt; glm::to_string(normal) &lt;&lt; std::endl;
	return 0;
}
</code></pre>]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/2779563998/195f872d29a9b6885c5a9a3972286c70/image.png" />
         <pubDate>2024-09-23 05:27:44 UTC</pubDate>
         <guid>https://padlet.com/mksung89/EpitehNormal/wish/3132489632</guid>
      </item>
      <item>
         <title>7701604 Sacha TOPALOFF</title>
         <author></author>
         <link>https://padlet.com/mksung89/EpitehNormal/wish/3132489839</link>
         <description><![CDATA[<pre><code class="language-cpp">#include &lt;glm/gtc/constants.hpp&gt;
#include &lt;glm/glm.hpp&gt;

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

#define GLM_

int main()
{
	glm::vec3 p1(3, 0, 0);
	glm::vec3 p2(1.5f, 0.86f, 0);
	glm::vec3 p3(3, 0, -1);


	glm::vec3 normal = glm::normalize(glm::cross((p1 - p3), (p2 - p3)));

	std::cout &lt;&lt; "Normal vector: " &lt;&lt; glm::to_string(normal) &lt;&lt; std::endl;
}</code></pre>]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/2779584847/4ec703103d7a6051464c4bbe29e48dcd/image.png" />
         <pubDate>2024-09-23 05:27:56 UTC</pubDate>
         <guid>https://padlet.com/mksung89/EpitehNormal/wish/3132489839</guid>
      </item>
      <item>
         <title>7701576_Turpin_Raphaël</title>
         <author>raphaelturpin20</author>
         <link>https://padlet.com/mksung89/EpitehNormal/wish/3132490249</link>
         <description><![CDATA[<pre><code>
#include &lt;iostream&gt;

#define GLM_ENABLE_EXPERIMENTAL

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

int main(void) {
    glm::vec3 p1(3, 0, 0);
    glm::vec3 p2(1.5, 0.86, 0);
    glm::vec3 p3(3, 0, -1);

    glm::vec3 n = glm::normalize(glm::cross((p2 - p1), (p3 - p1)));

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

    return 0;
}
</code></pre>]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/2676257873/6b0a2115c97cb2ad6b68e1939350cc03/image.png" />
         <pubDate>2024-09-23 05:28:18 UTC</pubDate>
         <guid>https://padlet.com/mksung89/EpitehNormal/wish/3132490249</guid>
      </item>
      <item>
         <title>7701592_Nathan_HOAREAU</title>
         <author></author>
         <link>https://padlet.com/mksung89/EpitehNormal/wish/3132490401</link>
         <description><![CDATA[<p>#define GLM_ENABLE_EXPERIMENTAL</p><p>#include &lt;iostream&gt;</p><p>#include "glm/glm.hpp"</p><p>#include "glm/gtc/constants.hpp"</p><p>#include "glm/gtx/string_cast.hpp"</p><p>int main()</p><p>{</p><p>	glm::vec3 p1(3, 0, 0);</p><p>	glm::vec3 p2(1.5, 0.86, 0);</p><p>	glm::vec3 p3(3, 0, -1);</p><p>	glm::vec3 v1 = p3 - p2;</p><p>	glm::vec3 v2 = p1 - p2; // p2 -&gt; p3 -&gt; p1</p><p>	glm::vec3 normal = glm::normalize(glm::cross(v1, v2));</p><p>	std::cout &lt;&lt; "Normal = " &lt;&lt; glm::to_string(normal) &lt;&lt; std::endl;</p><p>	return 0;</p><p>}</p><p><br/></p>]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/2779567983/6c0142f03f08384ba65f2ba02c9bbe3e/image_2024_09_23_142805171.png" />
         <pubDate>2024-09-23 05:28:26 UTC</pubDate>
         <guid>https://padlet.com/mksung89/EpitehNormal/wish/3132490401</guid>
      </item>
      <item>
         <title>7701581 MARTINS GANDRA Hugo</title>
         <author></author>
         <link>https://padlet.com/mksung89/EpitehNormal/wish/3132491524</link>
         <description><![CDATA[<p>#define GLM_FORCE_SWIZZLE</p><p>#define GLM_ENABLE_EXPERIMENTAL</p><p>#include "CMakeProject1.h"</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>using namespace std;</p><p>int main()</p><p>{</p><p>	const float DEGREES_TO_RADIANS = glm::pi&lt;float&gt;() / 180.0;</p><p>	const float RADIANS_TO_DEGREES = 180.0 / glm::pi&lt;float&gt;();</p><p>	glm::vec3 p1(3, 0, 0);</p><p>	glm::vec3 p2(1.5, 0.86, 0);</p><p>	glm::vec3 p3(3, 0, -1);</p><p>	glm::vec3 v1 = p2 - p1;</p><p>	glm::vec3 v2 = p3 - p1;</p><p>	</p><p>	glm::vec3 normal = glm::normalize(glm::cross(v1, v2));</p><p>	std::cout &lt;&lt; "Normal: " &lt;&lt; glm::to_string(normal) &lt;&lt; std::endl;</p><p>	</p><p>	return 0;</p><p>}</p>]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/2779560790/7444e38db7389ff663e38d47439bded2/image.png" />
         <pubDate>2024-09-23 05:28:45 UTC</pubDate>
         <guid>https://padlet.com/mksung89/EpitehNormal/wish/3132491524</guid>
      </item>
      <item>
         <title>7701521_DESOUSA_Brice</title>
         <author></author>
         <link>https://padlet.com/mksung89/EpitehNormal/wish/3132494239</link>
         <description><![CDATA[<p>int main()</p><p>{</p><p>	glm::vec3 p1(3, 0, 0);</p><p>	glm::vec3 p2(1.5f, 0.86f, 0);</p><p>	glm::vec3 p3(3, 0, -1);</p><p>	glm::vec3 v1 = p2 - p1;</p><p>	glm::vec3 v2 = p3 - p1;</p><p>	glm::vec3 norm = glm::cross(glm::normalize(v1), glm::normalize(v2));</p><p>	std::cout &lt;&lt; "Result : " &lt;&lt; glm::to_string(norm) &lt;&lt; std::endl;</p><p>	return 0;</p><p>}</p>]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/2779564333/7f7a40040f68cac904d0eaa89e1c9cd7/image.png" />
         <pubDate>2024-09-23 05:29:57 UTC</pubDate>
         <guid>https://padlet.com/mksung89/EpitehNormal/wish/3132494239</guid>
      </item>
      <item>
         <title>7701562 Julian Scott</title>
         <author></author>
         <link>https://padlet.com/mksung89/EpitehNormal/wish/3132495102</link>
         <description><![CDATA[<pre><code>#define GLM_ENABLE_EXPERIMENTAL

#include "CMakeProject1.h"

#include "iostream"
#include "glm/gtc/constants.hpp"
#include "glm/vec3.hpp"
#include "glm/glm.hpp"
#include "glm/gtx/string_cast.hpp"

using namespace std;


int main()
{
	constexpr double RADIANS_TO_DEGREES = 180.0 / glm::pi&lt;float&gt;();

	const glm::vec3 p1(3, 0, 0);
	const glm::vec3 p2(1.5, 0.86, 0);
	const glm::vec3 p3(3, 0, -1);

	const auto a = p2 - p1;
	const auto b = p3 - p1;
	
	const auto n = glm::normalize(glm::cross(a, b));

	std::cout &lt;&lt; "normal = " &lt;&lt; glm::to_string(n) &lt;&lt; std::endl;

	return 0;
}</code></pre>]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/2779601840/64990645dd2e44fd53541ab92c8b44b8/image.png" />
         <pubDate>2024-09-23 05:30:41 UTC</pubDate>
         <guid>https://padlet.com/mksung89/EpitehNormal/wish/3132495102</guid>
      </item>
      <item>
         <title>7701565 Axel HUMEAU</title>
         <author>axelhumeau</author>
         <link>https://padlet.com/mksung89/EpitehNormal/wish/3132495563</link>
         <description><![CDATA[<p>#define GLM_ENABLE_EXPERIMENTAL</p><p>#include &lt;glm/common.hpp&gt;</p><p>#include &lt;glm/gtc/constants.hpp&gt;</p><p>#include &lt;glm/vec3.hpp&gt;</p><p>#include &lt;glm/geometric.hpp&gt;</p><p>#include &lt;glm/trigonometric.hpp&gt;</p><p>#include &lt;glm/gtx/string_cast.hpp&gt;</p><p>#include &lt;iostream&gt;</p><p><br></p><p>int main()</p><p>{</p><p>	glm::vec3 p1(3, 0, 0);</p><p>	glm::vec3 p2(1.5, 0.86, 0);</p><p>	glm::vec3 p3(3, 0, -1);</p><p>	glm::vec3 v1 = p2 - p1;</p><p>	glm::vec3 v2 = p3 - p1;</p><p>	glm::vec3 n = glm::normalize(glm::cross(v1, v2));</p><p>	std::cout &lt;&lt; "The normal vector is " &lt;&lt; glm::to_string(n) &lt;&lt; std::endl;</p><p>	return 0;</p><p>}</p>]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/2723481545/9b795c927d21c7000ba8605c3c4589b5/Capture_d__cran_2024_09_23_143012.png" />
         <pubDate>2024-09-23 05:31:02 UTC</pubDate>
         <guid>https://padlet.com/mksung89/EpitehNormal/wish/3132495563</guid>
      </item>
      <item>
         <title>5854324_PHANXUANTU</title>
         <author>jctudolahoi123</author>
         <link>https://padlet.com/mksung89/EpitehNormal/wish/3132517438</link>
         <description><![CDATA[<p>#include &lt;iostream&gt;</p><p>#include &lt;glm/glm.hpp&gt;</p><p>int main() {</p><p>	glm::vec3 p1(3, 0, 0); </p><p>	glm::vec3 p2(1.5, 0.86, 0);</p><p>	glm::vec3 p3(3, 0, -1);</p><p>	glm::vec3 v1 = p2 - p1;</p><p>	glm::vec3 v2 = p3 - p1;</p><p>	glm::vec3 normal = glm::cross(v1, v2);</p><p>	glm::vec3 normalizedNormal = glm::normalize(normal);</p><p>	std::cout &lt;&lt; "(" &lt;&lt; normalizedNormal.x &lt;&lt; "," &lt;&lt; normalizedNormal.y &lt;&lt; "," &lt;&lt; normalizedNormal.z &lt;&lt; ")" &lt;&lt; std::endl;</p><p>	return 0;</p><p>}</p>]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/2777338270/3562ef471171545344190890a6783d74/image.png" />
         <pubDate>2024-09-23 05:47:26 UTC</pubDate>
         <guid>https://padlet.com/mksung89/EpitehNormal/wish/3132517438</guid>
      </item>
   </channel>
</rss>
