<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Электронный научно-практический журнал «Современные научные исследования и инновации» &#187; браузер</title>
	<atom:link href="http://web.snauka.ru/issues/tag/brauzer/feed" rel="self" type="application/rss+xml" />
	<link>https://web.snauka.ru</link>
	<description></description>
	<lastBuildDate>Fri, 17 Apr 2026 07:29:22 +0000</lastBuildDate>
	<language>ru</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Применение технологии WebGL для создания трехмерных моделей</title>
		<link>https://web.snauka.ru/issues/2017/12/85166</link>
		<comments>https://web.snauka.ru/issues/2017/12/85166#comments</comments>
		<pubDate>Tue, 05 Dec 2017 10:17:27 +0000</pubDate>
		<dc:creator>Белютина Кристина Алексеевна</dc:creator>
				<category><![CDATA[05.00.00 ТЕХНИЧЕСКИЕ НАУКИ]]></category>
		<category><![CDATA[3D]]></category>
		<category><![CDATA[three.js]]></category>
		<category><![CDATA[WebGL]]></category>
		<category><![CDATA[библиотека]]></category>
		<category><![CDATA[браузер]]></category>
		<category><![CDATA[код]]></category>
		<category><![CDATA[куб]]></category>
		<category><![CDATA[модель]]></category>

		<guid isPermaLink="false">https://web.snauka.ru/issues/2017/12/85166</guid>
		<description><![CDATA[Современные веб-технологии позволяют размещать на страницах веб-ресурсов не только статичную графику, различные варианты анимации, но и трехмерные изображения. Программная библиотека для языка программирования JavaScript Web-based Graphics Library (WebGL) позволяет реализовать элементы 3D-графики на веб-страницах[5]. Одним из главных преимуществ WebGL является построение 3D-элементов непосредственно как веб-страницы, что не требует установки дополнительных расширений или подключения дополнительных библиотек со стороны [...]]]></description>
			<content:encoded><![CDATA[<p>Современные веб-технологии позволяют размещать на страницах веб-ресурсов не только статичную графику, различные варианты анимации, но и трехмерные изображения.</p>
<p>Программная библиотека для языка программирования JavaScript Web-based Graphics Library (WebGL) позволяет реализовать элементы 3D-графики на веб-страницах[5].</p>
<p>Одним из главных преимуществ WebGL является построение 3D-элементов непосредственно как веб-страницы, что не требует установки дополнительных расширений или подключения дополнительных библиотек со стороны пользователя. Это позволяет WebGL программам благополучно исполняться практически на любом устройстве пользователя (и на стационарных компьютерах, и планшетных компьютерах, на смартфонах, и игровых консолях…).</p>
<p>Однако, технология WebGL использует низкоуровневый набор методов для создания приложений. Это, с одной стороны,способствует внедрению технологии разработчиками браузеров в свои продукты, но создает большие трудности при создании интерфейсов.</p>
<p>При разработке WebGL приложений часто используется кроссбраузерная библиотека three.j, применяемая для создания и отображения анимированных трехмерных изображений.</p>
<p>Перед тем как приступить к созданию 3D объекта с использованием библиотек желательно, для удобства работы, установить на свой компьютер программу для создания и редактирования кода web-страницы и программу, которая создаст сервер, для того, чтобы после сохранения объект можно было просмотреть в браузере. Например, в первом случае можно использовать VisualStudioCode для создания и редактирования исходного кода[6], а для создания веб-сервера – Сaddy[7].</p>
<p>Далее для последующей работы необходимо скачать библиотеку three.js[8].После чего можно приступать к написанию кода. Для того, чтобы функции библиотеки вступили в силу необходимо в html-коде прописать путь к ней:&lt;scriptsrc=&#8221;libs/three.min.js&#8221;&gt;&lt;/script&gt;.</p>
<p>Рассмотрим возможности технологии WebGLна примере создания куба.</p>
<p>Для того,чтобы создать WebGL приложение, содержащее трехмерное изображение, необходимо:</p>
<p>1) определить область вывода изображения, в котором оно будет отображаться:</p>
<p>camera = new THREE.PerspectiveCamera( 70, window.innerWidth / window.innerHeight, 1, 1000 ); // создание камеры</p>
<p>camera.position.z = 400; //выбор положения</p>
<div style="display: inline !important;">2) задать параметры оформления 3D-объекта:</div>
<p>var texture = new THREE.TextureLoader().load( &#8216;textures/cube.jpg&#8217; ); //добавление текстуры</p>
<p>var geometry = new THREE.BoxBufferGeometry( 200, 200, 200 ); //определение размера куба</p>
<p>var material = new THREE.MeshBasicMaterial( { map: texture } ); //определение материала состоящего из текстуры</p>
<p>В данном случае «cube.jpg<strong>» </strong>- это картинка, выбранная заранее.</p>
<div style="display: inline !important;">3) выполнить отрисовку, для наложения текстуры на объект:</div>
<p>renderer = newTHREE.WebGLRenderer(); // Настройка среды рендеринга в среду WebGL</p>
<p>renderer.setPixelRatio(window.devicePixelRatio ); //задание геометрии пикселей на устройстве отображения</p>
<p>renderer.setSize(window.innerWidth, window.innerHeight ); //определение границ области рендринга</p>
<p>document.body.appendChild(renderer.domElement );</p>
<p>Для того, чтобы объект можно было вращать и просматривать его со всех сторон при написании кода были использованы функции:</p>
<ul>
<li>
<div>startRotateCube– обработка события нажатия на левую кнопку мыши;</div>
</li>
<li>
<div>endRotatingCube – обработка события отпускания левой кнопки мыши;</div>
</li>
<li>
<div>rotateCube– процесс движения курсора мыши</div>
</li>
</ul>
<p>После чего, созданный код необходимо сохранить как html-файл. Созданный файл можно просмотреть в браузере (рис.1).</p>
<p style="text-align: center;"><img src="https://web.snauka.ru/wp-content/uploads/2017/12/121817_1542_1.png" alt="" /></p>
<p style="text-align: center;">Рис.1. Отображение 3D-объекта в браузере Google Chrome</p>
<p>Данный пример показывает, как много манипуляций потребовалось по скачиванию и установке тех или иных файлов, чтобы приступить к работе. Так же, само написание кода объекта требует определенных навыков в программировании. Сам текст кода довольно объемный для такого простого объекта (для этого проекта общее количество строк кода составило 122). А значит, можно сделать вывод, на сколько трудно будет создавать более сложные объекты, используя технологиюWebGL.</p>
]]></content:encoded>
			<wfw:commentRss>https://web.snauka.ru/issues/2017/12/85166/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Применение технологии Blend4Web для создания трехмерных моделей</title>
		<link>https://web.snauka.ru/issues/2017/12/85175</link>
		<comments>https://web.snauka.ru/issues/2017/12/85175#comments</comments>
		<pubDate>Wed, 20 Dec 2017 12:16:31 +0000</pubDate>
		<dc:creator>Белютина Кристина Алексеевна</dc:creator>
				<category><![CDATA[05.00.00 ТЕХНИЧЕСКИЕ НАУКИ]]></category>
		<category><![CDATA[3D]]></category>
		<category><![CDATA[three.js]]></category>
		<category><![CDATA[WebGL]]></category>
		<category><![CDATA[библиотека]]></category>
		<category><![CDATA[браузер]]></category>
		<category><![CDATA[код]]></category>
		<category><![CDATA[куб]]></category>
		<category><![CDATA[модель]]></category>

		<guid isPermaLink="false">https://web.snauka.ru/issues/2017/12/85175</guid>
		<description><![CDATA[Современные веб-технологии позволяют размещать на страницах веб-ресурсов не только статичную графику, различные варианты анимации, но и трехмерные изображения. Blend4Web предназначена для создания визуализаций, презентаций, интернет-магазинов, игр и других web-приложений. Данный фреймворк тесно связан с пакетом 3D моделирования и анимации Blender. Графический движок можно комбинировать со звуковой системой, физическим движком, системой, которая реализуетискусственный интеллект, сетевую систему, [...]]]></description>
			<content:encoded><![CDATA[<p>Современные веб-технологии позволяют размещать на страницах веб-ресурсов не только статичную графику, различные варианты анимации, но и трехмерные изображения.</p>
<p>Blend4Web предназначена для создания визуализаций, презентаций, интернет-магазинов, игр и других web-приложений.</p>
<p>Данный фреймворк тесно связан с пакетом 3D моделирования и анимации Blender.</p>
<p>Графический движок можно комбинировать со звуковой системой, физическим движком, системой, которая реализуетискусственный интеллект, сетевую систему, а также редактор сцен и логики, формируя интегрированный инструментарий для создания 3D приложений &#8211; трехмерный движок.</p>
<p>Blend4Web предлагает всю визуальную работу выполнять в Blender: настраивать сцену, создавать модели и расставлять их, управлять физикой или частицами.</p>
<p>Рассмотрим возможности технологии Blend4Web на примере создания куба.</p>
<p>Для того, чтобы создать Blend4Web приложение, содержащее трехмерное изображение, необходимо:</p>
<ol>
<li>
<div>Скачать Blend4Web с официального сайта [1] и выполнить установку на компьютер.</div>
</li>
<li>
<div>Выполнить настройку редактора Blender под технологию Blend4Web.</div>
</li>
<li>
<div>Затем Необходимо выбрать фигуру «Cube» во вкладке «Add Primitive» (Рис.1)</div>
<p style="text-align: center;"><img src="https://web.snauka.ru/wp-content/uploads/2017/12/121817_1612_1.png" alt="" /></p>
<p style="text-align: center;">Рис.1 Выбор фигуры «Куб»</p>
</li>
<li>
<div>Далее необходимо выбрать материал куба, выполнить настройку отображения «Image Movie» и загрузить текстуру. В данном случае это заранее выбранная картинка «Cube.jpg» (Рис.2)</div>
<p style="text-align: center;"><img src="https://web.snauka.ru/wp-content/uploads/2017/12/121817_1612_2.png" alt="" /></p>
<p style="text-align: center;">Рис.2 Выбор текстуры</p>
</li>
<li>
<div>После, нужно настроить освещение, чтобы куб можно было увидеть при экспорте в браузер. Выбрать во вкладке «Create» настройку «Sun». В окне предварительного просмотра можно наблюдать за процессом изменения создаваемого объекта (Рис.3)</div>
<p style="text-align: center;"><img src="https://web.snauka.ru/wp-content/uploads/2017/12/121817_1612_3.png" alt="" /></p>
<p style="text-align: center;">Рис.3 Окно предварительного просмотра «Preview»</p>
</li>
<li>
<div>Для того, чтобы изображение можно было просматривать в браузере необходимо его экспортировать в html – файл.</div>
</li>
</ol>
<p>Созданный файл можно просмотреть и вращать в браузере без дополнительных настроек (рис.1).</p>
<p style="text-align: center;"><img src="https://web.snauka.ru/wp-content/uploads/2017/12/121817_1612_4.png" alt="" /></p>
<p style="text-align: center;">Рис.4. Отображение 3D-объекта в браузере GoogleChrome</p>
<p>Данный пример показывает, что использование Blend4Web для разработки трехмерных изображений довольно удобно пользователю, так как разработка происходит по большей части в графическом интерфейсе, нежели составлением громоздких кодов (например, как в WebGL). Максимально снижаются барьеры вхождения разработчиков в технологию WebGL и других менее используемых технологий основанных на составлении кода. Тем самым сокращается и время создания объекта.</p>
]]></content:encoded>
			<wfw:commentRss>https://web.snauka.ru/issues/2017/12/85175/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Создание трехмерных фигур с помощью WebGL</title>
		<link>https://web.snauka.ru/issues/2026/03/104338</link>
		<comments>https://web.snauka.ru/issues/2026/03/104338#comments</comments>
		<pubDate>Wed, 18 Mar 2026 10:42:28 +0000</pubDate>
		<dc:creator>Жеребцова Ксения Владимировна</dc:creator>
				<category><![CDATA[05.00.00 ТЕХНИЧЕСКИЕ НАУКИ]]></category>
		<category><![CDATA[3D-графика]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[three.js]]></category>
		<category><![CDATA[WebGL]]></category>
		<category><![CDATA[браузер]]></category>
		<category><![CDATA[визуализация]]></category>
		<category><![CDATA[геометрические фигуры]]></category>
		<category><![CDATA[интерактивность]]></category>
		<category><![CDATA[конус]]></category>
		<category><![CDATA[призма]]></category>
		<category><![CDATA[цилиндр]]></category>
		<category><![CDATA[шейдеры]]></category>

		<guid isPermaLink="false">https://web.snauka.ru/issues/2026/03/104338</guid>
		<description><![CDATA[Научный руководитель: Вильданов Алмаз Нафкатович к.ф.-м.н., Уфимский университет науки и технологий, Нефтекамский филиал WebGL – это программная библиотека для JavaScript, которая позволяет создавать 3D графику, функционирующую в браузерах. Данная библиотека основана на архитектуре OpenGL. WebGL использует язык программирования шейдеров GLSL, имеющий C-подобный синтаксис. Особенность WebGL заключается в том, что код моделируется непосредственно в браузере с использованием элемента [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;" align="right">Научный руководитель: <em>Вильданов Алмаз Нафкатович<br />
</em><em>к.ф.-м.н., </em><em>Уфимский университет науки и технологий, Нефтекамский филиал</em></p>
<p>WebGL – это программная библиотека для JavaScript, которая позволяет создавать 3D графику, функционирующую в браузерах. Данная библиотека основана на архитектуре OpenGL. WebGL использует язык программирования шейдеров GLSL, имеющий C-подобный синтаксис. Особенность WebGL заключается в том, что код моделируется непосредственно в браузере с использованием элемента canvas, введенного в HTML5.</p>
<p>Работа с WebGL и шейдерами в частности — довольно трудоемкий процесс, требующий описания каждой точки, линии и грани. Для визуализации необходимо прописывать объемные фрагменты кода. Чтобы ускорить разработку, была создана библиотека Three.js, которая представляет собой набор готовых классов для создания и отображения интерактивной 3D графики. Three.js для WebGL — это как jQuery для JavaScript: библиотека предлагает декларативный синтаксис и абстрагирует разработчика от сложностей, связанных с 3D в браузере.</p>
<p>Для создания сцены с геометрическими фигурами мы использовали современный подход с импортом модулей:</p>
<p><em>javascript</em></p>
<p><em>import * as THREE from &#8216;three&#8217;;</em></p>
<p><em>import { OrbitControls } from &#8216;three/addons/controls/OrbitControls.js&#8217;;</em></p>
<p><em> </em></p>
<p>Такой способ подключения (с использованием import maps) является более чистым и предпочтительным в современных веб-приложениях.</p>
<p>Инициализация сцены и основных компонентов</p>
<p>Первым шагом мы создаем сцену, камеру и рендерер:</p>
<p>javascript</p>
<p>const container = document.createElement(&#8216;div&#8217;);</p>
<p>document.body.appendChild(container);</p>
<p>&nbsp;</p>
<p>camera = new THREE.PerspectiveCamera(45, window.innerWidth / window.innerHeight, 1, 5000);</p>
<p>camera.position.set(300, 500, 1200);</p>
<p>&nbsp;</p>
<p>renderer = new THREE.WebGLRenderer({ antialias: true });</p>
<p>renderer.setSize(window.innerWidth, window.innerHeight);</p>
<p>container.appendChild(renderer.domElement);</p>
<p>Камера установлена на оптимальном расстоянии (1200 единиц), чтобы хорошо видеть оба ряда фигур. Параметр antialias включает сглаживание для более плавных краев объектов.</p>
<p><strong>Освещение сцены</strong></p>
<p>Для корректного отображения цветов и теней мы добавили два типа освещения:</p>
<p><em>javascript</em></p>
<p><em>ambientLight = new THREE.AmbientLight(0&#215;404040, 2.0);</em></p>
<p><em>light = new THREE.DirectionalLight(0xffffff, 1.5);</em></p>
<p><em>light.position.set(1, 2, 1);</em></p>
<p>Фоновый свет (AmbientLight) обеспечивает базовое освещение всех поверхностей, а направленный свет (DirectionalLight) создает объем и подчеркивает форму объектов.</p>
<p><strong>Управление камерой</strong></p>
<p>Для интерактивного взаимодействия с пользователем подключены контроллеры OrbitControls, позволяющие вращать камеру вокруг сцены, приближать и отдалять изображение:</p>
<p><em>javascript</em></p>
<p><em>controls = new OrbitControls(camera, renderer.domElement);</em></p>
<p><em>controls.rotateSpeed = 0.5;</em></p>
<p><em>controls.enableZoom = true;</em></p>
<p><em>controls.minDistance = 300;</em></p>
<p><em>controls.maxDistance = 2000;</em></p>
<p><em>controls.enableDamping = true;</em></p>
<p><strong>Размещение фигур в пространстве</strong></p>
<p>Для организации фигур мы использовали Декартову систему координат и расположили объекты в два ряда. Каждая фигура имеет свои координаты position.set(x, y, z):</p>
<p><em>javascript</em></p>
<p><em>// Параметры расположения</em></p>
<p><em>const spacingX = 300;       // расстояние между фигурами по X</em></p>
<p><em>const startX = -450;        // начальная координата X</em></p>
<p><em>const row1Z = -200;         // координата Z для первого ряда (задний)</em></p>
<p><em>const row2Z = 200;          // координата Z для второго ряда (передний)</em></p>
<p><strong>Создание геометрических фигур</strong></p>
<p>В нашей сцене представлены различные типы геометрических тел, созданные с помощью встроенных классов Three.js:</p>
<p><strong>1. </strong><strong>Прямоугольник (BoxGeometry)</strong></p>
<p><em>javascript</em></p>
<p><em>const geomBox = new THREE.BoxGeometry(300, 200, 220);</em></p>
<p><em>const box = new THREE.Mesh(geomBox, new THREE.MeshPhongMaterial({ color: 0xFFFF00 }));</em></p>
<p><strong>2. Цилиндры и призмы (CylinderGeometry)</strong></p>
<p>Класс CylinderGeometry универсален и позволяет создавать различные фигуры путем изменения параметров:</p>
<ul>
<li>Цилиндр (равные радиусы сверху и снизу, много сегментов)</li>
<li>Треугольная призма (равные радиусы, 3 сегмента)</li>
<li>Пятиугольная и шестиугольная призмы (равные радиусы, 5 и 6 сегментов)</li>
</ul>
<p><strong>3. Пирамиды и конусы</strong></p>
<p>Установка верхнего радиуса в 0 превращает цилиндр в пирамиду или конус:</p>
<ul>
<li>Четырехугольная пирамида (верхний радиус 0, 4 сегмента)</li>
<li>Шестиугольная пирамида (верхний радиус 0, 6 сегментов)</li>
<li>Конус (верхний радиус 0, много сегментов для гладкости)</li>
</ul>
<p><strong>Цветовое оформление</strong></p>
<p>Для каждой фигуры подобран индивидуальный цвет, делающий композицию яркой и наглядной:</p>
<ul>
<li>Желтый прямоугольник (0xFFFF00)</li>
<li>Синий цилиндр (0x0000FF)</li>
<li>Красная треугольная призма (0xFF0000)</li>
<li>Зеленая шестиугольная пирамида (0x00FF00)</li>
<li>Голубая пятиугольная призма (0x87CEEB)</li>
<li>Салатовая четырехугольная пирамида (0x90EE90)</li>
<li>Розовая шестиугольная призма (0xFFC0CB)</li>
<li>Золотой конус (0xFFD700)</li>
</ul>
<p><strong>Визуализация и анимация</strong></p>
<p>Для непрерывной отрисовки сцены используется цикл анимации:</p>
<p><em>javascript</em></p>
<p><em>function animate() {</em></p>
<p style="padding-left: 30px;"><em>    requestAnimationFrame(animate);</em></p>
<p style="padding-left: 30px;"><em>    controls.update();</em></p>
<p style="padding-left: 30px;"><em>    render();</em></p>
<p><em>}</em></p>
<p><em> </em></p>
<p><em>function render() {</em></p>
<p style="padding-left: 30px;"><em>    renderer.render(scene, camera);</em></p>
<p><em>}</em></p>
<p>Обработчик изменения размера окна обеспечивает корректное масштабирование сцены:</p>
<p><em>javascript</em></p>
<p><em>window.addEventListener(&#8216;resize&#8217;, onWindowResize, false);</em></p>
<p><strong>Результат</strong></p>
<p>В результате выполнения кода мы получаем интерактивную 3D-сцену с двумя рядами геометрических фигур (всего 8 объектов), расположенных на сером фоне со вспомогательной сеткой. Пользователь может свободно вращать камеру, приближать и рассматривать каждую фигуру с разных ракурсов, что делает данное решение отличным демонстрационным материалом для изучения возможностей Three.js и WebGL.</p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-104339" title="ris1" src="https://web.snauka.ru/wp-content/uploads/2026/03/ris11.png" alt="" width="643" height="293" /></p>
]]></content:encoded>
			<wfw:commentRss>https://web.snauka.ru/issues/2026/03/104338/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
