<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[sonnensystem]]></title><description><![CDATA[<p>Guten Tag zusammen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
<p>Ich hab da mal ne Frage, weil ich derzeit echt an einem Punkt am verzweifeln bin.<br />
Ich soll eine Sonnensystem erstellen inklusive Rotationen etc.</p>
<p>Ich bin soweit gekommen das siche alle Planeten um die Sonne drehen so wie sie sollen, nur wollen meine Monde nicht so wie sie sollen. Kann mir vielleicht jemand dabei helfen wie der richtige Code für die Monde lauten würde?<br />
Zur Zeit dreht sich der Mond einfach nur um den Startpunkt der Erde und weiter nicht. Ich weiß nicht wie ich den noch mit der Erde zusammen um die Sonne kreisen lassen soll <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
<p>Danke schon mal für die Hilfe. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":/"
      alt="😕"
    /></p>
<p>Bisher habe ich das:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;

#include &lt;simpleGP/color.h&gt;
#include &lt;simpleGP/rasterization.h&gt;
#include &lt;simpleGP/vec2i.h&gt;
#include &lt;simpleGP/window.h&gt;
#include &lt;simpleGP/mesh.h&gt;
#include &lt;simpleGP/triangle.h&gt;	
#include &lt;simpleGP/mat4f.h&gt;
#define _USE_MATH_DEFINES
#include &lt;math.h&gt;

// Methoden
Mesh transformPoints(Mesh m, Mat4f world)
{ 
	for(unsigned int i = 0; i &lt; m.GetNumOfTriangles(); i++)
	{
		Triangle* pTriangle = m.GetTrianglePointer(i);
		pTriangle-&gt;P0 = world * pTriangle-&gt;P0;
		pTriangle-&gt;P1 = world * pTriangle-&gt;P1;
		pTriangle-&gt;P2 = world * pTriangle-&gt;P2;
	}
	return m;
}

Mesh transformNormals(Mesh m, Mat4f world)
{
	for(unsigned int j = 0; j &lt; m.GetNumOfTriangles(); j++)
	{
		Triangle* pTriangle = m.GetTrianglePointer(j);
		pTriangle-&gt;N0 = world * pTriangle-&gt;N0;
		pTriangle-&gt;N1 = world * pTriangle-&gt;N1;
		pTriangle-&gt;N2 = world * pTriangle-&gt;N2;
	}
	return m;
}

Mat4f translate(float x, float y, float z)
{
	return Mat4f(1, 0, 0, x,
				 0, 1, 0, y,
				 0, 0, 1, z,
				 0, 0, 0, 1);
}

Mat4f rotate(float winkel)
{
	return Mat4f(cos(winkel / 180 * M_PI), -sin(winkel / 180 * M_PI),0, 0,
				 sin(winkel / 180 * M_PI), cos(winkel / 180 * M_PI), 0, 0, 
				 0, 0, 1, 0,
				 0, 0, 0, 1);
}

Mat4f scale(float faktor)
{ 
	return Mat4f(faktor, 0, 0, 0,
				 0, faktor, 0, 0,
				 0, 0, faktor, 0,
				 0, 0, 0, 1);
}

////////////////////////////////////////////////////////////////////////////////
// main function
////////////////////////////////////////////////////////////////////////////////
void main ()
{
  Window myWindow(640, 480, &quot;Ich bin das Sonnensystem! :-)&quot;);

  // Positionierung
  Mesh sonne(&quot;../meshes/D/yellow.obj&quot;);
  Mat4f position_sonne = translate(320, 240, 0) * scale(6);
  sonne = transformPoints(sonne, position_sonne);

  Mesh merkur(&quot;../meshes/D/gray.obj&quot;);
  Mat4f position_merkur = translate(320, 298, 0) * scale(1.2);
  merkur = transformPoints(merkur, position_merkur);

  Mesh venus(&quot;../meshes/D/gray.obj&quot;);
  Mat4f position_venus = translate(320, 340, 0) * scale(3);
  venus = transformPoints(venus, position_venus);

  Mesh erde(&quot;../meshes/D/blue.obj&quot;);
  Mat4f position_erde = translate(320, 390, 0) * scale(3.2);
  erde = transformPoints(erde, position_erde);

  Mesh mond(&quot;../meshes/D/gray.obj&quot;);
  Mat4f position_mond = translate(345, 390, 0) * scale(0.8);
  mond = transformPoints(mond, position_mond);

  Mesh mars(&quot;../meshes/D/orange.obj&quot;);
  Mat4f position_mars = translate(320, 468, 0) * scale(1.6);
  mars = transformPoints(mars, position_mars);

  Mesh phobos(&quot;../meshes/D/gray.obj&quot;);
  Mat4f position_phobos = translate(338, 468, 0) * scale(0.75);
  phobos = transformPoints(phobos, position_phobos);

  Mesh deimos(&quot;../meshes/D/gray.obj&quot;);
  Mat4f position_deimos = translate(290, 468, 0) * scale(0.5);
  deimos = transformPoints(deimos, position_deimos);

  positionLight(Vec4f(320,240,0,1));

  while (myWindow.IsOpen())
  {

    myWindow.HandleEvents();

    myWindow.Clear();

    // Code
	rasterizeMesh(sonne);

	Mat4f move_merkur = translate(320, 240, 0) * rotate(360 / 87.969) * translate(-320, -240, 0);
	merkur = transformNormals(merkur, move_merkur);
	merkur = transformPoints(merkur, move_merkur);
	rasterizeMesh(merkur);

	Mat4f move_venus = translate(320, 240, 0) * rotate(360 / 224.701) * translate(-320, -240, 0);
	venus = transformNormals(venus, move_venus);
	venus = transformPoints(venus, move_venus);
	rasterizeMesh(venus);

	Mat4f move_erde = translate(320, 240, 0) * rotate(360 / 365.256) * translate(-320, -240, 0);
	erde = transformNormals(erde, move_erde);
	erde = transformPoints(erde, move_erde);
	rasterizeMesh(erde);

	Mat4f move_mond = translate(320, 390, 0) * rotate(360 / 27.3217) * translate(-320, -390, 0);
	mond = transformNormals(mond, move_mond);
	mond = transformPoints(mond, move_mond);
	rasterizeMesh(mond);

	Mat4f move_mars = translate(320, 240, 0) * rotate(360 / 686.98) * translate(-320, -240, 0);
	mars = transformNormals(mars, move_mars);
	mars = transformPoints(mars, move_mars);
	rasterizeMesh(mars);

/*	Mat4f move_phobos = translate(320, 240, 0) * rotate(360 / 224.701) * translate(-320, -240, 0);
	phobos = transformNormals(phobos, move_phobos);
	phobos = transformPoints(phobos, move_phobos);
	rasterizeMesh(phobos);

	Mat4f move_deimos = translate(320, 240, 0) * rotate(360 / 224.701) * translate(-320, -240, 0);
	deimos = transformNormals(deimos, move_deimos);
	deimos = transformPoints(deimos, move_deimos);
	rasterizeMesh(deimos);
*/
    myWindow.Display();
  }  
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/297897/sonnensystem</link><generator>RSS for Node</generator><lastBuildDate>Fri, 14 Aug 2026 04:21:48 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/297897.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 09 Jan 2012 12:25:31 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to sonnensystem on Mon, 09 Jan 2012 12:25:31 GMT]]></title><description><![CDATA[<p>Guten Tag zusammen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
<p>Ich hab da mal ne Frage, weil ich derzeit echt an einem Punkt am verzweifeln bin.<br />
Ich soll eine Sonnensystem erstellen inklusive Rotationen etc.</p>
<p>Ich bin soweit gekommen das siche alle Planeten um die Sonne drehen so wie sie sollen, nur wollen meine Monde nicht so wie sie sollen. Kann mir vielleicht jemand dabei helfen wie der richtige Code für die Monde lauten würde?<br />
Zur Zeit dreht sich der Mond einfach nur um den Startpunkt der Erde und weiter nicht. Ich weiß nicht wie ich den noch mit der Erde zusammen um die Sonne kreisen lassen soll <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
<p>Danke schon mal für die Hilfe. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":/"
      alt="😕"
    /></p>
<p>Bisher habe ich das:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;

#include &lt;simpleGP/color.h&gt;
#include &lt;simpleGP/rasterization.h&gt;
#include &lt;simpleGP/vec2i.h&gt;
#include &lt;simpleGP/window.h&gt;
#include &lt;simpleGP/mesh.h&gt;
#include &lt;simpleGP/triangle.h&gt;	
#include &lt;simpleGP/mat4f.h&gt;
#define _USE_MATH_DEFINES
#include &lt;math.h&gt;

// Methoden
Mesh transformPoints(Mesh m, Mat4f world)
{ 
	for(unsigned int i = 0; i &lt; m.GetNumOfTriangles(); i++)
	{
		Triangle* pTriangle = m.GetTrianglePointer(i);
		pTriangle-&gt;P0 = world * pTriangle-&gt;P0;
		pTriangle-&gt;P1 = world * pTriangle-&gt;P1;
		pTriangle-&gt;P2 = world * pTriangle-&gt;P2;
	}
	return m;
}

Mesh transformNormals(Mesh m, Mat4f world)
{
	for(unsigned int j = 0; j &lt; m.GetNumOfTriangles(); j++)
	{
		Triangle* pTriangle = m.GetTrianglePointer(j);
		pTriangle-&gt;N0 = world * pTriangle-&gt;N0;
		pTriangle-&gt;N1 = world * pTriangle-&gt;N1;
		pTriangle-&gt;N2 = world * pTriangle-&gt;N2;
	}
	return m;
}

Mat4f translate(float x, float y, float z)
{
	return Mat4f(1, 0, 0, x,
				 0, 1, 0, y,
				 0, 0, 1, z,
				 0, 0, 0, 1);
}

Mat4f rotate(float winkel)
{
	return Mat4f(cos(winkel / 180 * M_PI), -sin(winkel / 180 * M_PI),0, 0,
				 sin(winkel / 180 * M_PI), cos(winkel / 180 * M_PI), 0, 0, 
				 0, 0, 1, 0,
				 0, 0, 0, 1);
}

Mat4f scale(float faktor)
{ 
	return Mat4f(faktor, 0, 0, 0,
				 0, faktor, 0, 0,
				 0, 0, faktor, 0,
				 0, 0, 0, 1);
}

////////////////////////////////////////////////////////////////////////////////
// main function
////////////////////////////////////////////////////////////////////////////////
void main ()
{
  Window myWindow(640, 480, &quot;Ich bin das Sonnensystem! :-)&quot;);

  // Positionierung
  Mesh sonne(&quot;../meshes/D/yellow.obj&quot;);
  Mat4f position_sonne = translate(320, 240, 0) * scale(6);
  sonne = transformPoints(sonne, position_sonne);

  Mesh merkur(&quot;../meshes/D/gray.obj&quot;);
  Mat4f position_merkur = translate(320, 298, 0) * scale(1.2);
  merkur = transformPoints(merkur, position_merkur);

  Mesh venus(&quot;../meshes/D/gray.obj&quot;);
  Mat4f position_venus = translate(320, 340, 0) * scale(3);
  venus = transformPoints(venus, position_venus);

  Mesh erde(&quot;../meshes/D/blue.obj&quot;);
  Mat4f position_erde = translate(320, 390, 0) * scale(3.2);
  erde = transformPoints(erde, position_erde);

  Mesh mond(&quot;../meshes/D/gray.obj&quot;);
  Mat4f position_mond = translate(345, 390, 0) * scale(0.8);
  mond = transformPoints(mond, position_mond);

  Mesh mars(&quot;../meshes/D/orange.obj&quot;);
  Mat4f position_mars = translate(320, 468, 0) * scale(1.6);
  mars = transformPoints(mars, position_mars);

  Mesh phobos(&quot;../meshes/D/gray.obj&quot;);
  Mat4f position_phobos = translate(338, 468, 0) * scale(0.75);
  phobos = transformPoints(phobos, position_phobos);

  Mesh deimos(&quot;../meshes/D/gray.obj&quot;);
  Mat4f position_deimos = translate(290, 468, 0) * scale(0.5);
  deimos = transformPoints(deimos, position_deimos);

  positionLight(Vec4f(320,240,0,1));

  while (myWindow.IsOpen())
  {

    myWindow.HandleEvents();

    myWindow.Clear();

    // Code
	rasterizeMesh(sonne);

	Mat4f move_merkur = translate(320, 240, 0) * rotate(360 / 87.969) * translate(-320, -240, 0);
	merkur = transformNormals(merkur, move_merkur);
	merkur = transformPoints(merkur, move_merkur);
	rasterizeMesh(merkur);

	Mat4f move_venus = translate(320, 240, 0) * rotate(360 / 224.701) * translate(-320, -240, 0);
	venus = transformNormals(venus, move_venus);
	venus = transformPoints(venus, move_venus);
	rasterizeMesh(venus);

	Mat4f move_erde = translate(320, 240, 0) * rotate(360 / 365.256) * translate(-320, -240, 0);
	erde = transformNormals(erde, move_erde);
	erde = transformPoints(erde, move_erde);
	rasterizeMesh(erde);

	Mat4f move_mond = translate(320, 390, 0) * rotate(360 / 27.3217) * translate(-320, -390, 0);
	mond = transformNormals(mond, move_mond);
	mond = transformPoints(mond, move_mond);
	rasterizeMesh(mond);

	Mat4f move_mars = translate(320, 240, 0) * rotate(360 / 686.98) * translate(-320, -240, 0);
	mars = transformNormals(mars, move_mars);
	mars = transformPoints(mars, move_mars);
	rasterizeMesh(mars);

/*	Mat4f move_phobos = translate(320, 240, 0) * rotate(360 / 224.701) * translate(-320, -240, 0);
	phobos = transformNormals(phobos, move_phobos);
	phobos = transformPoints(phobos, move_phobos);
	rasterizeMesh(phobos);

	Mat4f move_deimos = translate(320, 240, 0) * rotate(360 / 224.701) * translate(-320, -240, 0);
	deimos = transformNormals(deimos, move_deimos);
	deimos = transformPoints(deimos, move_deimos);
	rasterizeMesh(deimos);
*/
    myWindow.Display();
  }  
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2165734</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2165734</guid><dc:creator><![CDATA[mauka]]></dc:creator><pubDate>Mon, 09 Jan 2012 12:25:31 GMT</pubDate></item><item><title><![CDATA[Reply to sonnensystem on Mon, 09 Jan 2012 12:27:10 GMT]]></title><description><![CDATA[<p>Ohne jetzt den Code zu lesen:<br />
Der Monde hat halt einfach die Erde als Ursprung und nicht die Sonne. Erst die neue Position der Erde berechnen, und dann darauf bezogen die neue Position des Mondes.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2165735</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2165735</guid><dc:creator><![CDATA[Tachyon]]></dc:creator><pubDate>Mon, 09 Jan 2012 12:27:10 GMT</pubDate></item><item><title><![CDATA[Reply to sonnensystem on Mon, 09 Jan 2012 12:29:00 GMT]]></title><description><![CDATA[<p>mauka schrieb:</p>
<blockquote>
<p>Ich weiß nicht wie ich den noch mit der Erde zusammen um die Sonne kreisen lassen soll <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
</blockquote>
<p>Und hier wären Klassen mal soo sinnvoll gewesen. -.-<br />
Wie auch immer, du musst beim Kreisen der Monde ja die Position der Planeten mitberücksichtigen. Also einfach zu deren Position schieben und dann rotieren.</p>
<p>PS: Ich hoffe das soll nichts in Originalgröße werden? Dann siehste nämlich nichts mehr sobald die Sonne am Start ist. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2165738</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2165738</guid><dc:creator><![CDATA[cooky451]]></dc:creator><pubDate>Mon, 09 Jan 2012 12:29:00 GMT</pubDate></item><item><title><![CDATA[Reply to sonnensystem on Mon, 09 Jan 2012 12:36:42 GMT]]></title><description><![CDATA[<p>die monde drehen sich ja das ist ja nicht das problem. nur iwie vercheck ichs wie ich das machen soll, das sich die monde MIT den dazugehörigen planeten mit um die sonne drehen. meine monde drehen sich nur an einer stelle.</p>
<p>hab ma nen screen gemacht, damit ihr hoffentlich versteht was ich meine, weil ich das nicht erklären kann.</p>
<p><a href="http://s1.directupload.net/images/120109/rgquqiw8.jpg" rel="nofollow">http://s1.directupload.net/images/120109/rgquqiw8.jpg</a></p>
<p>und nein wird nich maßstabs getreu <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2165739</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2165739</guid><dc:creator><![CDATA[mauka]]></dc:creator><pubDate>Mon, 09 Jan 2012 12:36:42 GMT</pubDate></item><item><title><![CDATA[Reply to sonnensystem on Mon, 09 Jan 2012 12:44:42 GMT]]></title><description><![CDATA[<p>Und inwiefern helfen dir die beiden Antworten nicht?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2165749</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2165749</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Mon, 09 Jan 2012 12:44:42 GMT</pubDate></item><item><title><![CDATA[Reply to sonnensystem on Mon, 09 Jan 2012 12:48:26 GMT]]></title><description><![CDATA[<p>ich checks iwie nich wie ich die neue position der planeten bzw. der erde berechne <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /> bin ziemlich neu in c++ <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":O"
      alt="😮"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2165751</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2165751</guid><dc:creator><![CDATA[mauka]]></dc:creator><pubDate>Mon, 09 Jan 2012 12:48:26 GMT</pubDate></item><item><title><![CDATA[Reply to sonnensystem on Mon, 09 Jan 2012 13:05:36 GMT]]></title><description><![CDATA[<p>Ich habe keine Lust, das aus deinem Code herauszufinden, aber: Berechnest du die aktuelle Position aus einer Formel oder rechnest du alle 0,0x Sekunden etwas zur aktuellen Position der Objekte hinzu? Falls du ersteres machst, dann gilt: MondPosition(t) = Vektor(r * sin(a*t); r * cos(a*t)) + PlanetenPosition(t)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2165764</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2165764</guid><dc:creator><![CDATA[wxSkip]]></dc:creator><pubDate>Mon, 09 Jan 2012 13:05:36 GMT</pubDate></item><item><title><![CDATA[Reply to sonnensystem on Mon, 09 Jan 2012 13:12:14 GMT]]></title><description><![CDATA[<p>also, falls ich das jez richtig verstanden habe. ich verschiebe die planten in den ursprung lasse sie rotieren und verschieb die wieder zurück.</p>
<p>das mach ich mit 2 matrizen</p>
<pre><code class="language-cpp">Mat4f translate(float x, float y, float z)
{
    return Mat4f(1, 0, 0, x,
                 0, 1, 0, y,
                 0, 0, 1, z,
                 0, 0, 0, 1);
}

Mat4f rotate(float winkel)
{
    return Mat4f(cos(winkel / 180 * M_PI), -sin(winkel / 180 * M_PI),0, 0,
                 sin(winkel / 180 * M_PI), cos(winkel / 180 * M_PI), 0, 0,
                 0, 0, 1, 0,
                 0, 0, 0, 1);
}
</code></pre>
<p>und das sieht dann so aus wenn ich das mache:</p>
<pre><code class="language-cpp">Mat4f move_erde = translate(320, 240, 0) * rotate(360 / 365.256) * translate(-320, -240, 0);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2165765</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2165765</guid><dc:creator><![CDATA[mauka]]></dc:creator><pubDate>Mon, 09 Jan 2012 13:12:14 GMT</pubDate></item><item><title><![CDATA[Reply to sonnensystem on Mon, 09 Jan 2012 13:19:08 GMT]]></title><description><![CDATA[<p>Warum nimmst du eine Matrix, wenn du doch einen Vektor nehmen könntest? Wofür stehen die Werte in der Matrix? Und warum nimmst du 365.256, wenn es doch eigentlich 365.2425 Tage sind?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2165770</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2165770</guid><dc:creator><![CDATA[wxSkip]]></dc:creator><pubDate>Mon, 09 Jan 2012 13:19:08 GMT</pubDate></item><item><title><![CDATA[Reply to sonnensystem on Mon, 09 Jan 2012 13:21:09 GMT]]></title><description><![CDATA[<p>weil wirs so machen sollen. ist vorgegeben <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":/"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2165771</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2165771</guid><dc:creator><![CDATA[mauka]]></dc:creator><pubDate>Mon, 09 Jan 2012 13:21:09 GMT</pubDate></item><item><title><![CDATA[Reply to sonnensystem on Mon, 09 Jan 2012 13:38:53 GMT]]></title><description><![CDATA[<p>wxSkip schrieb:</p>
<blockquote>
<p>Und warum nimmst du 365.256, wenn es doch eigentlich 365.2425 Tage sind?</p>
</blockquote>
<p>Es geht um das siderische Jahr, also um eine vollständige Umrundung von außen betrachtet.</p>
<p>~Edit: Pedanterie~</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2165773</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2165773</guid><dc:creator><![CDATA[Caligulaminus]]></dc:creator><pubDate>Mon, 09 Jan 2012 13:38:53 GMT</pubDate></item><item><title><![CDATA[Reply to sonnensystem on Mon, 09 Jan 2012 13:34:37 GMT]]></title><description><![CDATA[<blockquote>
<p>also, falls ich das jez richtig verstanden habe. ich verschiebe die planten in den ursprung lasse sie rotieren und verschieb die wieder zurück.</p>
</blockquote>
<p>Dann verschieb den Mond zur Position des Planeten, dann in den ursprung, lass ihn wie den Planeten rotieren, schiebe ihn an die position des planeten, rotiere ihn mit der Mondrotation und schieb den Mond wieder weg. Sollte dann doch passen, oder?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2165781</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2165781</guid><dc:creator><![CDATA[kleiner Troll]]></dc:creator><pubDate>Mon, 09 Jan 2012 13:34:37 GMT</pubDate></item><item><title><![CDATA[Reply to sonnensystem on Mon, 09 Jan 2012 13:45:45 GMT]]></title><description><![CDATA[<p>klingt plausibel. nur schaff ich das grad iwie nich.. -.- mein hirn will nich mehr so wie ich will.. ich kann das ja nich alles in eine zeile schreiben weil sich ja sonst die ganzen translates und rotates multiplizieren und dann totaler müll iwie rauskommt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2165784</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2165784</guid><dc:creator><![CDATA[mauka]]></dc:creator><pubDate>Mon, 09 Jan 2012 13:45:45 GMT</pubDate></item><item><title><![CDATA[Reply to sonnensystem on Mon, 09 Jan 2012 13:50:02 GMT]]></title><description><![CDATA[<p>Dann mach es nicht in einer Zeile, sondern schön hübsch nacheinander. Achte auf die richtige Reihenfolge der Translationen und Drehungen, die sind nicht assoziativ.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2165788</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2165788</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Mon, 09 Jan 2012 13:50:02 GMT</pubDate></item><item><title><![CDATA[Reply to sonnensystem on Mon, 09 Jan 2012 14:19:36 GMT]]></title><description><![CDATA[<p>ich heul gleich xDD es klappt immer nur eine sache<br />
entweder der mond dreht sich an nur einem punkt um die erde, aber nicht mit der erde um die sonne. oder der mond dreht sich mit der erde um die sonne aba bleibt immer an der gleichen stelle von der erde.... sobald ich beide aufeinmal mach, saust der mond immer von iwo her durchs bild xD zum verzweifeln <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f623.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--persevering_face"
      title="&gt;.&lt;"
      alt="😣"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2165803</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2165803</guid><dc:creator><![CDATA[mauka]]></dc:creator><pubDate>Mon, 09 Jan 2012 14:19:36 GMT</pubDate></item><item><title><![CDATA[Reply to sonnensystem on Mon, 09 Jan 2012 14:34:17 GMT]]></title><description><![CDATA[<p>Wie sieht Dein Code denn jetzt aus?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2165810</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2165810</guid><dc:creator><![CDATA[Tachyon]]></dc:creator><pubDate>Mon, 09 Jan 2012 14:34:17 GMT</pubDate></item><item><title><![CDATA[Reply to sonnensystem on Mon, 09 Jan 2012 14:42:10 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">void main ()
{
  Window myWindow(640, 480, &quot;Sonnensystem - Gruppe B&quot;);

  // Positionierung
  Mesh sonne(&quot;../meshes/D/yellow.obj&quot;);
  Mat4f position_sonne = translate(320, 240, 0) * scale(6);
  sonne = transformPoints(sonne, position_sonne);

  Mesh merkur(&quot;../meshes/D/gray.obj&quot;);
  Mat4f position_merkur = translate(320, 298, 0) * scale(1.2);
  merkur = transformPoints(merkur, position_merkur);

  Mesh venus(&quot;../meshes/D/gray.obj&quot;);
  Mat4f position_venus = translate(320, 340, 0) * scale(3);
  venus = transformPoints(venus, position_venus);

  Mesh erde(&quot;../meshes/D/blue.obj&quot;);
  Mat4f position_erde = translate(320, 390, 0) * scale(3.2);
  erde = transformPoints(erde, position_erde);

  Mesh mond(&quot;../meshes/D/gray.obj&quot;);
  Mat4f position_mond = translate(345, 390, 0) * scale(0.8);
  mond = transformPoints(mond, position_mond);

  Mesh mars(&quot;../meshes/D/orange.obj&quot;);
  Mat4f position_mars = translate(320, 468, 0) * scale(1.6);
  mars = transformPoints(mars, position_mars);

  Mesh phobos(&quot;../meshes/D/gray.obj&quot;);
  Mat4f position_phobos = translate(338, 468, 0) * scale(0.75);
  phobos = transformPoints(phobos, position_phobos);

  Mesh deimos(&quot;../meshes/D/gray.obj&quot;);
  Mat4f position_deimos = translate(290, 468, 0) * scale(0.5);
  deimos = transformPoints(deimos, position_deimos);

  positionLight(Vec4f(320,240,0,1));

  while (myWindow.IsOpen())
  {

    myWindow.HandleEvents();

    myWindow.Clear();

    // Code
	rasterizeMesh(sonne);

	Mat4f move_merkur = translate(320, 240, 0) * rotate(360 / 87.969) * translate(-320, -240, 0);
	merkur = transformNormals(merkur, move_merkur);
	merkur = transformPoints(merkur, move_merkur);
	rasterizeMesh(merkur);

	Mat4f move_venus = translate(320, 240, 0) * rotate(360 / 224.701) * translate(-320, -240, 0);
	venus = transformNormals(venus, move_venus);
	venus = transformPoints(venus, move_venus);
	rasterizeMesh(venus);

	Mat4f move_erde = translate(320, 240, 0) * rotate(360 / 365.256) * translate(-320, -240, 0);
	erde = transformNormals(erde, move_erde);
	erde = transformPoints(erde, move_erde);
	rasterizeMesh(erde);

	Mat4f move_mond = translate(320, 240, 0) 
		* rotate(360 / 365.256) 
		* translate(-320, -240, 0)
		* translate(320, 390, 0)
		* rotate(360 / 27.3217)
		* translate(-320, -390, 0);

	mond = transformNormals(mond, move_mond);
	mond = transformPoints(mond, move_mond);
	rasterizeMesh(mond);

	Mat4f move_mars = translate(320, 240, 0) * rotate(360 / 686.98) * translate(-320, -240, 0);
	mars = transformNormals(mars, move_mars);
	mars = transformPoints(mars, move_mars);
	rasterizeMesh(mars);

	Mat4f move_phobos = translate(320, 468, 0) * rotate(360 / 224.701) * translate(-320, -468, 0);
	phobos = transformNormals(phobos, move_phobos);
	phobos = transformPoints(phobos, move_phobos);
	rasterizeMesh(phobos);

	Mat4f move_deimos = translate(320, 468, 0) * rotate(360 / 224.701) * translate(-320, -468, 0);
	deimos = transformNormals(deimos, move_deimos);
	deimos = transformPoints(deimos, move_deimos);
	rasterizeMesh(deimos);

    myWindow.Display();
  }
</code></pre>
<p>da wo die translates usw untereinander stehn, is das was ich meine verstanden zu haben was kleiner troll meint. nur funzt das nich, aba ich geh ma davon aus das es an mir liegt weil ich grad echt überfordert bin.. kann mir denn keiner sagen wie ich das richtig schreibn damit ichs für die zukunft weiß, und nich weitere stunden wut, wegn meines eigenen nichtkönnens aufkommt xD</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2165813</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2165813</guid><dc:creator><![CDATA[mauka]]></dc:creator><pubDate>Mon, 09 Jan 2012 14:42:10 GMT</pubDate></item><item><title><![CDATA[Reply to sonnensystem on Mon, 09 Jan 2012 14:54:29 GMT]]></title><description><![CDATA[<p>mauka schrieb:</p>
<blockquote>
<p>da wo die translates usw untereinander stehn, is das was ich meine verstanden zu haben was kleiner troll meint. nur funzt das nich, aba ich geh ma davon aus das es an mir liegt weil ich grad echt überfordert bin.. kann mir denn keiner sagen wie ich das richtig schreibn damit ichs für die zukunft weiß, und nich weitere stunden wut, wegn meines eigenen nichtkönnens aufkommt xD</p>
</blockquote>
<p>Zu unlesbar wegen zuvieler magischer Werte. Außerdem kann das keiner zuhause ausprobieren, weil uns deine Bibliotheken fehlen. Man kann es daher nur mit Worten erklären:</p>
<p>Wenn du die Erde dreht:<br />
0. Den Mond die gleiche Drehung machen lassen.<br />
Dann, wenn der Mond drankommt:<br />
1. Position der Erde von der Position des Mondes abziehen<br />
2. Monddrehung anwenden<br />
3. Position der Erde hinzu addieren</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2165820</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2165820</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Mon, 09 Jan 2012 14:54:29 GMT</pubDate></item></channel></rss>