<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>http://wikihandbk.com/ruwiki/index.php?action=history&amp;feed=atom&amp;title=%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B0%D1%8F_%D0%92%D0%B8%D0%BA%D0%B8%D0%BF%D0%B5%D0%B4%D0%B8%D1%8F%3AMarching_cubes</id>
	<title>Русская Википедия:Marching cubes - История изменений</title>
	<link rel="self" type="application/atom+xml" href="http://wikihandbk.com/ruwiki/index.php?action=history&amp;feed=atom&amp;title=%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B0%D1%8F_%D0%92%D0%B8%D0%BA%D0%B8%D0%BF%D0%B5%D0%B4%D0%B8%D1%8F%3AMarching_cubes"/>
	<link rel="alternate" type="text/html" href="http://wikihandbk.com/ruwiki/index.php?title=%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B0%D1%8F_%D0%92%D0%B8%D0%BA%D0%B8%D0%BF%D0%B5%D0%B4%D0%B8%D1%8F:Marching_cubes&amp;action=history"/>
	<updated>2026-04-06T16:11:54Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.40.0</generator>
	<entry>
		<id>http://wikihandbk.com/ruwiki/index.php?title=%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B0%D1%8F_%D0%92%D0%B8%D0%BA%D0%B8%D0%BF%D0%B5%D0%B4%D0%B8%D1%8F:Marching_cubes&amp;diff=8721895&amp;oldid=prev</id>
		<title>EducationBot: Новая страница: «{{Русская Википедия/Панель перехода}} Файл:Marchingcubes-head.png|thumb|300px|Модель, построенная из 150 слоев с МРТ с использованием алгоритма marching cubes. Под поверхностью находятся около 150&amp;nbsp;000 полигонов и скрытых объектов. Размер сетки составляет 64&amp;nbsp;×&amp;nbsp;64&amp;nbsp;×&amp;nbsp;150 [[...»</title>
		<link rel="alternate" type="text/html" href="http://wikihandbk.com/ruwiki/index.php?title=%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B0%D1%8F_%D0%92%D0%B8%D0%BA%D0%B8%D0%BF%D0%B5%D0%B4%D0%B8%D1%8F:Marching_cubes&amp;diff=8721895&amp;oldid=prev"/>
		<updated>2023-07-15T21:21:38Z</updated>

		<summary type="html">&lt;p&gt;Новая страница: «{{Русская Википедия/Панель перехода}} Файл:Marchingcubes-head.png|thumb|300px|Модель, построенная из 150 слоев с МРТ с использованием алгоритма marching cubes. Под поверхностью находятся около 150 000 полигонов и скрытых объектов. Размер сетки составляет 64 × 64 × 150 [[...»&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Русская Википедия/Панель перехода}}&lt;br /&gt;
[[Файл:Marchingcubes-head.png|thumb|300px|Модель, построенная из 150 слоев с МРТ с использованием алгоритма marching cubes. Под поверхностью находятся около 150&amp;amp;nbsp;000 полигонов и скрытых объектов. Размер сетки составляет 64&amp;amp;nbsp;×&amp;amp;nbsp;64&amp;amp;nbsp;×&amp;amp;nbsp;150 [[воксел]]ей, кодированных 8-ю битами. Для сглаживания поверхности модели был применён [[пре-процессинг]]. «Дырка» в области [[Висок|виска]] является следствием [[пирсинг]]а обследуемого.]]&lt;br /&gt;
&lt;br /&gt;
'''Marching cubes''' ({{tr-en|шагающие кубики}}) — [[алгоритм]] в [[Компьютерная графика|компьютерной графике]], впервые предложенный в [[1987 год]]у на конференции [[SIGGRAPH]] &lt;br /&gt;
Вильямом Лоренсеном &amp;lt;!--{{lang-en|William E. Lorensen}}--&amp;gt; &lt;br /&gt;
и Харви Клайном&amp;lt;!--{{lang-en|Harvey E. Cline}}--&amp;gt;&amp;lt;ref name=&amp;quot;Originalpaper&amp;quot;&amp;gt;William E. Lorensen, Harvey E. Cline: ''Marching Cubes: A high resolution 3D surface construction algorithm.'' In: ''Computer Graphics'', Vol. 21, Nr. 4, July 1987&amp;lt;/ref&amp;gt;, для обработки полигональной сетки [[Скалярное поле#Поверхность уровня|изоповерхности]] трехмерного [[Скалярное поле|скалярного поля]] (чаще называемой сеткой [[воксел]]ей).&lt;br /&gt;
&lt;br /&gt;
Аналогичный алгоритм на плоскости называется [[marching squares]].&lt;br /&gt;
&lt;br /&gt;
== Принцип работы ==&lt;br /&gt;
Алгоритм пробегает скалярное поле&amp;lt;!--непонятно - ДИ--&amp;gt;, на каждой итерации просматривает 8 соседних позиций (вершины [[куб]]а, параллельного осям координат) и определяет [[Полигональная сетка|полигоны]], необходимые для представления части изоповерхности, проходящей через данный куб. Далее, на экран выводятся полигоны, образующие заданную изоповерхность.&lt;br /&gt;
&lt;br /&gt;
Так как алгоритм выбирает полигоны, исходя только из положения вершин куба относительно изоповерхности, всего получается 256 (&amp;lt;math&amp;gt;2^8 = 256&amp;lt;/math&amp;gt;) возможных конфигураций полигонов, которые можно вычислить заранее и сохранить в массиве. Поэтому каждый куб можно представить восьмибитным числом, сопоставив каждой вершине 1, если значение поля в точке больше, чем на изоповерхности, и 0 в противном случае. Полученное число используется в качестве индекса элемента массива, хранящего конфигурации полигонов.&lt;br /&gt;
Наконец, каждая вершина сгенерированного полигона помещается в подходящую позицию на том ребре куба, на котором она лежала изначально. Позиция вычисляется путём линейной интерполяции значений скалярного поля в концах ребра.&lt;br /&gt;
[[Файл:MarchingCubes.svg|thumb|right|350px|15 различных конфигураций куба.]]&lt;br /&gt;
Заранее вычисленный массив из 256 конфигураций полигонов можно получить поворотами и отражениями 15 различных конфигураций куба. Однако использование всего 15 базовых конфигураций не гарантирует получение замкнутой поверхности. Базовые конфигурации, лишенные этого недостатка, можно найти в специальной литературе{{Нет АИ|9|12|2013}}.&lt;br /&gt;
&lt;br /&gt;
[[Градиент]] скалярного поля в каждой точке сетки также является нормальным вектором к предполагаемой изоповерхности, проходящей через эту точку. Поэтому возможно [[Линейная интерполяция|интерполировать]] эти нормали вдоль рёбер каждого куба, чтобы найти нормали сгенерированных вершин, для корректного отображения модели при использовании освещения.&lt;br /&gt;
&lt;br /&gt;
Данный алгоритм широко используется в медицине, например, в [[Компьютерная томография|компьютерной]] и [[Магнитно-резонансная томография|магнитно-резонансной томографии]], а также для трёхмерного моделирования [[Metaballs|метасфер]] или других метаповерхностей.&lt;br /&gt;
&lt;br /&gt;
== Патент ==&lt;br /&gt;
Алгоритм '''The Marching Cubes''' был первым примером в области компьютерной графики, спровоцировавшим скандал в области [[Патент на программное обеспечение|патентования ПО]]. Он был запатентован несмотря на относительную очевидность решения задачи генерации поверхности. Позднее был разработан похожий алгоритм, названный [[:en:Marching_tetrahedra|marching tetrahedrons]], который для того, чтобы обойти патент, использует вместо кубов тетраэдры. Срок действия патента истек в 2005 году, сейчас алгоритм можно свободно использовать. (Патент от 5 июня 1985 года&amp;lt;ref&amp;gt;{{US patent|4710876|Marching Cubes, US Patent Office entry}}&amp;lt;/ref&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
== Примечания ==&lt;br /&gt;
{{Примечания}}&lt;br /&gt;
&lt;br /&gt;
== См. также ==&lt;br /&gt;
* [[Image-based meshing]]&lt;br /&gt;
&lt;br /&gt;
== Внешние ссылки ==&lt;br /&gt;
* [https://web.archive.org/web/20100310122316/http://local.wasp.uwa.edu.au/~pbourke/geometry/polygonise/ Overview and source code by Paul Bourke]&lt;br /&gt;
* [https://web.archive.org/web/20100107113848/http://www.gamedev.net/reference/articles/article424.asp GameDev overview] by Matthew Ward of Worcester Polytechnic Institute&lt;br /&gt;
* [http://users.polytech.unice.fr/~lingrand/MarchingCubes/algo.html Introductory description with additional graphics]&lt;br /&gt;
* [http://www.marchingcubes.org/index.php/Marching_Cubes Some of the early history of Marching Cubes] {{Wayback|url=http://www.marchingcubes.org/index.php/Marching_Cubes |date=20190527115005 }}&lt;br /&gt;
&lt;br /&gt;
[[Категория:Геометрические алгоритмы]]&lt;br /&gt;
[[Категория:Трёхмерная графика]]&lt;br /&gt;
[[Категория:Воксельная графика]]&lt;br /&gt;
{{Навигационная таблица/Портал/Русская Википедия}}&lt;br /&gt;
[[Категория:Русская Википедия]]&lt;br /&gt;
[[Категория:Википедия]]&lt;br /&gt;
[[Категория:Статья из Википедии]]&lt;br /&gt;
[[Категория:Статья из Русской Википедии]]&lt;/div&gt;</summary>
		<author><name>EducationBot</name></author>
	</entry>
</feed>