https://en.wikipedia.org/w/index.php?action=history&feed=atom&title=Diamond-square_algorithm Diamond-square algorithm - Revision history 2025-05-29T11:24:45Z Revision history for this page on the wiki MediaWiki 1.45.0-wmf.2 https://en.wikipedia.org/w/index.php?title=Diamond-square_algorithm&diff=1285441339&oldid=prev Bearcat: /* top */ dabfix 2025-04-13T18:16:52Z <p><span class="autocomment">top: </span> dabfix</p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="en"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Previous revision</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 18:16, 13 April 2025</td> </tr><tr> <td colspan="2" class="diff-lineno">Line 5:</td> <td colspan="2" class="diff-lineno">Line 5:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>The '''diamond-square algorithm''' is a method for generating [[heightmap]]s for [[computer graphics]]. It is a slightly better algorithm than the three-dimensional implementation of the midpoint displacement algorithm, which produces two-dimensional landscapes. It is also known as the '''random midpoint displacement fractal''', the '''cloud fractal''' or the '''plasma fractal''', because of the [[plasma effect]] produced when applied.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>The '''diamond-square algorithm''' is a method for generating [[heightmap]]s for [[computer graphics]]. It is a slightly better algorithm than the three-dimensional implementation of the midpoint displacement algorithm, which produces two-dimensional landscapes. It is also known as the '''random midpoint displacement fractal''', the '''cloud fractal''' or the '''plasma fractal''', because of the [[plasma effect]] produced when applied.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>The idea was first introduced by [[Alain Fournier|Fournier]], [[Don Fussell|Fussell]] and [[Loren Carpenter|Carpenter]] at [[SIGGRAPH]] in 1982.&lt;ref name=fournier&gt;{{Cite journal |last1=Fournier |first1=Alain |last2=Fussell |first2=Don |last3=Carpenter |first3=Loren |date=June 1982 |title=Computer rendering of stochastic models |journal=Communications of the ACM |volume=25 |issue=6 |pages=371–384 |doi=10.1145/358523.358553 |issn=0001-0782|doi-access=free }}&lt;/ref&gt;</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>The idea was first introduced by [[Alain Fournier<ins style="font-weight: bold; text-decoration: none;"> (academic)</ins>|Fournier]], [[Don Fussell|Fussell]] and [[Loren Carpenter|Carpenter]] at [[SIGGRAPH]] in 1982.&lt;ref name=fournier&gt;{{Cite journal |last1=Fournier |first1=Alain |last2=Fussell |first2=Don |last3=Carpenter |first3=Loren |date=June 1982 |title=Computer rendering of stochastic models |journal=Communications of the ACM |volume=25 |issue=6 |pages=371–384 |doi=10.1145/358523.358553 |issn=0001-0782|doi-access=free }}&lt;/ref&gt;</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>The diamond-square algorithm starts with a two-dimensional grid, then [[terrain generation|randomly generates terrain height]] from four seed values arranged in a grid of points so that the entire plane is covered in squares.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>The diamond-square algorithm starts with a two-dimensional grid, then [[terrain generation|randomly generates terrain height]] from four seed values arranged in a grid of points so that the entire plane is covered in squares.</div></td> </tr> </table> Bearcat https://en.wikipedia.org/w/index.php?title=Diamond-square_algorithm&diff=1181050351&oldid=prev Tamfang: /* Description */ an attempt to deflect likely misunderstandings 2023-10-20T15:06:58Z <p><span class="autocomment">Description: </span> an attempt to deflect likely misunderstandings</p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="en"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Previous revision</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 15:06, 20 October 2023</td> </tr><tr> <td colspan="2" class="diff-lineno">Line 16:</td> <td colspan="2" class="diff-lineno">Line 16:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* '''The square step:''' For each diamond in the array, set the midpoint of that diamond to be the average of the four corner points plus a random value.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* '''The square step:''' For each diamond in the array, set the midpoint of that diamond to be the average of the four corner points plus a random value.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del style="font-weight: bold; text-decoration: none;">At</del> <del style="font-weight: bold; text-decoration: none;">each</del> <del style="font-weight: bold; text-decoration: none;">iteration,</del> <del style="font-weight: bold; text-decoration: none;">the</del> <del style="font-weight: bold; text-decoration: none;">magnitude</del> <del style="font-weight: bold; text-decoration: none;">of</del> <del style="font-weight: bold; text-decoration: none;">the</del> <del style="font-weight: bold; text-decoration: none;">random</del> <del style="font-weight: bold; text-decoration: none;">value</del> <del style="font-weight: bold; text-decoration: none;">should</del> <del style="font-weight: bold; text-decoration: none;">be</del> <del style="font-weight: bold; text-decoration: none;">multiplied</del> by 2&lt;sup&gt;−h&lt;/sup&gt;, where h is a value between 0.0 and 1.0 (lower values produce rougher terrain).&lt;ref&gt;{{Cite web |date=2006-04-20 |title=Generating Random Fractal Terrain |url=http://www.gameprogrammer.com/fractal.html#diamond |access-date=2022-12-13 |archive-url=https://web.archive.org/web/20060420054134/http://www.gameprogrammer.com/fractal.html#diamond |archive-date=2006-04-20 }}&lt;/ref&gt;</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">Each</ins> <ins style="font-weight: bold; text-decoration: none;">random</ins> <ins style="font-weight: bold; text-decoration: none;">value</ins> <ins style="font-weight: bold; text-decoration: none;">is</ins> <ins style="font-weight: bold; text-decoration: none;">multiplied</ins> <ins style="font-weight: bold; text-decoration: none;">by</ins> <ins style="font-weight: bold; text-decoration: none;">a</ins> <ins style="font-weight: bold; text-decoration: none;">scale</ins> <ins style="font-weight: bold; text-decoration: none;">constant,</ins> <ins style="font-weight: bold; text-decoration: none;">which</ins> <ins style="font-weight: bold; text-decoration: none;">decreases</ins> <ins style="font-weight: bold; text-decoration: none;">with each iteration</ins> by<ins style="font-weight: bold; text-decoration: none;"> a factor of</ins> 2&lt;sup&gt;−h&lt;/sup&gt;, where h is a value between 0.0 and 1.0 (lower values produce rougher terrain).&lt;ref&gt;{{Cite web |date=2006-04-20 |title=Generating Random Fractal Terrain |url=http://www.gameprogrammer.com/fractal.html#diamond |access-date=2022-12-13 |archive-url=https://web.archive.org/web/20060420054134/http://www.gameprogrammer.com/fractal.html#diamond |archive-date=2006-04-20 }}&lt;/ref&gt;</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>During the square steps, points located on the edges of the array will have only three adjacent values set, rather than four. There are a number of ways to handle this complication - the simplest being to take the average of just the three adjacent values. Another option is to 'wrap around', taking the fourth value from the other side of the array. When used with consistent initial corner values, this method also allows generated fractals to be stitched together without discontinuities.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>During the square steps, points located on the edges of the array will have only three adjacent values set, rather than four. There are a number of ways to handle this complication - the simplest being to take the average of just the three adjacent values. Another option is to 'wrap around', taking the fourth value from the other side of the array. When used with consistent initial corner values, this method also allows generated fractals to be stitched together without discontinuities.</div></td> </tr> </table> Tamfang https://en.wikipedia.org/w/index.php?title=Diamond-square_algorithm&diff=1161588038&oldid=prev ZippeyKeys12: Typo, 0.1 -> 1.0 2023-06-23T18:09:10Z <p>Typo, 0.1 -&gt; 1.0</p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="en"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Previous revision</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 18:09, 23 June 2023</td> </tr><tr> <td colspan="2" class="diff-lineno">Line 16:</td> <td colspan="2" class="diff-lineno">Line 16:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* '''The square step:''' For each diamond in the array, set the midpoint of that diamond to be the average of the four corner points plus a random value.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* '''The square step:''' For each diamond in the array, set the midpoint of that diamond to be the average of the four corner points plus a random value.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>At each iteration, the magnitude of the random value should be multiplied by 2&lt;sup&gt;−h&lt;/sup&gt;, where h is a value between 0.0 and <del style="font-weight: bold; text-decoration: none;">0.</del>1 (lower values produce rougher terrain).&lt;ref&gt;{{Cite web |date=2006-04-20 |title=Generating Random Fractal Terrain |url=http://www.gameprogrammer.com/fractal.html#diamond |access-date=2022-12-13 |archive-url=https://web.archive.org/web/20060420054134/http://www.gameprogrammer.com/fractal.html#diamond |archive-date=2006-04-20 }}&lt;/ref&gt;</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>At each iteration, the magnitude of the random value should be multiplied by 2&lt;sup&gt;−h&lt;/sup&gt;, where h is a value between 0.0 and 1<ins style="font-weight: bold; text-decoration: none;">.0</ins> (lower values produce rougher terrain).&lt;ref&gt;{{Cite web |date=2006-04-20 |title=Generating Random Fractal Terrain |url=http://www.gameprogrammer.com/fractal.html#diamond |access-date=2022-12-13 |archive-url=https://web.archive.org/web/20060420054134/http://www.gameprogrammer.com/fractal.html#diamond |archive-date=2006-04-20 }}&lt;/ref&gt;</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>During the square steps, points located on the edges of the array will have only three adjacent values set, rather than four. There are a number of ways to handle this complication - the simplest being to take the average of just the three adjacent values. Another option is to 'wrap around', taking the fourth value from the other side of the array. When used with consistent initial corner values, this method also allows generated fractals to be stitched together without discontinuities.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>During the square steps, points located on the edges of the array will have only three adjacent values set, rather than four. There are a number of ways to handle this complication - the simplest being to take the average of just the three adjacent values. Another option is to 'wrap around', taking the fourth value from the other side of the array. When used with consistent initial corner values, this method also allows generated fractals to be stitched together without discontinuities.</div></td> </tr> </table> ZippeyKeys12 https://en.wikipedia.org/w/index.php?title=Diamond-square_algorithm&diff=1160796192&oldid=prev Citation bot: Alter: url. URLs might have been anonymized. Add: s2cid, archive-date, archive-url, authors 1-1. Removed proxy/dead URL that duplicated identifier. Removed parameters. Some additions/deletions were parameter name changes. | Use this bot. Report bugs. | Suggested by Josve05a | Linked from User:Josve05a/cite/wayback | #UCB_webform_linked 258/1365 2023-06-18T20:52:14Z <p>Alter: url. URLs might have been anonymized. Add: s2cid, archive-date, archive-url, authors 1-1. Removed proxy/dead URL that duplicated identifier. Removed parameters. Some additions/deletions were parameter name changes. | <a href="/wiki/Wikipedia:UCB" class="mw-redirect" title="Wikipedia:UCB">Use this bot</a>. <a href="/wiki/Wikipedia:DBUG" class="mw-redirect" title="Wikipedia:DBUG">Report bugs</a>. | Suggested by Josve05a | Linked from User:Josve05a/cite/wayback | #UCB_webform_linked 258/1365</p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="en"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Previous revision</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 20:52, 18 June 2023</td> </tr><tr> <td colspan="2" class="diff-lineno">Line 5:</td> <td colspan="2" class="diff-lineno">Line 5:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>The '''diamond-square algorithm''' is a method for generating [[heightmap]]s for [[computer graphics]]. It is a slightly better algorithm than the three-dimensional implementation of the midpoint displacement algorithm, which produces two-dimensional landscapes. It is also known as the '''random midpoint displacement fractal''', the '''cloud fractal''' or the '''plasma fractal''', because of the [[plasma effect]] produced when applied.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>The '''diamond-square algorithm''' is a method for generating [[heightmap]]s for [[computer graphics]]. It is a slightly better algorithm than the three-dimensional implementation of the midpoint displacement algorithm, which produces two-dimensional landscapes. It is also known as the '''random midpoint displacement fractal''', the '''cloud fractal''' or the '''plasma fractal''', because of the [[plasma effect]] produced when applied.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>The idea was first introduced by [[Alain Fournier|Fournier]], [[Don Fussell|Fussell]] and [[Loren Carpenter|Carpenter]] at [[SIGGRAPH]] in 1982.&lt;ref name=fournier&gt;{{Cite journal |<del style="font-weight: bold; text-decoration: none;">last</del>=Fournier |<del style="font-weight: bold; text-decoration: none;">first</del>=Alain |last2=Fussell |first2=Don |last3=Carpenter |first3=Loren |date=June 1982 |title=Computer rendering of stochastic models<del style="font-weight: bold; text-decoration: none;"> |url=http://dx.doi.org/10.1145/358523.358553</del> |journal=Communications of the ACM |volume=25 |issue=6 |pages=371–384 |doi=10.1145/358523.358553 |issn=0001-0782|doi-access=free }}&lt;/ref&gt;</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>The idea was first introduced by [[Alain Fournier|Fournier]], [[Don Fussell|Fussell]] and [[Loren Carpenter|Carpenter]] at [[SIGGRAPH]] in 1982.&lt;ref name=fournier&gt;{{Cite journal |<ins style="font-weight: bold; text-decoration: none;">last1</ins>=Fournier |<ins style="font-weight: bold; text-decoration: none;">first1</ins>=Alain |last2=Fussell |first2=Don |last3=Carpenter |first3=Loren |date=June 1982 |title=Computer rendering of stochastic models |journal=Communications of the ACM |volume=25 |issue=6 |pages=371–384 |doi=10.1145/358523.358553 |issn=0001-0782|doi-access=free }}&lt;/ref&gt;</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>The diamond-square algorithm starts with a two-dimensional grid, then [[terrain generation|randomly generates terrain height]] from four seed values arranged in a grid of points so that the entire plane is covered in squares.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>The diamond-square algorithm starts with a two-dimensional grid, then [[terrain generation|randomly generates terrain height]] from four seed values arranged in a grid of points so that the entire plane is covered in squares.</div></td> </tr> <tr> <td colspan="2" class="diff-lineno">Line 16:</td> <td colspan="2" class="diff-lineno">Line 16:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* '''The square step:''' For each diamond in the array, set the midpoint of that diamond to be the average of the four corner points plus a random value.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* '''The square step:''' For each diamond in the array, set the midpoint of that diamond to be the average of the four corner points plus a random value.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>At each iteration, the magnitude of the random value should be multiplied by 2&lt;sup&gt;−h&lt;/sup&gt;, where h is a value between 0.0 and 0.1 (lower values produce rougher terrain).&lt;ref&gt;{{Cite web |date=2006-04-20 |title=Generating Random Fractal Terrain |url=https://web.archive.org/web/20060420054134/http://www.gameprogrammer.com/fractal.html#diamond |<del style="font-weight: bold; text-decoration: none;">access</del>-date=<del style="font-weight: bold; text-decoration: none;">2022</del>-<del style="font-weight: bold; text-decoration: none;">12</del>-<del style="font-weight: bold; text-decoration: none;">13</del> <del style="font-weight: bold; text-decoration: none;">|website=web.archive.org</del>}}&lt;/ref&gt;</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>At each iteration, the magnitude of the random value should be multiplied by 2&lt;sup&gt;−h&lt;/sup&gt;, where h is a value between 0.0 and 0.1 (lower values produce rougher terrain).&lt;ref&gt;{{Cite web |date=2006-04-20 |title=Generating Random Fractal Terrain |<ins style="font-weight: bold; text-decoration: none;">url=http://www.gameprogrammer.com/fractal.html#diamond |access-date=2022-12-13 |archive-</ins>url=https://web.archive.org/web/20060420054134/http://www.gameprogrammer.com/fractal.html#diamond |<ins style="font-weight: bold; text-decoration: none;">archive</ins>-date=<ins style="font-weight: bold; text-decoration: none;">2006</ins>-<ins style="font-weight: bold; text-decoration: none;">04</ins>-<ins style="font-weight: bold; text-decoration: none;">20</ins> }}&lt;/ref&gt;</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>During the square steps, points located on the edges of the array will have only three adjacent values set, rather than four. There are a number of ways to handle this complication - the simplest being to take the average of just the three adjacent values. Another option is to 'wrap around', taking the fourth value from the other side of the array. When used with consistent initial corner values, this method also allows generated fractals to be stitched together without discontinuities.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>During the square steps, points located on the edges of the array will have only three adjacent values set, rather than four. There are a number of ways to handle this complication - the simplest being to take the average of just the three adjacent values. Another option is to 'wrap around', taking the fourth value from the other side of the array. When used with consistent initial corner values, this method also allows generated fractals to be stitched together without discontinuities.</div></td> </tr> <tr> <td colspan="2" class="diff-lineno">Line 31:</td> <td colspan="2" class="diff-lineno">Line 31:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>==Artifacts and extensions==</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>==Artifacts and extensions==</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>The diamond-square algorithm was analyzed by [[Gavin S. P. Miller]] in SIGGRAPH 1986&lt;ref name=miller&gt;{{cite journal|last=Miller|first=Gavin S. P.|title=The definition and rendering of terrain maps|journal=ACM SIGGRAPH Computer Graphics|date=August 1986|volume=20|issue=4|pages=39–48|doi=10.1145/15886.15890}}&lt;!--|accessdate=3 November 2011--&gt;&lt;/ref&gt; who described it as flawed because the algorithm produces noticeable vertical and horizontal "creases" due to the most significant perturbation taking place in a rectangular grid. The grid artifacts were addressed in a generalized algorithm introduced by J.P. Lewis.&lt;ref&gt;{{cite journal|last1=Lewis|first1=J. P.|title=Generalized stochastic subdivision|journal=ACM Transactions on Graphics|date=1 July 1987|volume=6|issue=3|pages=167–190|doi=10.1145/35068.35069|citeseerx=10.1.1.21.3719}}&lt;/ref&gt; In this variant the weights on the neighboring points are obtained by solving</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>The diamond-square algorithm was analyzed by [[Gavin S. P. Miller]] in SIGGRAPH 1986&lt;ref name=miller&gt;{{cite journal|last=Miller|first=Gavin S. P.|title=The definition and rendering of terrain maps|journal=ACM SIGGRAPH Computer Graphics|date=August 1986|volume=20|issue=4|pages=39–48|doi=10.1145/15886.15890}}&lt;!--|accessdate=3 November 2011--&gt;&lt;/ref&gt; who described it as flawed because the algorithm produces noticeable vertical and horizontal "creases" due to the most significant perturbation taking place in a rectangular grid. The grid artifacts were addressed in a generalized algorithm introduced by J.P. Lewis.&lt;ref&gt;{{cite journal|last1=Lewis|first1=J. P.|title=Generalized stochastic subdivision|journal=ACM Transactions on Graphics|date=1 July 1987|volume=6|issue=3|pages=167–190|doi=10.1145/35068.35069|citeseerx=10.1.1.21.3719<ins style="font-weight: bold; text-decoration: none;">|s2cid=14994949 </ins>}}&lt;/ref&gt; In this variant the weights on the neighboring points are obtained by solving</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>a small linear system motivated by estimation theory, rather than being fixed. The Lewis algorithm also allows the synthesis of non-fractal heightmaps such as rolling hills or ocean waves.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>a small linear system motivated by estimation theory, rather than being fixed. The Lewis algorithm also allows the synthesis of non-fractal heightmaps such as rolling hills or ocean waves.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Similar results can be efficiently obtained with Fourier synthesis,&lt;ref name=PeitgenSaupe&gt;{{cite book|last1=Peitgen|first1=Heinz-Otto, Dietmar Saupe|title=The Science of Fractal Images|date=1988|publisher=Springer-Verlag|location=New York|isbn=978-0-387-96608-3|url-access=registration|url=https://archive.org/details/scienceoffractal0000unse}}&lt;/ref&gt; although the possibility of adaptive refinement is lost. The diamond-square algorithm and its refinements are reviewed in Peitgen and Saupe's book "The Science of Fractal Images".&lt;ref name=PeitgenSaupe /&gt;</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Similar results can be efficiently obtained with Fourier synthesis,&lt;ref name=PeitgenSaupe&gt;{{cite book|last1=Peitgen|first1=Heinz-Otto, Dietmar Saupe|title=The Science of Fractal Images|date=1988|publisher=Springer-Verlag|location=New York|isbn=978-0-387-96608-3|url-access=registration|url=https://archive.org/details/scienceoffractal0000unse}}&lt;/ref&gt; although the possibility of adaptive refinement is lost. The diamond-square algorithm and its refinements are reviewed in Peitgen and Saupe's book "The Science of Fractal Images".&lt;ref name=PeitgenSaupe /&gt;</div></td> </tr> </table> Citation bot https://en.wikipedia.org/w/index.php?title=Diamond-square_algorithm&diff=1156466526&oldid=prev Selinger: Citations: eliminated duplicate, better citation of book. 2023-05-23T00:48:59Z <p>Citations: eliminated duplicate, better citation of book.</p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="en"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Previous revision</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 00:48, 23 May 2023</td> </tr><tr> <td colspan="2" class="diff-lineno">Line 5:</td> <td colspan="2" class="diff-lineno">Line 5:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>The '''diamond-square algorithm''' is a method for generating [[heightmap]]s for [[computer graphics]]. It is a slightly better algorithm than the three-dimensional implementation of the midpoint displacement algorithm, which produces two-dimensional landscapes. It is also known as the '''random midpoint displacement fractal''', the '''cloud fractal''' or the '''plasma fractal''', because of the [[plasma effect]] produced when applied.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>The '''diamond-square algorithm''' is a method for generating [[heightmap]]s for [[computer graphics]]. It is a slightly better algorithm than the three-dimensional implementation of the midpoint displacement algorithm, which produces two-dimensional landscapes. It is also known as the '''random midpoint displacement fractal''', the '''cloud fractal''' or the '''plasma fractal''', because of the [[plasma effect]] produced when applied.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>The idea was first introduced by [[Alain Fournier|Fournier]], [[Don Fussell|Fussell]] and [[Loren Carpenter|Carpenter]] at [[SIGGRAPH]] in 1982.&lt;ref name=fournier<del style="font-weight: bold; text-decoration: none;">&gt;{{cite journal|last=Fournier|first=Alain|last2=Fussell|first2=Don|last3=Carpenter|first3=Loren|title=Computer rendering of stochastic models|journal=Communications of the ACM|date=June 1982|volume=25|issue=6|pages=371–384|doi=10.1145/358523.358553|doi-access=free}}&lt;!--|accessdate=3 November 2011--&gt;&lt;/ref&gt;&lt;ref</del>&gt;{{Cite journal |last=Fournier |first=Alain |last2=Fussell |first2=Don |last3=Carpenter |first3=Loren |date=June 1982 |title=Computer rendering of stochastic models |url=http://dx.doi.org/10.1145/358523.358553 |journal=Communications of the ACM |volume=25 |issue=6 |pages=371–384 |doi=10.1145/358523.358553 |issn=0001-0782|doi-access=free }}&lt;/ref&gt;</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>The idea was first introduced by [[Alain Fournier|Fournier]], [[Don Fussell|Fussell]] and [[Loren Carpenter|Carpenter]] at [[SIGGRAPH]] in 1982.&lt;ref name=fournier&gt;{{Cite journal |last=Fournier |first=Alain |last2=Fussell |first2=Don |last3=Carpenter |first3=Loren |date=June 1982 |title=Computer rendering of stochastic models |url=http://dx.doi.org/10.1145/358523.358553 |journal=Communications of the ACM |volume=25 |issue=6 |pages=371–384 |doi=10.1145/358523.358553 |issn=0001-0782|doi-access=free }}&lt;/ref&gt;</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>The diamond-square algorithm starts with a two-dimensional grid, then [[terrain generation|randomly generates terrain height]] from four seed values arranged in a grid of points so that the entire plane is covered in squares.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>The diamond-square algorithm starts with a two-dimensional grid, then [[terrain generation|randomly generates terrain height]] from four seed values arranged in a grid of points so that the entire plane is covered in squares.</div></td> </tr> <tr> <td colspan="2" class="diff-lineno">Line 33:</td> <td colspan="2" class="diff-lineno">Line 33:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>The diamond-square algorithm was analyzed by [[Gavin S. P. Miller]] in SIGGRAPH 1986&lt;ref name=miller&gt;{{cite journal|last=Miller|first=Gavin S. P.|title=The definition and rendering of terrain maps|journal=ACM SIGGRAPH Computer Graphics|date=August 1986|volume=20|issue=4|pages=39–48|doi=10.1145/15886.15890}}&lt;!--|accessdate=3 November 2011--&gt;&lt;/ref&gt; who described it as flawed because the algorithm produces noticeable vertical and horizontal "creases" due to the most significant perturbation taking place in a rectangular grid. The grid artifacts were addressed in a generalized algorithm introduced by J.P. Lewis.&lt;ref&gt;{{cite journal|last1=Lewis|first1=J. P.|title=Generalized stochastic subdivision|journal=ACM Transactions on Graphics|date=1 July 1987|volume=6|issue=3|pages=167–190|doi=10.1145/35068.35069|citeseerx=10.1.1.21.3719}}&lt;/ref&gt; In this variant the weights on the neighboring points are obtained by solving</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>The diamond-square algorithm was analyzed by [[Gavin S. P. Miller]] in SIGGRAPH 1986&lt;ref name=miller&gt;{{cite journal|last=Miller|first=Gavin S. P.|title=The definition and rendering of terrain maps|journal=ACM SIGGRAPH Computer Graphics|date=August 1986|volume=20|issue=4|pages=39–48|doi=10.1145/15886.15890}}&lt;!--|accessdate=3 November 2011--&gt;&lt;/ref&gt; who described it as flawed because the algorithm produces noticeable vertical and horizontal "creases" due to the most significant perturbation taking place in a rectangular grid. The grid artifacts were addressed in a generalized algorithm introduced by J.P. Lewis.&lt;ref&gt;{{cite journal|last1=Lewis|first1=J. P.|title=Generalized stochastic subdivision|journal=ACM Transactions on Graphics|date=1 July 1987|volume=6|issue=3|pages=167–190|doi=10.1145/35068.35069|citeseerx=10.1.1.21.3719}}&lt;/ref&gt; In this variant the weights on the neighboring points are obtained by solving</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>a small linear system motivated by estimation theory, rather than being fixed. The Lewis algorithm also allows the synthesis of non-fractal heightmaps such as rolling hills or ocean waves.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>a small linear system motivated by estimation theory, rather than being fixed. The Lewis algorithm also allows the synthesis of non-fractal heightmaps such as rolling hills or ocean waves.</div></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Similar results can be efficiently obtained with Fourier synthesis,&lt;ref name=PeitgenSaupe&gt;{{cite book|last1=Peitgen|first1=Heinz-Otto, Dietmar Saupe|title=The Science of <del style="font-weight: bold; text-decoration: none;">fractal</del> <del style="font-weight: bold; text-decoration: none;">images</del>|date=1988|publisher=Springer-Verlag|location=New York|isbn=978-0-387-96608-3|url-access=registration|url=https://archive.org/details/scienceoffractal0000unse}}&lt;/ref&gt; although the possibility of adaptive refinement is lost. The diamond-square algorithm and its refinements are reviewed in <del style="font-weight: bold; text-decoration: none;">the</del> book.&lt;ref name=PeitgenSaupe /&gt;</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Similar results can be efficiently obtained with Fourier synthesis,&lt;ref name=PeitgenSaupe&gt;{{cite book|last1=Peitgen|first1=Heinz-Otto, Dietmar Saupe|title=The Science of <ins style="font-weight: bold; text-decoration: none;">Fractal</ins> <ins style="font-weight: bold; text-decoration: none;">Images</ins>|date=1988|publisher=Springer-Verlag|location=New York|isbn=978-0-387-96608-3|url-access=registration|url=https://archive.org/details/scienceoffractal0000unse}}&lt;/ref&gt; although the possibility of adaptive refinement is lost. The diamond-square algorithm and its refinements are reviewed in <ins style="font-weight: bold; text-decoration: none;">Peitgen and Saupe's</ins> book<ins style="font-weight: bold; text-decoration: none;"> "The Science of Fractal Images"</ins>.&lt;ref name=PeitgenSaupe /&gt;</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>==References==</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>==References==</div></td> </tr> </table> Selinger https://en.wikipedia.org/w/index.php?title=Diamond-square_algorithm&diff=1136338166&oldid=prev OAbot: Open access bot: doi added to citation with #oabot. 2023-01-29T21:43:23Z <p><a href="/wiki/Wikipedia:OABOT" class="mw-redirect" title="Wikipedia:OABOT">Open access bot</a>: doi added to citation with #oabot.</p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="en"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Previous revision</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 21:43, 29 January 2023</td> </tr><tr> <td colspan="2" class="diff-lineno">Line 5:</td> <td colspan="2" class="diff-lineno">Line 5:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>The '''diamond-square algorithm''' is a method for generating [[heightmap]]s for [[computer graphics]]. It is a slightly better algorithm than the three-dimensional implementation of the midpoint displacement algorithm, which produces two-dimensional landscapes. It is also known as the '''random midpoint displacement fractal''', the '''cloud fractal''' or the '''plasma fractal''', because of the [[plasma effect]] produced when applied.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>The '''diamond-square algorithm''' is a method for generating [[heightmap]]s for [[computer graphics]]. It is a slightly better algorithm than the three-dimensional implementation of the midpoint displacement algorithm, which produces two-dimensional landscapes. It is also known as the '''random midpoint displacement fractal''', the '''cloud fractal''' or the '''plasma fractal''', because of the [[plasma effect]] produced when applied.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>The idea was first introduced by [[Alain Fournier|Fournier]], [[Don Fussell|Fussell]] and [[Loren Carpenter|Carpenter]] at [[SIGGRAPH]] in 1982.&lt;ref name=fournier&gt;{{cite journal|last=Fournier|first=Alain|last2=Fussell|first2=Don|last3=Carpenter|first3=Loren|title=Computer rendering of stochastic models|journal=Communications of the ACM|date=June 1982|volume=25|issue=6|pages=371–384|doi=10.1145/358523.358553}}&lt;!--|accessdate=3 November 2011--&gt;&lt;/ref&gt;&lt;ref&gt;{{Cite journal |last=Fournier |first=Alain |last2=Fussell |first2=Don |last3=Carpenter |first3=Loren |date=June 1982 |title=Computer rendering of stochastic models |url=http://dx.doi.org/10.1145/358523.358553 |journal=Communications of the ACM |volume=25 |issue=6 |pages=371–384 |doi=10.1145/358523.358553 |issn=0001-0782}}&lt;/ref&gt;</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>The idea was first introduced by [[Alain Fournier|Fournier]], [[Don Fussell|Fussell]] and [[Loren Carpenter|Carpenter]] at [[SIGGRAPH]] in 1982.&lt;ref name=fournier&gt;{{cite journal|last=Fournier|first=Alain|last2=Fussell|first2=Don|last3=Carpenter|first3=Loren|title=Computer rendering of stochastic models|journal=Communications of the ACM|date=June 1982|volume=25|issue=6|pages=371–384|doi=10.1145/358523.358553<ins style="font-weight: bold; text-decoration: none;">|doi-access=free</ins>}}&lt;!--|accessdate=3 November 2011--&gt;&lt;/ref&gt;&lt;ref&gt;{{Cite journal |last=Fournier |first=Alain |last2=Fussell |first2=Don |last3=Carpenter |first3=Loren |date=June 1982 |title=Computer rendering of stochastic models |url=http://dx.doi.org/10.1145/358523.358553 |journal=Communications of the ACM |volume=25 |issue=6 |pages=371–384 |doi=10.1145/358523.358553 |issn=0001-0782<ins style="font-weight: bold; text-decoration: none;">|doi-access=free </ins>}}&lt;/ref&gt;</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>The diamond-square algorithm starts with a two-dimensional grid, then [[terrain generation|randomly generates terrain height]] from four seed values arranged in a grid of points so that the entire plane is covered in squares.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>The diamond-square algorithm starts with a two-dimensional grid, then [[terrain generation|randomly generates terrain height]] from four seed values arranged in a grid of points so that the entire plane is covered in squares.</div></td> </tr> </table> OAbot https://en.wikipedia.org/w/index.php?title=Diamond-square_algorithm&diff=1127195679&oldid=prev Trav Kint: /* Description */ 2022-12-13T11:38:28Z <p><span class="autocomment">Description</span></p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="en"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Previous revision</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 11:38, 13 December 2022</td> </tr><tr> <td colspan="2" class="diff-lineno">Line 16:</td> <td colspan="2" class="diff-lineno">Line 16:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* '''The square step:''' For each diamond in the array, set the midpoint of that diamond to be the average of the four corner points plus a random value.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* '''The square step:''' For each diamond in the array, set the midpoint of that diamond to be the average of the four corner points plus a random value.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>At each iteration, the magnitude of the random value should be multiplied by 2&lt;sup&gt;−h&lt;/sup&gt;, where h is a value between 0.0 and 0.1 (lower values produce rougher terrain).</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>At each iteration, the magnitude of the random value should be multiplied by 2&lt;sup&gt;−h&lt;/sup&gt;, where h is a value between 0.0 and 0.1 (lower values produce rougher terrain).<ins style="font-weight: bold; text-decoration: none;">&lt;ref&gt;{{Cite web |date=2006-04-20 |title=Generating Random Fractal Terrain |url=https://web.archive.org/web/20060420054134/http://www.gameprogrammer.com/fractal.html#diamond |access-date=2022-12-13 |website=web.archive.org}}&lt;/ref&gt;</ins></div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>During the square steps, points located on the edges of the array will have only three adjacent values set rather than four. There are a number of ways to handle this complication - the simplest being to take the average of just the three adjacent values. Another option is to 'wrap around', taking the fourth value from the other side of the array. When used with consistent initial corner values this method also allows generated fractals to be stitched together without discontinuities.</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>During the square steps, points located on the edges of the array will have only three adjacent values set<ins style="font-weight: bold; text-decoration: none;">,</ins> rather than four. There are a number of ways to handle this complication - the simplest being to take the average of just the three adjacent values. Another option is to 'wrap around', taking the fourth value from the other side of the array. When used with consistent initial corner values<ins style="font-weight: bold; text-decoration: none;">,</ins> this method also allows generated fractals to be stitched together without discontinuities.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>==Visualization==</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>==Visualization==</div></td> </tr> </table> Trav Kint https://en.wikipedia.org/w/index.php?title=Diamond-square_algorithm&diff=1126457234&oldid=prev Keith D: /* top */Fix cite date error 2022-12-09T12:32:32Z <p><span class="autocomment">top: </span>Fix cite date error</p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="en"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Previous revision</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 12:32, 9 December 2022</td> </tr><tr> <td colspan="2" class="diff-lineno">Line 5:</td> <td colspan="2" class="diff-lineno">Line 5:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>The '''diamond-square algorithm''' is a method for generating [[heightmap]]s for [[computer graphics]]. It is a slightly better algorithm than the three-dimensional implementation of the midpoint displacement algorithm, which produces two-dimensional landscapes. It is also known as the '''random midpoint displacement fractal''', the '''cloud fractal''' or the '''plasma fractal''', because of the [[plasma effect]] produced when applied.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>The '''diamond-square algorithm''' is a method for generating [[heightmap]]s for [[computer graphics]]. It is a slightly better algorithm than the three-dimensional implementation of the midpoint displacement algorithm, which produces two-dimensional landscapes. It is also known as the '''random midpoint displacement fractal''', the '''cloud fractal''' or the '''plasma fractal''', because of the [[plasma effect]] produced when applied.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>The idea was first introduced by [[Alain Fournier|Fournier]], [[Don Fussell|Fussell]] and [[Loren Carpenter|Carpenter]] at [[SIGGRAPH]] in 1982.&lt;ref name=fournier&gt;{{cite journal|last=Fournier|first=Alain|last2=Fussell|first2=Don|last3=Carpenter|first3=Loren|title=Computer rendering of stochastic models|journal=Communications of the ACM|date=June 1982|volume=25|issue=6|pages=371–384|doi=10.1145/358523.358553}}&lt;!--|accessdate=3 November 2011--&gt;&lt;/ref&gt;&lt;ref&gt;{{Cite journal |last=Fournier |first=Alain |last2=Fussell |first2=Don |last3=Carpenter |first3=Loren |date=1982<del style="font-weight: bold; text-decoration: none;">-06</del> |title=Computer rendering of stochastic models |url=http://dx.doi.org/10.1145/358523.358553 |journal=Communications of the ACM |volume=25 |issue=6 |pages=371–384 |doi=10.1145/358523.358553 |issn=0001-0782}}&lt;/ref&gt;</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>The idea was first introduced by [[Alain Fournier|Fournier]], [[Don Fussell|Fussell]] and [[Loren Carpenter|Carpenter]] at [[SIGGRAPH]] in 1982.&lt;ref name=fournier&gt;{{cite journal|last=Fournier|first=Alain|last2=Fussell|first2=Don|last3=Carpenter|first3=Loren|title=Computer rendering of stochastic models|journal=Communications of the ACM|date=June 1982|volume=25|issue=6|pages=371–384|doi=10.1145/358523.358553}}&lt;!--|accessdate=3 November 2011--&gt;&lt;/ref&gt;&lt;ref&gt;{{Cite journal |last=Fournier |first=Alain |last2=Fussell |first2=Don |last3=Carpenter |first3=Loren |date=<ins style="font-weight: bold; text-decoration: none;">June </ins>1982 |title=Computer rendering of stochastic models |url=http://dx.doi.org/10.1145/358523.358553 |journal=Communications of the ACM |volume=25 |issue=6 |pages=371–384 |doi=10.1145/358523.358553 |issn=0001-0782}}&lt;/ref&gt;</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>The diamond-square algorithm starts with a two-dimensional grid, then [[terrain generation|randomly generates terrain height]] from four seed values arranged in a grid of points so that the entire plane is covered in squares.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>The diamond-square algorithm starts with a two-dimensional grid, then [[terrain generation|randomly generates terrain height]] from four seed values arranged in a grid of points so that the entire plane is covered in squares.</div></td> </tr> </table> Keith D https://en.wikipedia.org/w/index.php?title=Diamond-square_algorithm&diff=1126442425&oldid=prev Trav Kint at 10:19, 9 December 2022 2022-12-09T10:19:15Z <p></p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="en"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Previous revision</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 10:19, 9 December 2022</td> </tr><tr> <td colspan="2" class="diff-lineno">Line 3:</td> <td colspan="2" class="diff-lineno">Line 3:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>[[File:-PLASMA-ColorCycling.Gif|200px|thumb|right|Animated plasma fractal with [[color cycling]]]]</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>[[File:-PLASMA-ColorCycling.Gif|200px|thumb|right|Animated plasma fractal with [[color cycling]]]]</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>The '''diamond-square algorithm''' is a method for generating [[heightmap]]s for [[computer graphics]]. It is a slightly better algorithm than the three-dimensional implementation of the midpoint displacement algorithm which produces two-dimensional landscapes. It is also known as the '''random midpoint displacement fractal''', the '''cloud fractal''' or the '''plasma fractal''', because of the [[plasma effect]] produced when applied.</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>The '''diamond-square algorithm''' is a method for generating [[heightmap]]s for [[computer graphics]]. It is a slightly better algorithm than the three-dimensional implementation of the midpoint displacement algorithm<ins style="font-weight: bold; text-decoration: none;">,</ins> which produces two-dimensional landscapes. It is also known as the '''random midpoint displacement fractal''', the '''cloud fractal''' or the '''plasma fractal''', because of the [[plasma effect]] produced when applied.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>The idea was first introduced by [[Alain Fournier|Fournier]], [[Don Fussell|Fussell]] and [[Loren Carpenter|Carpenter]] at [[SIGGRAPH]] 1982.&lt;ref name=fournier&gt;{{cite journal|last=Fournier|first=Alain|last2=Fussell|first2=Don|last3=Carpenter|first3=Loren|title=Computer rendering of stochastic models|journal=Communications of the ACM|date=June 1982|volume=25|issue=6|pages=371–384|doi=10.1145/358523.358553}}&lt;!--|accessdate=3 November 2011--&gt;&lt;/ref&gt;</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>The idea was first introduced by [[Alain Fournier|Fournier]], [[Don Fussell|Fussell]] and [[Loren Carpenter|Carpenter]] at [[SIGGRAPH]]<ins style="font-weight: bold; text-decoration: none;"> in</ins> 1982.&lt;ref name=fournier&gt;{{cite journal|last=Fournier|first=Alain|last2=Fussell|first2=Don|last3=Carpenter|first3=Loren|title=Computer rendering of stochastic models|journal=Communications of the ACM|date=June 1982|volume=25|issue=6|pages=371–384|doi=10.1145/358523.358553}}&lt;!--|accessdate=3 November 2011--&gt;<ins style="font-weight: bold; text-decoration: none;">&lt;/ref&gt;&lt;ref&gt;{{Cite journal |last=Fournier |first=Alain |last2=Fussell |first2=Don |last3=Carpenter |first3=Loren |date=1982-06 |title=Computer rendering of stochastic models |url=http://dx.doi.org/10.1145/358523.358553 |journal=Communications of the ACM |volume=25 |issue=6 |pages=371–384 |doi=10.1145/358523.358553 |issn=0001-0782}}</ins>&lt;/ref&gt;</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>The diamond-square algorithm starts with a two-dimensional grid then [[terrain generation|randomly generates terrain height]] from four seed values arranged in a grid of points so that the entire plane is covered in squares.</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>The diamond-square algorithm starts with a two-dimensional grid<ins style="font-weight: bold; text-decoration: none;">,</ins> then [[terrain generation|randomly generates terrain height]] from four seed values arranged in a grid of points so that the entire plane is covered in squares.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>==Description==</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>==Description==</div></td> </tr> </table> Trav Kint https://en.wikipedia.org/w/index.php?title=Diamond-square_algorithm&diff=1093012753&oldid=prev Pjanert: /* External links */ 2022-06-14T00:59:13Z <p><span class="autocomment">External links</span></p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="en"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Previous revision</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 00:59, 14 June 2022</td> </tr><tr> <td colspan="2" class="diff-lineno">Line 49:</td> <td colspan="2" class="diff-lineno">Line 49:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* [http://blog.cleancoder.com/uncle-bob/2017/01/09/DiamondSquare.html An example] of [[Test-driven development|test-driving]] an implementation of the algorithm on [[Robert Cecil Martin|Uncle Bob]]'s [http://blog.cleancoder.com/ Clean Coder blog]</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* [http://blog.cleancoder.com/uncle-bob/2017/01/09/DiamondSquare.html An example] of [[Test-driven development|test-driving]] an implementation of the algorithm on [[Robert Cecil Martin|Uncle Bob]]'s [http://blog.cleancoder.com/ Clean Coder blog]</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* [https://spbooth.github.io/xmountains/ Xmountains] classic sideways scrolling X11 implementation. [https://spbooth.github.io/xmountains/about_xmountains.html Algorithm details].</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* [https://spbooth.github.io/xmountains/ Xmountains] classic sideways scrolling X11 implementation. [https://spbooth.github.io/xmountains/about_xmountains.html Algorithm details].</div></td> </tr> <tr> <td colspan="2" class="diff-empty diff-side-deleted"></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>* [https://janert.me/blog/2022/the-diamond-square-algorithm-for-terrain-generation/ A Python implementation], short and straightforward. Handles both fixed and periodic boundary conditions.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>[[Category:Fractals]]</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>[[Category:Fractals]]</div></td> </tr> </table> Pjanert