Three.js
From three.js
Геометрические элементы
В этом разделе рассматриваются стандартные геометрические элементы и их буферные варианты.
Система координат ...
Система координат ...
BufferGeometry →
BoxBufferGeometry
Это перенос BoxGeometry в BufferGeometry.
Куб с размером стороны равной 20 и числом сегментов по умолчанию, т.е. 1.
Пример
var geometry = new THREE.BoxBufferGeometry( 1, 1, 1 );
var material = new THREE.MeshBasicMaterial( {color: 0x00ff00} );
var cube = new THREE.Mesh( geometry, material );
scene.add( cube );Конструктор
BoxBufferGeometry( width, height, depth, widthSegments, heightSegments, depthSegments )
width — ширина куба, размер сторон по оси X. Значение по умолчанию равно 1.
height — высота куба, т.е. размер сторон по оси Y. Значение по умолчанию равно 1.
depth — глубина куба, т.е. размер сторон по оси Z. Значение по умолчанию равно 1.
widthSegments — дополнительный, необязательный параметр. Количество частей, на которые разделяется сторона куба по ширине. Значение по умолчанию равно 1.
heightSegments — дополнительный, необязательный параметр. Количество частей, на которые разделяется сторона куба по высоте. Значение по умолчанию равно 1.
depthSegments — дополнительный, необязательный параметр. Количество частей, на которые разделяется сторона куба по глубине. Значение по умолчанию равно 1.
Свойства
.parametersИспользуем код вышеприведенного примера как основу:
geometry.parameters; // outputs an object (параметры объекта) {width:1, height:1,
// depth:1, widthSegments:undefined, heightSegments:undefined}
cube.geometry.parameters; // as above, т.е. как указано выше
cube.geometry.parameters.width; // === 1, т.е. ширина равна 1
cube.geometry.parameters.widthSegments // === undefined, т.е. неопределено и
// используется значение по умолчаниюИсходники
Geometry →
BoxGeometry
BoxGeometry is the quadrilateral primitive geometry class. Обычно он используется для построения куба или параллелипипеда с размерами, представленными аргументами конструктора width - ширина, height - высота, и depth - глубина.
Куб со стороной равной 20, разделенной на 4 сегмента.
Пример
var geometry = new THREE.BoxGeometry( 1, 1, 1 );
var material = new THREE.MeshBasicMaterial( {color: 0x00ff00} );
var cube = new THREE.Mesh( geometry, material );
scene.add( cube );Конструктор
BoxGeometry( width, height, depth, widthSegments, heightSegments, depthSegments )
width — ширина куба, размер сторон по оси X. Значение по умолчанию равно 1.
height — высота куба, т.е. размер сторон по оси Y. Значение по умолчанию равно 1.
depth — глубина куба, т.е. размер сторон по оси Z. Значение по умолчанию равно 1.
widthSegments — дополнительный, необязательный параметр. Количество частей, на которые разделяется сторона куба по ширине. По умолчанию значение равно 1.
heightSegments — дополнительный, необязательный параметр. Количество частей, на которые разделяется сторона куба по высоте. По умолчанию значение равно 1.
depthSegments — дополнительный, необязательный параметр. Количество частей, на которые разделяется сторона куба по глубине. По умолчанию значение равно 1.
Свойства
.parametersИспользуем код вышеприведенного примера как основу:
geometry.parameters; // outputs an object (параметры объекта) {width:1, height:1,
// depth:1, widthSegments:undefined, heightSegments:undefined}
cube.geometry.parameters; // as above, т.е. как указано выше
cube.geometry.parameters.width; // === 1, т.е. ширина равна 1
cube.geometry.parameters.widthSegments // === undefined, т.е. неопределено и
// используется значение по умолчаниюИсходники
BufferGeometry →
CircleBufferGeometry
Это перенос CircleGeometry в BufferGeometry.
Круг с радиусом 20 и 32 сегментами, остальные параметры по умолчанию.
Обратите внимание на более светлую границу между сегментами, справа.
Так обозначен thetaStart — начальный угол.
Пример
var geometry = new THREE.CircleBufferGeometry( 5, 32 );
var material = new THREE.MeshBasicMaterial( { color: 0xffff00 } );
var circle = new THREE.Mesh( geometry, material );
scene.add( circle );Конструктор
CircleBufferGeometry( radius, segments, thetaStart, thetaLength )
radius — радиус круга, значение по умолчанию равно 1.
segments — число сегментов (треугольников), минимальное значение равно 3, значение по умолчанию равно 8.
thetaStart — начальный угол для первого сегмента, значение по умолчанию равно 0 (положение на 3 часа).
thetaLength — центральный угол (часто называемый theta) кругового сектора. Значение по умолчанию равно 2*Pi, что составляет полный круг.
Исходники
Geometry →
CircleGeometry
CircleGeometry (геометрия круга) это простая форма эвклидовой геометрии. Она формируется из нескольких треугольных сегментов (segments), расширяющихся до значения, заданного радиусом (radius), и расположенных вокруг центральной точки. Она строится на заданный центральный угол (thetaLength) против часовой стрелки, начинаясь с начального угла (thetaStart). Также этот геометрический элемент может применяться для создания обычных многоугольников, в которых число сегментов определяется количеством сторон.
Круг с радиусом 20 и 32 сегментами, остальные параметры по умолчанию.
Обратите внимание на более светлую границу между сегментами, справа.
Так обозначен thetaStart — начальный угол.
Пример
var geometry = new THREE.CircleGeometry( 5, 32 );
var material = new THREE.MeshBasicMaterial( { color: 0xffff00 } );
var circle = new THREE.Mesh( geometry, material );
scene.add( circle );Конструктор
CircleGeometry( radius, segments, thetaStart, thetaLength )
radius — радиус круга, значение по умолчанию равно 1.
segments — число сегментов (треугольников), минимальное значение равно 3, значение по умолчанию равно 8.
thetaStart — начальный угол для первого сегмента, значение по умолчанию равно 0 (положение на 3 часа).
thetaLength — центральный угол (часто называемый theta) кругового сектора. Значение по умолчанию равно 2*Pi, что составляет полный круг.
Исходники
BufferGeometry →
ConeBufferGeometry
Это перенос ConeGeometry в BufferGeometry.
Конус
Пример
var geometry = new THREE.ConeBufferGeometry( 5, 20, 32 );
var material = new THREE.MeshBasicMaterial( {color: 0xffff00} );
var cone = new THREE.Mesh( geometry, material );
scene.add( cone );Конструктор
ConeBufferGeometry( radius, height, radiusSegments, heightSegments, openEnded, thetaStart, thetaLength )
radius — радиус основания конуса. Значение по умолчанию равно 1.
height — высота конуса. Значение по умолчанию равно 1.
radiusSegments — число сегментов-граней по окружности конуса. Значение по умолчанию равно 8.
heightSegments — число рядов граней по высоте конуса. Значение по умолчанию равно 1.
openEnded — логическое значение, показывающее будет ли основание конуса открытым или закрытым. Значением по умолчанию является false, т.е. конус закрыт.
thetaStart — начальный угол первого сегмента в основании конуса, значение по умолчанию равно 0 (позиция на три часа).
thetaLength — центральный угол (зачастую называемый theta - тэта) сектора круга в основании конуса. По умолчанию равен 2*Pi, что делает конус завершенным.
Исходники
Geometry →
ConeGeometry
Класс для построения конических фигур.
Конус
Пример
var geometry = new THREE.ConeGeometry( 5, 20, 32 );
var material = new THREE.MeshBasicMaterial( {color: 0xffff00} );
var cone = new THREE.Mesh( geometry, material );
scene.add( cone );
Конструктор
ConeGeometry( radius, height, radiusSegments, heightSegments, openEnded, thetaStart, thetaLength )
radius — радиус основания конуса, значение по умолчанию равно 20.
height — высота конуса, значение по умолчанию равно 100.
radiusSegments — число сегментов-граней по окружности конуса, значение по умолчанию равно 8.
heightSegments — число рядов граней по высоте конуса. Значение по умолчанию равно 1.
openEnded — логическое значение, показывающее будет ли основание конуса открытым или закрытым. Значением по умолчанию является false, т.е. конус закрыт.
thetaStart — начальный угол первого сегмента в основании конуса, значение по умолчанию равно 0 (позиция на три часа).
thetaLength — центральный угол (зачастую называемый theta - тэта) сектора круга в основании конуса. По умолчанию равен 2*Pi, что делает конус завершенным.
Исходники
BufferGeometry →
CylinderBufferGeometry
Это перенос CylinderGeometry в BufferGeometry.
Цилиндр с шестью гранями и закрытыми основаниями
Пример
var geometry = new THREE.CylinderBufferGeometry( 5, 5, 20, 32 );
var material = new THREE.MeshBasicMaterial( {color: 0xffff00} );
var cylinder = new THREE.Mesh( geometry, material );
scene.add( cylinder );Конструктор
CylinderBufferGeometry( radiusTop, radiusBottom, height, radiusSegments, heightSegments, openEnded, thetaStart, thetaLength )
radiusTop — радиус цилиндра по верху. Значение по умолчанию равно 1.
radiusBottom — радиус цилиндра по низу. Значение по умолчанию равно 1.
height — высота цилиндра. Значение по умолчанию равно 1.
radiusSegments — число сегментов-граней по окружности цилиндра. Значение по умолчанию равно 8.
heightSegments — число рядов граней по высоте цилиндра. Значение по умолчанию равно 1.
openEnded — логическое значение, показывающее будут ли основания цилиндра открытыми или закрытыми. Значением по умолчанию является false, т.е. цилиндр закрыт.
thetaStart — начальный угол первого сегмента в основании цилиндра, значение по умолчанию равно 0 (позиция на три часа).
thetaLength — центральный угол (зачастую называемый theta - тэта) сектора круга в основании цилиндра. По умолчанию равен 2*Pi, что делает цилиндр завершенным.
Исходники
Geometry →
CylinderGeometry
Класс для построения фигур цилиндрической формы.
Цилиндр с открытыми основаниями с 16 сегментами-гранями по окружности и четырьмя сегментами по высоте
Пример
var geometry = new THREE.CylinderGeometry( 5, 5, 20, 32 );
var material = new THREE.MeshBasicMaterial( {color: 0xffff00} );
var cylinder = new THREE.Mesh( geometry, material );
scene.add( cylinder );Конструктор
CylinderGeometry( radiusTop, radiusBottom, height, radiusSegments, heightSegments, openEnded, thetaStart, thetaLength )
radiusTop — радиус цилиндра по верху. Значение по умолчанию равно 1.
radiusBottom — радиус цилиндра по низу. Значение по умолчанию равно 1.
height — высота цилиндра. Значение по умолчанию равно 1.
radiusSegments — число сегментов-граней по окружности цилиндра. Значение по умолчанию равно 8.
heightSegments — число рядов граней по высоте цилиндра. Значение по умолчанию равно 1.
openEnded — логическое значение, показывающее будут ли основания цилиндра открытыми или закрытыми. Значением по умолчанию является false, т.е. цилиндр закрыт.
thetaStart — начальный угол первого сегмента в основании цилиндра, значение по умолчанию равно 0 (позиция на три часа).
thetaLength — центральный угол (зачастую называемый theta - тэта) сектора круга в основании цилиндра. По умолчанию равен 2*Pi, что делает цилиндр завершенным.
Исходники
PolyhedronBufferGeometry →
DodecahedronBufferGeometry
Класс для построения геометрических фигур в виде додекаэдра (двенадцатигранника).
Додекаэдр
Конструктор
DodecahedronBufferGeometry( radius, detail )
radius — радиус додекаэдра. Значение по умолчанию равно 1.
detail — Значение по умолчанию равно 0. Установка здесь значения большего 0, добавит вершин и это будет уже не додекаэдр.

При установке значения аргумента detail равным 3,
получается вот такой «додекаэдр».
Свойства
.parameters
Объект со всеми параметрами, которые были использованы для построения этой геометрической фигуры.Исходники
Geometry →
DodecahedronGeometry
Класс для построения геометрических фигур в виде додекаэдра (двенадцатигранника).
Додекаэдр
Конструктор
DodecahedronGeometry( radius, detail )
radius — радиус додекаэдра. Значение по умолчанию равно 1.
detail — Значение по умолчанию равно 0. Установка здесь значения большего 0, добавит вершин и это будет уже не додекаэдр.

При установке значения аргумента detail равным 3,
получается вот такой «додекаэдр».
Свойства
.parameters
Объект со всеми параметрами, которые были использованы для построения этой геометрической фигуры.Исходники
BufferGeometry →
EdgesGeometry
Этот объект может использоваться в качестве вспомогательного для отображения кромок геометрического объекта.Пример
var geometry = new THREE.BoxBufferGeometry( 100, 100, 100 );
var edges = new THREE.EdgesGeometry( geometry );
var line = new THREE.LineSegments( edges, new THREE.LineBasicMaterial( { color: 0xffffff } ) );
scene.add( line );
Другие примеры:
helpers
Конструктор
EdgesGeometry( geometry, thresholdAngle )
geometry — любой геометрический объект.
thresholdAngle — кромка отображается только в том случае, если угол (в градусах) между нормалями соседних граней превышает данное значение. По умолчанию оно равно 1 градусу.
Исходники
Geometry →
ExtrudeGeometry
Создает рельефный (выдавленный) геометрический элемент по контурной фигуре.
ExtrudeGeometry
Пример
var length = 12, width = 8;
var shape = new THREE.Shape(); shape.moveTo( 0,0 ); shape.lineTo( 0, width ); shape.lineTo( length, width ); shape.lineTo( length, 0 ); shape.lineTo( 0, 0 );
var extrudeSettings = { steps: 2, amount: 16, bevelEnabled: true, bevelThickness: 1, bevelSize: 1, bevelSegments: 1 };
var geometry = new THREE.ExtrudeGeometry( shape, data ); var material = new THREE.MeshBasicMaterial( { color: 0x00ff00 } ); var mesh = new THREE.Mesh( geometry, material ) ; scene.add( mesh );
Конструктор
ExtrudeGeometry( shapes, options )
shapes — форма или массив форм.
options — объект, который может содержать следующие параметры:
curveSegments
— количество точек на кривых. Значение по умолчанию равно 12.
steps
— количество точек для разделения сегментов по глубине выдавленного сплайна. Значение по умолчанию равно 1.
amount
— глубина выдавливания (рельефа) фигуры. Значение по умолчанию равно 100.
bevelEnabled
— разрешить ли фаску (скос). Значением по умолчанию является true.
bevelThickness
— насколько глубоко входит фаска в исходную форму. Значение по умолчанию равно 6.
bevelSize
— насколько далеко выходит рельеф из контура фигуры или расстояние от контура формы, на которое простирается рельеф. Значением по умолчанию является bevelThickness - 2.
bevelSegments
— количество слоев фаски. Значение по умолчанию равно 3.
extrudePath — THREE.CurvePath.
Трехмерный сплайн контура, по которому выдавливается форма (создает Frames, если frames не определены).
frames — объект, содержащий массивы касательных, нормалей, бинормалей для каждого шага (step) вдоль выдавливаемого контура (extrudePath).
Примечание переводчика: Прямая, перпендикулярная касательной и проходящая через точку касания, называется нормалью к кривой.
Плоскость, перпендикулярная касательной в данной точке кривой, называется нормальной плоскостью; все нормали для данной точки лежат в нормальной плоскости.
Нормаль, лежащую в соприкасающейся плоскости, называют главной нормалью, а нормаль, перпендикулярная соприкасающейся плоскости, называется бинормалью.
material
— индекс материала для передней и задней граней.
extrudeMaterial
— индекс материала для выдавленных и скошенных граней.
UVGenerator — объект, который обеспечивает функции генератора координат UV.
При создании сетки (Mesh) с этим геометрическим элементов, если требуются отдельные материалы для собственно грани и для сторон рельефа, можно использовать массив материалов. Первый материал будет применен к грани; второй будет применен к сторонам рельефа.
Свойства
Методы
.addShapeList( shapes, options )
shapes — массив добавляемых форм.
options — объект, который может содержать следующие параметры:
curveSegments
— количество точек на кривых. Значение по умолчанию равно 12.
steps
— количество точек для разделения сегментов по глубине выдавленного сплайна. Значение по умолчанию равно 1.
amount
— глубина выдавливания (рельефа) фигуры. Значение по умолчанию равно 100.
bevelEnabled
— разрешить ли фаску (скос). Значением по умолчанию является true.
bevelThickness
— насколько глубоко входит фаска в исходную форму. Значение по умолчанию равно 6.
bevelSize
— насколько далеко выходит рельеф из контура фигуры или расстояние от контура формы, на которое простирается рельеф. Значением по умолчанию является bevelThickness - 2.
bevelSegments
— количество слоев фаски. Значение по умолчанию равно 3.
extrudePath — THREE.CurvePath.
Трехмерный сплайн контура, по которому выдавливается форма (создает Frames, если frames не определены).
frames — объект, содержащий массивы касательных, нормалей, бинормалей для каждого шага (step) вдоль выдавливаемого контура (extrudePath).
material
— индекс материала для передней и задней граней.
extrudeMaterial
— индекс материала для выдавленных и скошенных граней.
UVGenerator — объект, который обеспечивает функции генератора координат UV.
addShape(
shape - форма')" onmouseout="hide()">shape, options )
shape — добавляемая форма.
options — объект, который может содержать следующие параметры:
curveSegments
— количество точек на кривых. Значение по умолчанию равно 12.
steps
— количество точек для разделения сегментов по глубине выдавленного сплайна. Значение по умолчанию равно 1.
amount
— глубина выдавливания (рельефа) фигуры. Значение по умолчанию равно 100.
bevelEnabled
— разрешить ли фаску (скос). Значением по умолчанию является true.
bevelThickness
— насколько глубоко входит фаска в исходную форму. Значение по умолчанию равно 6.
bevelSize
— насколько далеко выходит рельеф из контура фигуры или расстояние от контура формы, на которое простирается рельеф. Значением по умолчанию является bevelThickness - 2.
bevelSegments
— количество слоев фаски. Значение по умолчанию равно 3.
extrudePath — THREE.CurvePath.
Трехмерный сплайн контура, по которому выдавливается форма (создает Frames, если frames не определены).
frames — объект, содержащий массивы касательных, нормалей, бинормалей для каждого шага (step) вдоль выдавливаемого контура (extrudePath).
material
— индекс материала для передней и задней граней.
extrudeMaterial
— индекс материала для выдавленных и скошенных граней.
UVGenerator — объект, который обеспечивает функции генератора координат UV.
Исходники
BufferGeometry →
ExtrudeBufferGeometry
Создает рельефный (выдавленный) элемент BufferGeometry по контурной фигуре.

ExtrudeGeometry
Пример
var length = 12, width = 8;
var shape = new THREE.Shape(); shape.moveTo( 0,0 ); shape.lineTo( 0, width ); shape.lineTo( length, width ); shape.lineTo( length, 0 ); shape.lineTo( 0, 0 );
var extrudeSettings = { steps: 2, amount: 16, bevelEnabled: true, bevelThickness: 1, bevelSize: 1, bevelSegments: 1 };
var geometry = new THREE.ExtrudeBufferGeometry( shape, extrudeSettings ); var material = new THREE.MeshBasicMaterial( { color: 0x00ff00 } ); var mesh = new THREE.Mesh( geometry, material ) ; scene.add( mesh );
Конструктор
ExtrudeBufferGeometry( shapes, options )
shapes — форма или массив форм.
options — объект, который может содержать следующие параметры:
curveSegments
— количество точек на кривых. Значение по умолчанию равно 12.
steps
— количество точек для разделения сегментов по глубине выдавленного сплайна. Значение по умолчанию равно 1.
amount
— глубина выдавливания (рельефа) фигуры. Значение по умолчанию равно 100.
bevelEnabled
— разрешить ли фаску (скос). Значением по умолчанию является true.
bevelThickness
— насколько глубоко входит фаска в исходную форму. Значение по умолчанию равно 6.
bevelSize
— насколько далеко выходит рельеф из контура фигуры или расстояние от контура формы, на которое простирается рельеф. Значением по умолчанию является bevelThickness - 2.
bevelSegments
— количество слоев фаски. Значение по умолчанию равно 3.
extrudePath — THREE.CurvePath.
Трехмерный сплайн контура, по которому выдавливается форма (создает Frames, если frames не определены).
frames — объект, содержащий массивы касательных, нормалей, бинормалей для каждого шага (step) вдоль выдавливаемого контура (extrudePath).
Примечание переводчика: Прямая, перпендикулярная касательной и проходящая через точку касания, называется нормалью к кривой.
Плоскость, перпендикулярная касательной в данной точке кривой, называется нормальной плоскостью; все нормали для данной точки лежат в нормальной плоскости.
Нормаль, лежащую в соприкасающейся плоскости, называют главной нормалью, а нормаль, перпендикулярная соприкасающейся плоскости, называется бинормалью.
material
— индекс материала для передней и задней граней.
extrudeMaterial
— индекс материала для выдавленных и скошенных граней.
UVGenerator — объект, который обеспечивает функции генератора координат UV.
При создании сетки (Mesh) с этим геометрическим элементов, если требуются отдельные материалы для собственно грани и для сторон рельефа, можно использовать массив материалов. Первый материал будет применен к грани; второй будет применен к сторонам рельефа.
Свойства
Методы
.addShapeList( shapes, options )
shapes — массив добавляемых форм.
options — объект, который может содержать следующие параметры:
curveSegments
— количество точек на кривых. Значение по умолчанию равно 12.
steps
— количество точек для разделения сегментов по глубине выдавленного сплайна. Значение по умолчанию равно 1.
amount
— глубина выдавливания (рельефа) фигуры. Значение по умолчанию равно 100.
bevelEnabled
— разрешить ли фаску (скос). Значением по умолчанию является true.
bevelThickness
— насколько глубоко входит фаска в исходную форму. Значение по умолчанию равно 6.
bevelSize
— насколько далеко выходит рельеф из контура фигуры или расстояние от контура формы, на которое простирается рельеф. Значением по умолчанию является bevelThickness - 2.
bevelSegments
— количество слоев фаски. Значение по умолчанию равно 3.
extrudePath — THREE.CurvePath.
Трехмерный сплайн контура, по которому выдавливается форма (создает Frames, если frames не определены).
frames — объект, содержащий массивы касательных, нормалей, бинормалей для каждого шага (step) вдоль выдавливаемого контура (extrudePath).
material
— индекс материала для передней и задней граней.
extrudeMaterial
— индекс материала для выдавленных и скошенных граней.
UVGenerator — объект, который обеспечивает функции генератора координат UV.
addShape(
shape - форма')" onmouseout="hide()">shape, options )
shape — добавляемая форма.
options — объект, который может содержать следующие параметры:
curveSegments
— количество точек на кривых. Значение по умолчанию равно 12.
steps
— количество точек для разделения сегментов по глубине выдавленного сплайна. Значение по умолчанию равно 1.
amount
— глубина выдавливания (рельефа) фигуры. Значение по умолчанию равно 100.
bevelEnabled
— разрешить ли фаску (скос). Значением по умолчанию является true.
bevelThickness
— насколько глубоко входит фаска в исходную форму. Значение по умолчанию равно 6.
bevelSize
— насколько далеко выходит рельеф из контура фигуры или расстояние от контура формы, на которое простирается рельеф. Значением по умолчанию является bevelThickness - 2.
bevelSegments
— количество слоев фаски. Значение по умолчанию равно 3.
extrudePath — THREE.CurvePath.
Трехмерный сплайн контура, по которому выдавливается форма (создает Frames, если frames не определены).
frames — объект, содержащий массивы касательных, нормалей, бинормалей для каждого шага (step) вдоль выдавливаемого контура (extrudePath).
material
— индекс материала для передней и задней граней.
extrudeMaterial
— индекс материала для выдавленных и скошенных граней.
UVGenerator — объект, который обеспечивает функции генератора координат UV.
Исходники
PolyhedronBufferGeometry →
IcosahedronBufferGeometry
Класс для построения геометрического элемента икосаэдра - двадцатигранника.
Икосаэдр
Конструктор
IcosahedronBufferGeometry( radius, detail )
radius — радиус икосаэдра. Значение по умолчанию равно 1.
detail — Значение по умолчанию равно 0. Установка здесь значения большего 0, добавит вершин и это будет уже не икосаэдр. При detail больше 1 это уже фактически сфера.

"Икосаэдр" со значением detail равном 3
Свойства
.parameters
Объект со всеми параметрами, которые были использованы для построения этой геометрической фигуры.Исходники
Geometry →
IcosahedronGeometry
Класс для построения геометрического элемента икосаэдра - двадцатигранника.
Икосаэдр
Конструктор
IcosahedronGeometry( radius, detail )
radius — радиус икосаэдра. Значение по умолчанию равно 1.
detail — Значение по умолчанию равно 0. Установка здесь значения большего 0, добавит вершин и это будет уже не икосаэдр. При detail больше 1 это уже фактически сфера.

"Икосаэдр" со значением detail равном 3
Свойства
.parameters
Объект со всеми параметрами, которые были использованы для построения этой геометрической фигуры.Исходники
BufferGeometry →
LatheBufferGeometry
Это перенос LatheGeometry в BufferGeometry.
Lathe
Пример
var points = [];
for ( var i = 0; i < 10; i ++ ) {
points.push( new THREE.Vector2( Math.sin( i * 0.2 ) * 10 + 5, ( i - 5 ) * 2 ) );
}
var geometry = new THREE.LatheBufferGeometry( points );
var material = new THREE.MeshBasicMaterial( { color: 0xffff00 } );
var lathe = new THREE.Mesh( geometry, material );
scene.add( lathe );
Конструктор
LatheBufferGeometry( points, segments,
обозначенного греческой
буквой фи - φ')" onmouseout="hide()">phiStart, phiLength )
points — массив двумерных векторов. Координата x каждой точки должна быть больше нуля.
segments — количество сегментов по окружности создаваемого объекта. Значение по умолчанию равно 12.
phiStart — начальный угол, в радианах. Значение по умолчанию равно 0.
phiLength — длина окружности, в радианах (в диапазоне от 0 до 2PI). Значение равное 2PI означает, что окружность замкнута, менее 2PI - часть окружности. Значение по умолчанию равно 2PI.
Данный конструктор на основе заданных параметров создает LatheBufferGeometry.Исходники
Geometry →
LatheGeometry
Класс для построения сеток (Mesh) с осевой симметрией. Возможное применение включает вазы, трубы, пончики и т.д. Вращение происходит вокруг вертикальной оси Y.Примечание переводчика: в переводе на русский язык lathe - станок, а конкретнее - токарный станок. То есть, подразумевается что данный класс позволяет создавать объекты подобно токарному станку.

Lathe
Пример
var points = [];
for ( var i = 0; i < 10; i ++ ) {
points.push( new THREE.Vector2( Math.sin( i * 0.2 ) * 10 + 5, ( i - 5 ) * 2 ) );
}
var geometry = new THREE.LatheGeometry( points );
var material = new THREE.MeshBasicMaterial( { color: 0xffff00 } );
var lathe = new THREE.Mesh( geometry, material );
scene.add( lathe );
Конструктор
LatheGeometry( points, segments,
обозначенного греческой
буквой фи - φ')" onmouseout="hide()">phiStart, phiLength )
points — массив двумерных векторов. Координата x каждой точки должна быть больше нуля.
segments — количество сегментов по окружности создаваемого объекта. Значение по умолчанию равно 12.
phiStart — начальный угол, в радианах. Значение по умолчанию равно 0.
phiLength — длина окружности, в радианах (в диапазоне от 0 до 2PI). Значение равное 2PI означает, что окружность замкнута, менее 2PI - часть окружности. Значение по умолчанию равно 2PI.
Данный конструктор на основе заданных параметров создает LatheBufferGeometry.Исходники
PolyhedronBufferGeometry →
OctahedronBufferGeometry
Класс для построения геометрического элемента октаэдра - восьмигранника.
Октаэдр
Конструктор
OctahedronBufferGeometry( radius, detail )
radius — радиус октаэдра. Значение по умолчанию равно 1.
detail — значение по умолчанию равно 0. Установка здесь значения большего 0, добавит вершин и это будет уже не октаэдр.

"Октаэдр" со значением detail равном 3
Свойства
.parameters
Объект со всеми параметрами, которые были использованы для построения этой геометрической фигуры.Исходники
Geometry →
OctahedronGeometry
Класс для построения геометрического элемента октаэдра - восьмигранника.
Октаэдр
Конструктор
OctahedronGeometry( radius, detail )
radius — радиус октаэдра. Значение по умолчанию равно 1.
detail — значение по умолчанию равно 0. Установка здесь значения большего 0, добавит вершин и это будет уже не октаэдр.

"Октаэдр" со значением detail равном 3
Свойства
.parameters
Объект со всеми параметрами, которые были использованы для построения этой геометрической фигуры.Исходники
BufferGeometry →
ParametricBufferGeometry
Формирует геометрический элемент, представляющий параметрическую поверхность.
Parametric
Пример
var geometry = new THREE.ParametricBufferGeometry( THREE.ParametricGeometries.klein, 25, 25 );
var material = new THREE.MeshBasicMaterial( { color: 0x00ff00 } );
var cube = new THREE.Mesh( geometry, material );
scene.add( cube );
Конструктор
ParametricBufferGeometry( func, slices, stacks )
func — функция, принимающая значения u
и v, каждое из которых находится в пределах от 0 до 1,
и возвращает трехмерный вектор.
slices — число долей, используемых для параметрических функции.
stacks — количество элементов, используемых для параметрических функции.
Исходники
Geometry →
ParametricGeometry
Формирует геометрический элемент, представляющий параметрическую поверхность.
Parametric
Пример
var geometry = new THREE.ParametricGeometry( THREE.ParametricGeometries.klein, 25, 25 );
var material = new THREE.MeshBasicMaterial( { color: 0x00ff00 } );
var klein = new THREE.Mesh( geometry, material );
scene.add( klein );
Конструктор
ParametricGeometry( func, slices, stacks )
func — функция, принимающая значения u
и v, каждое из которых находится в пределах от 0 до 1,
и возвращает трехмерный вектор.
slices — число долей, используемых для параметрических функции.
stacks — количество элементов, используемых для параметрических функции.
Исходники
BufferGeometry →
PlaneBufferGeometry
Это перенос PlaneGeometry в BufferGeometry.
PlaneGeometry
Пример
var geometry = new THREE.PlaneBufferGeometry( 5, 20, 32 );
var material = new THREE.MeshBasicMaterial( {color: 0xffff00, side: THREE.DoubleSide} );
var plane = new THREE.Mesh( geometry, material );
scene.add( plane );Конструктор
PlaneBufferGeometry( width, height, widthSegments, heightSegments )
width — ширина по оси X.
height — высота по оси Y.
widthSegments — количество сегментов (частей) по ширине (дополнительный, необязательный параметр). По умолчанию равен 1.
heightSegments — количество сегментов по высоте (дополнительный, необязательный параметр). По умолчанию равен 1.
Исходники
Geometry →
PlaneGeometry
Класс для построения плоских геометрических фигур.
PlaneGeometry
Пример
var geometry = new THREE.PlaneGeometry( 5, 20, 32 );
var material = new THREE.MeshBasicMaterial( {color: 0xffff00, side: THREE.DoubleSide} );
var plane = new THREE.Mesh( geometry, material );
scene.add( plane );Конструктор
PlaneBufferGeometry( width, height, widthSegments, heightSegments )
width — ширина по оси X.
height — высота по оси Y.
widthSegments — количество сегментов (частей) по ширине (дополнительный, необязательный параметр). По умолчанию равен 1.
heightSegments — количество сегментов по высоте (дополнительный, необязательный параметр). По умолчанию равен 1.
Исходники
BufferGeometry →
PolyhedronBufferGeometry
PolyhedronBufferGeometry представляет собой трехмерный объект (многогранник) с плоскими гранями. Этот класс принимает массив вершин, проецирует их на сферу и затем делит их на желаемый уровень детализации.Этот класс используется DodecahedronBufferGeometry, IcosahedronBufferGeometry, OctahedronBufferGeometry и TetrahedronBufferGeometry для создания соответствующих геометрических элементов.to generate their respective geometries.
Пример
var verticesOfCube = [ -1,-1,-1, 1,-1,-1, 1, 1,-1, -1, 1,-1, -1,-1, 1, 1,-1, 1, 1, 1, 1, -1, 1, 1, ];
var indicesOfFaces = [ 2,1,0, 0,3,2, 0,4,7, 7,3,0, 0,1,5, 5,4,0, 1,2,6, 6,5,1, 2,3,7, 7,6,2, 4,5,6, 6,7,4 ];
var geometry = new THREE.PolyhedronBufferGeometry( verticesOfCube, indicesOfFaces, 6, 2 );
Конструктор
PolyhedronBufferGeometry( vertices, indices, radius, detail )
vertices — массив точек в виде [1,1,1, -1,-1,-1, ... ]
indices — массив индексов, составляющих грани в виде [0,1,2, 2,3,0, ... ]
radius — радиус получаемого объекта
detail — количество уровней, на которые подразделяется геометрический элемент. Чем больше detail, тем глаже форма получаемого объекта, т.е. тем ближе к сфере.
Свойства
.parameters
Объект со всеми параметрами, которые были использованы для создания геометрического элемента.Исходники
Geometry →
PolyhedronGeometry
PolyhedronGeometry представляет собой трехмерный объект (многогранник) с плоскими гранями. Этот класс принимает массив вершин, проецирует их на сферу и затем делит их на желаемый уровень детализации.Пример
var verticesOfCube = [ -1,-1,-1, 1,-1,-1, 1, 1,-1, -1, 1,-1, -1,-1, 1, 1,-1, 1, 1, 1, 1, -1, 1, 1, ];
var indicesOfFaces = [ 2,1,0, 0,3,2, 0,4,7, 7,3,0, 0,1,5, 5,4,0, 1,2,6, 6,5,1, 2,3,7, 7,6,2, 4,5,6, 6,7,4 ];
var geometry = new THREE.PolyhedronGeometry( verticesOfCube, indicesOfFaces, 6, 2 );
Конструктор
PolyhedronGeometry( vertices, indices, radius, detail )
vertices — массив точек в виде [1,1,1, -1,-1,-1, ... ]
indices — массив индексов, составляющих грани в виде [0,1,2, 2,3,0, ... ]
radius — радиус получаемого объекта
detail — количество уровней, на которые подразделяется геометрический элемент. Чем больше detail, тем глаже форма получаемого объекта, т.е. тем ближе к сфере.
Свойства
.parameters
Объект со всеми параметрами, которые были использованы для создания геометрического элемента.Исходники
BufferGeometry →
RingBufferGeometry
Это перенос RingGeometry в BufferGeometry.
Кольцо
Пример
var geometry = new THREE.RingBufferGeometry( 1, 5, 32 );
var material = new THREE.MeshBasicMaterial( { color: 0xffff00, side: THREE.DoubleSide } );
var mesh = new THREE.Mesh( geometry, material );
scene.add( mesh );
Конструктор
RingBufferGeometry( innerRadius, outerRadius, thetaSegments, phiSegments, thetaStart, thetaLength )
innerRadius — внутренний радиус кольца. Значение по умолчанию равно 0.5.
outerRadius — наружный радиус кольца. Значение по умолчанию равно 1.
thetaSegments — число сегментов по окружности кольца. Чем больше число сегментов, тем более круглым будет кольцо. Минимальное значение равно 3. Значение по умолчанию равно 8.
phiSegments — число сегментов по радиусу кольца (в толщину). Минимальное значение равно 1. Значение по умолчанию равно 1.
thetaStart — начальный угол. Значение по умолчанию равно 0.
thetaLength — центральный угол. Значение по умолчанию равно Math.PI * 2.
Исходники
Geometry →
RingGeometry
Класс для построения двумерной кольцевой фигуры.
Кольцо
Пример
var geometry = new THREE.RingGeometry( 1, 5, 32 );
var material = new THREE.MeshBasicMaterial( { color: 0xffff00, side: THREE.DoubleSide } );
var mesh = new THREE.Mesh( geometry, material );
scene.add( mesh );
Конструктор
RingGeometry( innerRadius, outerRadius, thetaSegments, phiSegments, thetaStart, thetaLength )
innerRadius — внутренний радиус кольца. Значение по умолчанию равно 0.5.
outerRadius — наружный радиус кольца. Значение по умолчанию равно 1.
thetaSegments — число сегментов по окружности кольца. Чем больше число сегментов, тем более круглым будет кольцо. Минимальное значение равно 3. Значение по умолчанию равно 8.
phiSegments — число сегментов по радиусу кольца (в толщину). Минимальное значение равно 1. Значение по умолчанию равно 1.
thetaStart — начальный угол. Значение по умолчанию равно 0.
thetaLength — центральный угол. Значение по умолчанию равно Math.PI * 2.
Исходники
BufferGeometry →
ShapeBufferGeometry
Создает односторонний многоугольный геометрический элемент из одной или нескольких контурных фигур.
Геометрическая форма с числом сегментов по умолчанию, т.е. 12.
Пример
var x = 0, y = 0;
var heartShape = new THREE.Shape();
heartShape.moveTo( x + 5, y + 5 ); heartShape.bezierCurveTo( x + 5, y + 5, x + 4, y, x, y ); heartShape.bezierCurveTo( x - 6, y, x - 6, y + 7,x - 6, y + 7 ); heartShape.bezierCurveTo( x - 6, y + 11, x - 3, y + 15.4, x + 5, y + 19 ); heartShape.bezierCurveTo( x + 12, y + 15.4, x + 16, y + 11, x + 16, y + 7 ); heartShape.bezierCurveTo( x + 16, y + 7, x + 16, y, x + 10, y ); heartShape.bezierCurveTo( x + 7, y, x + 5, y + 5, x + 5, y + 5 );
var geometry = new THREE.ShapeBufferGeometry( heartShape ); var material = new THREE.MeshBasicMaterial( { color: 0x00ff00 } ); var mesh = new THREE.Mesh( geometry, material ) ; scene.add( mesh );
Конструктор
ShapeBufferGeometry( shapes, curveSegments )
shapes — массив форм или одиночная форма.
curveSegments — число сегментов в форме - значение по умолчанию равно 12
Исходники
Geometry →
ShapeGeometry
Создает односторонний многоугольный геометрический элемент из одной или нескольких контурных фигур.
Геометрическая форма с числом сегментов по умолчанию, т.е. 12.
Пример
var x = 0, y = 0;
var heartShape = new THREE.Shape();
heartShape.moveTo( x + 5, y + 5 ); heartShape.bezierCurveTo( x + 5, y + 5, x + 4, y, x, y ); heartShape.bezierCurveTo( x - 6, y, x - 6, y + 7,x - 6, y + 7 ); heartShape.bezierCurveTo( x - 6, y + 11, x - 3, y + 15.4, x + 5, y + 19 ); heartShape.bezierCurveTo( x + 12, y + 15.4, x + 16, y + 11, x + 16, y + 7 ); heartShape.bezierCurveTo( x + 16, y + 7, x + 16, y, x + 10, y ); heartShape.bezierCurveTo( x + 7, y, x + 5, y + 5, x + 5, y + 5 );
var geometry = new THREE.ShapeGeometry( heartShape ); var material = new THREE.MeshBasicMaterial( { color: 0x00ff00 } ); var mesh = new THREE.Mesh( geometry, material ) ; scene.add( mesh );
Конструктор
ShapeGeometry( shapes, curveSegments )
shapes — массив форм или одиночная форма.
curveSegments — число сегментов в форме - значение по умолчанию равно 12
Исходники
BufferGeometry →
SphereBufferGeometry
This is the BufferGeometry port of SphereGeometry.
Сфера
Пример
var geometry = new THREE.SphereBufferGeometry( 5, 32, 32 );
var material = new THREE.MeshBasicMaterial( {color: 0xffff00} );
var sphere = new THREE.Mesh( geometry, material );
scene.add( sphere );
Конструктор
SphereBufferGeometry( radius, widthSegments, heightSegments, phiStart, phiLength, thetaStart, thetaLength )
radius — радиус сферы, значение по умолчанию равно 1.
widthSegments — количество горизонтальных сегментов. Минимальное значение равно 3, значение по умолчанию равно 8.
heightSegments — количество вертикальных сегментов.
Минимальное значение равно 2, значение по умолчанию равно 6.
phiStart — specify horizontal starting angle. Значение по умолчанию равно 0.
phiLength — specify horizontal sweep angle size. Значение по умолчанию равно Math.PI * 2.
thetaStart — specify vertical starting angle. Значение по умолчанию равно 0.
thetaLength — specify vertical sweep angle size. Значение по умолчанию равно Math.PI.
The geometry is created by sweeping and calculating vertexes around the Y axis (horizontal sweep) and the Z axis (vertical sweep). Thus, incomplete spheres (akin to 'sphere slices') can be created through the use of different values of phiStart, phiLength, thetaStart and thetaLength, in order to define the points in which we start (or end) calculating those vertices.Исходники
Geometry →
SphereGeometry (геометрия сферы)
Класс для генерации сферической геометрии.
Сфера
Пример
var geometry = new THREE.SphereGeometry( 5, 32, 32 );
var material = new THREE.MeshBasicMaterial( {color: 0xffff00} );
var sphere = new THREE.Mesh( geometry, material );
scene.add( sphere );
Конструктор
SphereGeometry( radius, widthSegments, heightSegments, phiStart, phiLength, thetaStart, thetaLength )
radius — радиус сферы, значение по умолчанию равно 1.
widthSegments — количество горизонтальных сегментов. Минимальное значение равно 3, значение по умолчанию равно 8.
heightSegments — количество вертикальных сегментов.
Минимальное значение равно 2, значение по умолчанию равно 6.
phiStart — устанавливает начальный угол по горизонтали specify horizontal starting angle, значение по умолчанию равно 0.
phiLength — определяет размер угла ометания по горизонтали specify horizontal sweep angle size, значение по умолчанию равно Math.PI * 2.
thetaStart — specify vertical starting angle, значение по умолчанию равно 0.
thetaLength — specify vertical sweep angle size, значение по умолчанию равно Math.PI.
Геометрия создается путем обхода и вычисления вершин вокруг оси Y (горизонтальный обход) и оси Z (вертикальный обход).
Таким образом, неполные сферы (вроде 'ломтиков или кусков сферы' - sphere slices) могут быть созданы через использование разных значений phiStart, phiLength, thetaStart и thetaLength, для определения точек, с которых начинается (или заканчивается) вычисление этих вершин.
The geometry is created by sweeping and calculating vertexes around the Y axis (horizontal sweep) and the Z axis (vertical sweep). Thus, incomplete spheres (akin to 'sphere slices') can be created through the use of different values of phiStart, phiLength, thetaStart and thetaLength, in order to define the points in which we start (or end) calculating those vertices.Исходники
PolyhedronBufferGeometry →
TetrahedronBufferGeometry
Класс для создания геометрии тетраэдра (четырехгранника).
Tetrahedron
Конструктор
TetrahedronBufferGeometry( radius, detail )
radius — радиус тетраэдра. Значение по умолчанию равно 1.
detail — Значение по умолчанию равно 0. Установка здесь значения большего 0, добавит вершин и это будет уже не тетраэдр.
Например, вот detail равен 3.

Свойства
.parameters
Объект со всеми параметрами, которые были использованы для создания геометрического элемента.Исходники
Geometry →
TetrahedronGeometry
Класс для создания геометрии тетраэдра (четырехгранника).
Tetrahedron
Конструктор
TetrahedronGeometry( radius, detail )
radius — радиус тетраэдра. Значение по умолчанию равно 1.
detail — Значение по умолчанию равно 0. Установка здесь значения большего 0, добавит вершин и это будет уже не тетраэдр.
Например, вот detail равен 3.

Свойства
.parameters
Объект со всеми параметрами, которые были использованы для создания геометрического элемента.Исходники
ExtrudeBufferGeometry →
TextBufferGeometry
Класс для создания текста как отдельного геометрического элемента. Он строится по предоставлению строки текста и набора параметров, состоящих из загруженного шрифта и настроек родительского класса ExtrudeBufferGeometry. Дополнительные сведения смотрите в описании Font, FontLoader и Создание текста.
Text
Пример
var loader = new THREE.FontLoader();
loader.load( 'fonts/helvetiker_regular.typeface.json', function ( font ) {
var geometry = new THREE.TextBufferGeometry( 'Hello three.js!', { font: font, size: 80, height: 5, curveSegments: 12, bevelEnabled: true, bevelThickness: 10, bevelSize: 8, bevelSegments: 5 } ); } );
Другие примеры:
geometry / text
Конструктор
TextBufferGeometry( text, .parameters )
text — текст, который требуется показать.
parameters — объект, который может содержать следующие параметры:
font — экземпляр THREE.Font.
size
— размер текста. Значение по умолчанию равно 100.
height
— толщина выдавленного текста. Значение по умолчанию равно 50.
curveSegments
— количество точек на кривых. Значение по умолчанию равно 12.
bevelEnabled
— включает фаску (скос). Значением по умолчанию является false.
bevelThickness
— насколько глубоко в тексте снимается фаска. Значение по умолчанию равно 10.
bevelSize
— насколько далеко выступает фаска из текста. Значение по умолчанию равно 8.
bevelSegments
— количество сегментов (слоев) фаски (скоса). Значение по умолчанию равно 3.
Доступные шрифты
TextGeometry использует шрифты, сгенерированные typeface.json.Несколько имеющихся шрифтов можно найти в /examples/fonts и они должны быть включены в коде страницы.
| Font шрифт | Weight плотность | Style стиль | File Path путь к файлу |
| helvetiker | normal | normal | /examples/fonts/helvetiker_regular.typeface.json |
| helvetiker | bold | normal | /examples/fonts/helvetiker_bold.typeface.json |
| optimer | normal | normal | /examples/fonts/optimer_regular.typeface.json |
| optimer | bold | normal | /examples/fonts/optimer_bold.typeface.json |
| gentilis | normal | normal | /examples/fonts/gentilis_regular.typeface.json |
| gentilis | bold | normal | /examples/fonts/gentilis_bold.typeface.json |
| droid sans | normal | normal | /examples/fonts/droid/droid_sans_regular.typeface.json |
| droid sans | bold | normal | /examples/fonts/droid/droid_sans_bold.typeface.json |
| droid serif | normal | normal | /examples/fonts/droid/droid_serif_regular.typeface.json |
| droid serif | bold | normal | /examples/fonts/droid/droid_serif_bold.typeface.json |
Исходники
ExtrudeGeometry →
TextGeometry
Класс для создания текста как отдельного геометрического элемента. Он строится по предоставлению строки текста и набора параметров, состоящих из загруженного шрифта и настроек родительского класса ExtrudeGeometry. Дополнительные сведения смотрите в описании Font, FontLoader и Создание текста.
Text
Пример
var loader = new THREE.FontLoader();
loader.load( 'fonts/helvetiker_regular.typeface.json', function ( font ) {
var geometry = new THREE.TextGeometry( 'Hello three.js!', { font: font, size: 80, height: 5, curveSegments: 12, bevelEnabled: true, bevelThickness: 10, bevelSize: 8, bevelSegments: 5 } ); } );
Другие примеры:
geometry / text
Конструктор
TextGeometry( text, .parameters )
text — текст, который требуется показать.
parameters — объект, который может содержать следующие параметры:
font — экземпляр THREE.Font.
size
— размер текста. Значение по умолчанию равно 100.
height
— толщина выдавленного текста. Значение по умолчанию равно 50.
curveSegments
— количество точек на кривых. Значение по умолчанию равно 12.
bevelEnabled
— включает фаску (скос). Значением по умолчанию является false.
bevelThickness
— насколько глубоко в тексте снимается фаска. Значение по умолчанию равно 10.
bevelSize
— насколько далеко выступает фаска из текста. Значение по умолчанию равно 8.
bevelSegments
— количество сегментов (слоев) фаски (скоса). Значение по умолчанию равно 3.
Доступные шрифты
TextGeometry использует шрифты, сгенерированные typeface.json.Несколько имеющихся шрифтов можно найти в /examples/fonts и они должны быть включены в коде страницы.
| Font шрифт | Weight плотность | Style стиль | File Path путь к файлу |
| helvetiker | normal | normal | /examples/fonts/helvetiker_regular.typeface.json |
| helvetiker | bold | normal | /examples/fonts/helvetiker_bold.typeface.json |
| optimer | normal | normal | /examples/fonts/optimer_regular.typeface.json |
| optimer | bold | normal | /examples/fonts/optimer_bold.typeface.json |
| gentilis | normal | normal | /examples/fonts/gentilis_regular.typeface.json |
| gentilis | bold | normal | /examples/fonts/gentilis_bold.typeface.json |
| droid sans | normal | normal | /examples/fonts/droid/droid_sans_regular.typeface.json |
| droid sans | bold | normal | /examples/fonts/droid/droid_sans_bold.typeface.json |
| droid serif | normal | normal | /examples/fonts/droid/droid_serif_regular.typeface.json |
| droid serif | bold | normal | /examples/fonts/droid/droid_serif_bold.typeface.json |
Исходники
BufferGeometry →
TorusBufferGeometry
Это перенос TorusGeometry в BufferGeometry.
Тор
Пример
var geometry = new THREE.TorusBufferGeometry( 10, 3, 16, 100 );
var material = new THREE.MeshBasicMaterial( { color: 0xffff00 } );
var torus = new THREE.Mesh( geometry, material );
scene.add( torus );
Конструктор
TorusBufferGeometry( radius, tube, radialSegments, tubularSegments, arc )
radius — радиус тора, от центра тора до центра трубы. Значение по умолчанию равно 1.
tube — радиус трубы. Значение по умолчанию равно 0.4.
radialSegments — радиальные сегменты. Значение по умолчанию равно 8. Чем больше это значение, тем ближе к окружности сечение трубы, из которой сделано кольцо тора.
tubularSegments — сегменты по длине трубы. Значение по умолчанию равно 6. Чем больше это значение, тем ближе к окружности кольцо тора.
arc — центральный угол. Значение по умолчанию равно Math.PI * 2. При меньших значениях кольцо тора будет не замкнуто.
Исходники
Geometry →
TorusGeometry
Класс для построения геометрических фигур в виде тора.
Тор
Пример
var geometry = new THREE.TorusGeometry( 10, 3, 16, 100 );
var material = new THREE.MeshBasicMaterial( { color: 0xffff00 } );
var torus = new THREE.Mesh( geometry, material );
scene.add( torus );
Конструктор
TorusGeometry( radius, tube, radialSegments, tubularSegments, arc )
radius — радиус тора, от центра тора до центра трубы. Значение по умолчанию равно 1.
tube — радиус трубы. Значение по умолчанию равно 0.4.
radialSegments — радиальные сегменты. Значение по умолчанию равно 8. Чем больше это значение, тем ближе к окружности сечение трубы, из которой сделано кольцо тора.
tubularSegments — сегменты по длине трубы. Значение по умолчанию равно 6. Чем больше это значение, тем ближе к окружности кольцо тора.
arc — центральный угол. Значение по умолчанию равно Math.PI * 2. При меньших значениях кольцо тора будет не замкнуто.
Исходники
BufferGeometry →
TorusKnotBufferGeometry
Это перенос TorusKnotGeometry в BufferGeometry.
Тор с узлом
Пример
var geometry = new THREE.TorusKnotBufferGeometry( 10, 3, 100, 16 );
var material = new THREE.MeshBasicMaterial( { color: 0xffff00 } );
var torusKnot = new THREE.Mesh( geometry, material );
scene.add( torusKnot );
Конструктор
TorusKnotBufferGeometry( radius, tube, tubularSegments, radialSegments, p, q )
radius — радиус тора, от центра тора до центра трубы. Значение по умолчанию равно 1.
tube — радиус трубы. Значение по умолчанию равно 0.4.
tubularSegments — сегменты по длине трубы. Значение по умолчанию равно 64. Чем больше это значение, тем ближе к окружности кольцо тора.
radialSegments — радиальные сегменты. Значение по умолчанию равно 8. Чем больше это значение, тем ближе к окружности сечение трубы, из которой сделано кольцо тора.
p — данное значение определяет, сколько оборотов делает этот геометрический элемент вокруг своей центральной оси. Значение по умолчанию равно 2.
q — данное значение определяет, сколько оборотов делает этот геометрический элемент внутри тора, вокруг осевой окружности трубы (кольца) тора. Значение по умолчанию равно 3.
Исходники
Geometry →
TorusKnotGeometry
Это геометрический объект в виде тора с узлом, конкретная форма которого определяется паройони не имеют никаких общих делителей, кроме ±1.')" onmouseout="hide()">взаимно простых целых чисел, p и q. Если значения p и q не взаимно простые, получится тороидное звено.

Тор с узлом
Пример
var geometry = new THREE.TorusKnotGeometry( 10, 3, 100, 16 );
var material = new THREE.MeshBasicMaterial( { color: 0xffff00 } );
var torusKnot = new THREE.Mesh( geometry, material );
scene.add( torusKnot );
Конструктор
TorusKnotGeometry( radius, tube, tubularSegments, radialSegments, p, q )
radius — радиус тора, от центра тора до центра трубы. Значение по умолчанию равно 1.
tube — радиус трубы, из которой сделан тор. Значение по умолчанию равно 0.4.
tubularSegments — сегменты по длине трубы. Значение по умолчанию равно 64. Чем больше это значение, тем ближе к окружности кольцо тора.
radialSegments — радиальные сегменты. Значение по умолчанию равно 8.
Чем больше это значение, тем ближе к окружности сечение трубы, из которой сделано кольцо тора (т.е. при значении 3 - труба в сечении будет треугольной, при 4 - квадратной и т.д.).
p — данное значение определяет, сколько оборотов делает этот геометрический элемент вокруг своей центральной оси. Значение по умолчанию равно 2.
![]() p=1, q=1 |
![]() p=2, q=1 |
![]() p=3, q=1 |
![]() p=4, q=1 |
q — данное значение определяет, сколько оборотов делает этот геометрический элемент внутри тора, вокруг осевой окружности трубы (кольца) тора. Значение по умолчанию равно 3.
![]() p=1, q=1 |
![]() p=1, q=2 |
![]() p=1, q=3 |
![]() p=1, q=4 |
Исходники
BufferGeometry →
TubeBufferGeometry
Создает трубу, вытянутую вдоль трехмерной кривой линии.
Труба
Пример
function CustomSinCurve( scale ) {
THREE.Curve.call( this );
this.scale = ( scale === undefined ) ? 1 : scale;
}
CustomSinCurve.prototype = Object.create( THREE.Curve.prototype );
CustomSinCurve.prototype.constructor = CustomSinCurve;
CustomSinCurve.prototype.getPoint = function ( t ) {
var tx = t * 3 - 1.5;
var ty = Math.sin( 2 * Math.PI * t );
var tz = 0;
return new THREE.Vector3( tx, ty, tz ).multiplyScalar( this.scale );
};
var path = new CustomSinCurve( 10 );
var geometry = new THREE.TubeBufferGeometry( path, 20, 2, 8, false );
var material = new THREE.MeshBasicMaterial( { color: 0x00ff00 } );
var mesh = new THREE.Mesh( geometry, material );
scene.add( mesh );Конструктор
TubeBufferGeometry(
path - путь, контур')" onmouseout="hide()">path, tubularSegments, radius, radiusSegments, closed )
path — путь или траектория, наследуемая от базового класса Curve.
tubularSegments — число сегментов по длине трубы. Значение по умолчанию равно 64.
radius — радиус трубы. Значение по умолчанию равно 1.
radiusSegments — число сегментов поперечного сечения трубы т.е. при значении 3 - труба в сечении будет треугольной, при 4 - квадратной и т.д. Значение по умолчанию равно 8.
closed — определяет, открыта или закрыта труба. Значением по умолчанию является false.
Свойства
Примечание переводчика: Прямая, перпендикулярная касательной и проходящая через точку касания, называется нормалью к кривой.
Плоскость, перпендикулярная касательной в данной точке кривой, называется нормальной плоскостью; все нормали для данной точки лежат в нормальной плоскости.
Нормаль, лежащую в соприкасающейся плоскости, называют главной нормалью, а нормаль, перпендикулярная соприкасающейся плоскости, называется бинормалью.
.parameters
Объект со всеми параметрами, использованными при создании данного геометрического элемента..tangents
Массив касательных (Vector3)..normals
Массив нормалей (Vector3)..binormals
Массив бинормалей (Vector3).Исходники
Geometry →
TubeGeometry
Создает трубу, вытянутую вдоль трехмерной кривой линии.
Труба
Пример
function CustomSinCurve( scale ) {
THREE.Curve.call( this );
this.scale = ( scale === undefined ) ? 1 : scale;
}
CustomSinCurve.prototype = Object.create( THREE.Curve.prototype );
CustomSinCurve.prototype.constructor = CustomSinCurve;
CustomSinCurve.prototype.getPoint = function ( t ) {
var tx = t * 3 - 1.5;
var ty = Math.sin( 2 * Math.PI * t );
var tz = 0;
return new THREE.Vector3( tx, ty, tz ).multiplyScalar( this.scale );
};
var path = new CustomSinCurve( 10 );
var geometry = new THREE.TubeGeometry( path, 20, 2, 8, false );
var material = new THREE.MeshBasicMaterial( { color: 0x00ff00 } );
var mesh = new THREE.Mesh( geometry, material );
scene.add( mesh );Конструктор
TubeGeometry(
path - путь, контур')" onmouseout="hide()">path, tubularSegments, radius, radiusSegments, closed )
path — путь или траектория, наследуемая от базового класса Curve.
tubularSegments — число сегментов по длине трубы. Значение по умолчанию равно 64.
radius — радиус трубы. Значение по умолчанию равно 1.
radiusSegments — число сегментов поперечного сечения трубы т.е. при значении 3 - труба в сечении будет треугольной, при 4 - квадратной и т.д. Значение по умолчанию равно 8.
closed — определяет, открыта или закрыта труба. Значением по умолчанию является false.
Свойства
Примечание переводчика: Прямая, перпендикулярная касательной и проходящая через точку касания, называется нормалью к кривой.
Плоскость, перпендикулярная касательной в данной точке кривой, называется нормальной плоскостью; все нормали для данной точки лежат в нормальной плоскости.
Нормаль, лежащую в соприкасающейся плоскости, называют главной нормалью, а нормаль, перпендикулярная соприкасающейся плоскости, называется бинормалью.
.parameters
Объект со всеми параметрами, использованными при создании данного геометрического элемента..tangents
Массив касательных (Vector3)..normals
Массив нормалей (Vector3)..binormals
Массив бинормалей (Vector3).Исходники
BufferGeometry →
WireframeGeometry
Этот геометрический объект можно использовать в качестве вспомогательного для просмотра любого объекта Geometry в виде каркаса (wireframe).Пример
var geometry = new THREE.SphereBufferGeometry( 100, 100, 100 );
var wireframe = new THREE.WireframeGeometry( geometry );
var line = new THREE.LineSegments( wireframe ); line.material.depthTest = false; line.material.opacity = 0.25; line.material.transparent = true;
scene.add( line );
Другие примеры:
helpers
Конструктор
WireframeGeometry( geometry )
geometry — любой геометрический объект.






