<?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[Doppelsumme]]></title><description><![CDATA[<p>Hallo Leute!</p>
<p>Würde euer Hilfe brauchen,da ich bei dieser Aufgaben ein wenig anstehe.<br />
Habe eine Doppelsumme zu lösen.</p>
<p>Wobei u,v Koordinaten sind die auch durchlaufen werden:<br />
f(u,v)= Σ<sub>i=0</sub><sup>bis3</sup>Σ<sub>j=0</sub><sup>bis3</sup>(f(i,j)*h(u-i)*h(v-j))</p>
<p>Wobei h(u-i) und h(v-j) auch noch Funktionen sind, aber dieses Problem habe ich schon gelöst.Hier kommen auch schon Werte zurück (Floats).</p>
<p>Kann mir da wer von euch helfen.<br />
Bitte nicht zu komplexen Code schreiben, damit ich ihn auch verstehen kann. <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>
<p>Danke<br />
Luis</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/265299/doppelsumme</link><generator>RSS for Node</generator><lastBuildDate>Fri, 04 Sep 2026 08:24:22 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/265299.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 20 Apr 2010 21:14:11 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Doppelsumme on Tue, 20 Apr 2010 21:14:11 GMT]]></title><description><![CDATA[<p>Hallo Leute!</p>
<p>Würde euer Hilfe brauchen,da ich bei dieser Aufgaben ein wenig anstehe.<br />
Habe eine Doppelsumme zu lösen.</p>
<p>Wobei u,v Koordinaten sind die auch durchlaufen werden:<br />
f(u,v)= Σ<sub>i=0</sub><sup>bis3</sup>Σ<sub>j=0</sub><sup>bis3</sup>(f(i,j)*h(u-i)*h(v-j))</p>
<p>Wobei h(u-i) und h(v-j) auch noch Funktionen sind, aber dieses Problem habe ich schon gelöst.Hier kommen auch schon Werte zurück (Floats).</p>
<p>Kann mir da wer von euch helfen.<br />
Bitte nicht zu komplexen Code schreiben, damit ich ihn auch verstehen kann. <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>
<p>Danke<br />
Luis</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1885958</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1885958</guid><dc:creator><![CDATA[s.luis]]></dc:creator><pubDate>Tue, 20 Apr 2010 21:14:11 GMT</pubDate></item><item><title><![CDATA[Reply to Doppelsumme on Tue, 20 Apr 2010 22:07:18 GMT]]></title><description><![CDATA[<p>hihi</p>
<p>die Funktionen f und h hast du ja schon gelöst dann musst du ja eigentlich nur multiplizieren und addieren.<br />
Ich würd's einfach mit 2 for-schleifen machen.^^</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
using namespace std;

int main()
{
    float end_erg = 0.0;

    for(int i=0; i&lt;=3; i++)
    {
        float tmp_erg = 0.0;

        for(int j=0; j&lt;=3; j++)
        {
            float fij = 1.0;
            float hui = 2.0;
            float hvj = 3.0;

            tmp_erg += ( fij*hui*hvj );
        }

        end_erg += tmp_erg;
    }

    cout &lt;&lt; end_erg; // sollte 4*6*4 sein
    return 0;
}
</code></pre>
<p>mfg Dweb</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1885963</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1885963</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Tue, 20 Apr 2010 22:07:18 GMT</pubDate></item><item><title><![CDATA[Reply to Doppelsumme on Tue, 20 Apr 2010 22:03:43 GMT]]></title><description><![CDATA[<p>@Dweb: die 2. &quot;Laufvariable&quot; die er hat ist &quot;j&quot; und nicht &quot;u&quot; <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>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/24486">@s.luis</a>: meinst du wirklich 2x f()?<br />
Also <code>f(u,v) = ... f(i,j) ...</code> - dasselbe f?<br />
In dem Fall wäre eine offensichtliche Lösung <code>f(u,v) = 0</code> . Unabhängig von <code>h</code> , <code>u</code> oder <code>v</code> .</p>
<p>Ansonsten, falls <code>f(i,j)</code> bekannte sein sollte ... hat Dweb ja schon geschrieben wie das geht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1885975</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1885975</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Tue, 20 Apr 2010 22:03:43 GMT</pubDate></item><item><title><![CDATA[Reply to Doppelsumme on Tue, 20 Apr 2010 22:19:26 GMT]]></title><description><![CDATA[<p>hustbaer schrieb:</p>
<blockquote>
<p>In dem Fall wäre eine offensichtliche Lösung f(u,v) = 0. Unabhängig von h, u oder v.</p>
</blockquote>
<p>Hmm scho spät:D<br />
Wieso ist das offensichtlich &quot;0&quot;... sehs grad nicht auf anhieb.^^</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1885981</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1885981</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Tue, 20 Apr 2010 22:19:26 GMT</pubDate></item><item><title><![CDATA[Reply to Doppelsumme on Wed, 21 Apr 2010 05:58:12 GMT]]></title><description><![CDATA[<p>Dweb schrieb:</p>
<blockquote>
<p>Wieso ist das offensichtlich &quot;0&quot;... sehs grad nicht auf anhieb.^^</p>
</blockquote>
<p>wenn f(i,j) = 0 für alle i,j =&gt; f(i,j)*h(u-i)*h(v-j) = 0 für alle u,v =&gt; f(u,v) = 0 und du hast ein konsistentes Ergebnis. (vermutlich nicht das einzige)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1886008</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1886008</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Wed, 21 Apr 2010 05:58:12 GMT</pubDate></item><item><title><![CDATA[Reply to Doppelsumme on Wed, 21 Apr 2010 06:00:32 GMT]]></title><description><![CDATA[<p>pumuckl schrieb:</p>
<blockquote>
<p>(vermutlich nicht das einzige)</p>
</blockquote>
<p>Ein weiterer Spezialfall wäre z.B. wenn h(i,j) = δ<sub>ij</sub>, dann steht da nämlich f(u,v) = f(u,v) und jede Funktion f ist eine Lösung...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1886010</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1886010</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Wed, 21 Apr 2010 06:00:32 GMT</pubDate></item><item><title><![CDATA[Reply to Doppelsumme on Wed, 21 Apr 2010 16:03:48 GMT]]></title><description><![CDATA[<p>Die Laufvariablen sind i und j in diesem Fall. u und v sind Koordinaten die auch übers gesamt Bild laufen. =&gt; 4 For-Schleifen ist schon ein wenig viel, aber es wird wohl nicht anders gehen. f(u,v) ist jene Funktion die einen Farbwert an der Stelle u,v berechnet. i und j sind wie eine Maske. Das ganze läuft unter den Namen bikubische Interpolation.</p>
<p>Wenn f(u,v) = 0 ist dann ist der Farbwert schwarz, jedoch ist dann nicht immer richtig.</p>
<p>Danke für eure Hilfe.<br />
Luis</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1886331</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1886331</guid><dc:creator><![CDATA[s.luis]]></dc:creator><pubDate>Wed, 21 Apr 2010 16:03:48 GMT</pubDate></item><item><title><![CDATA[Reply to Doppelsumme on Wed, 21 Apr 2010 16:43:55 GMT]]></title><description><![CDATA[<p>Bzgl Interpolation auf Bildern kann ich <a href="http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.68.6734&amp;rep=rep1&amp;type=pdf" rel="nofollow">das hier</a> empfehlen. Ich benutze häufig B-Splines 3. Ordnung für h, weil sie sehr glatt sind und die Anwendung sehr schnell sein kann (je nach Implementierung).</p>
<p>Es gibt da einige Tricks. ZB kann man sich eine Funktion schreiben, die h gleich auf einen Schlag an 4 Stellen abtastet. Dann ist die Formel noch nach x und y separierbar. Anders formuliert: Du kannst einiges ausklammern, so dass Du nichts doppelt und dreifach berechnen musst.</p>
<pre><code class="language-cpp">/// computes weighting coefficients of some cubic &quot;interpolator&quot;
/// @param x    0 &lt;= x &lt;= 1
/// @param out  pointer for resulting weights
void compute_h(double x, double out[])
{
  out[0] = ...; // ein Polynom 3. Grades in x
  out[1] = ...; // ein Polynom 3. Grades in x
  out[2] = ...; // ein Polynom 3. Grades in x
  out[3] = ...; // ein Polynom 3. Grades in x
}
</code></pre>
<p>Benutzen könnte man das dann so:</p>
<pre><code class="language-cpp">assert( 1 &lt;= u &amp;&amp; 1 &lt;= v );
int x0 = static_cast&lt;int&gt;(u); u -= x0;
int y0 = static_cast&lt;int&gt;(v); v -= y0;
assert( 0 &lt;= u &amp;&amp; u &lt;= 1); // &quot;rest&quot;
assert( 0 &lt;= v &amp;&amp; v &lt;= 1); // &quot;rest&quot;
--x0; --y0;
double wx[4]; compute_h(u,wx);
double wy[4]; compute_h(v,wy);
double result = 0;
for (int j=0; j&lt;4; ++j)
  double tmp = 0;
  for (int i=0; i&lt;4; ++i) {
    tmp += bild[y0+j][x0+i] * wx[i];
  }
  result += tmp * wy[j];
}
</code></pre>
<p>(ungetestet)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1886351</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1886351</guid><dc:creator><![CDATA[krümelkacker]]></dc:creator><pubDate>Wed, 21 Apr 2010 16:43:55 GMT</pubDate></item><item><title><![CDATA[Reply to Doppelsumme on Wed, 21 Apr 2010 17:09:41 GMT]]></title><description><![CDATA[<p>Okay danke.</p>
<p>Nur das Problem ist das mit der Zeit ja die Maske über den Bildbereich hinausschaut oder? Bez. am Anfang nimmt sie mehr Punkte mit als sie soll.<br />
Da liegen meine Hauptfehler. Die Punkte die sie zuviel nimmt sollten einfach mit der Farbe schwarz (rgb) aufgefüllt werden.<br />
Nochwas zur 4x4 Maske. Wenn ich sie von 0-4 durchlaufe(in beide Richtugen),dann nehme nicht die richtigen Werte, da meine Koordinate die ich bekomme, nicht im Zentrum der Maske liegt, sonder am Rand oder?</p>
<p>Danke für den Link, schaut gut aus muss ihn noch genauer durchlesen.</p>
<p>Grüße<br />
Luis</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1886355</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1886355</guid><dc:creator><![CDATA[s.luis]]></dc:creator><pubDate>Wed, 21 Apr 2010 17:09:41 GMT</pubDate></item><item><title><![CDATA[Reply to Doppelsumme on Wed, 21 Apr 2010 17:42:02 GMT]]></title><description><![CDATA[<p>s.luis schrieb:</p>
<blockquote>
<p>Nur das Problem ist das mit der Zeit ja die Maske über den Bildbereich hinausschaut oder? Bez. am Anfang nimmt sie mehr Punkte mit als sie soll.<br />
Da liegen meine Hauptfehler. Die Punkte die sie zuviel nimmt sollten einfach mit der Farbe schwarz (rgb) aufgefüllt werden.</p>
</blockquote>
<p>Ich verstehe nicht ganz was Du meinst. Wenn's um die Behandlung am Bildrand geht: Das bleibt dem Leser als Übung überlassen. <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>s.luis schrieb:</p>
<blockquote>
<p>Nochwas zur 4x4 Maske. Wenn ich sie von 0-4 durchlaufe(in beide Richtugen),dann nehme nicht die richtigen Werte, da meine Koordinate die ich bekomme, nicht im Zentrum der Maske liegt, sonder am Rand oder?</p>
</blockquote>
<p>Nö, dafür gibt's ja das zur Null runden über static_cast&lt;int&gt; und das --x0 und --y0:</p>
<pre><code>u=6.6
                     |
                     V

...|....|....|....|....|....|....|...
   3    4    5    6    7    8    9

             A    A    A    A
             |    |    |    |
           x0+0 x0+1 x0+2 x+03
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1886374</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1886374</guid><dc:creator><![CDATA[krümelkacker]]></dc:creator><pubDate>Wed, 21 Apr 2010 17:42:02 GMT</pubDate></item></channel></rss>