Processing:Справочник языка Processing/beginShape()

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.


beginShape() [1]

Обозначение

beginShape()

Описание

Методы beginShape() и endShape() позволяют создавать более сложные фигуры, чем методы вроде rect() и ellipse(). Метод beginShape() начинает записывать вершины фигуры, а endShape() – заканчивает. Параметр kind задает, какую фигуру необходимо создать при помощи заданных вершин. Если никакого параметра задано не будет, фигура может принять форму любого нестандартного полигона. В параметре kind можно указать POINTS, LINES, TRIANGLES, TRIANGLE_FAN, TRIANGLE_STRIP, QUADS и QUAD_STRIP. После вызова метода beginShape() должна следовать серия команд vertex(). Чтобы закончить рисование фигуры, впишите метод endShape(). Метод vertex() с двумя параметрами указывает позицию вершины в 2D-пространстве, а метод vertex() с тремя параметрами – позицию вершины в 3D-пространстве. Цвет контура каждой фигуры задается с помощью метода stroke(), а цвет заливки – с помощью метода fill().

Трансформации вроде translate(), rotate() и scale() внутри beginShape() и endShape() работать не будут. Кроме того, внутри них нельзя использовать методы для создания других фигур вроде ellipse() и rect().

Визуализаторы P2D и P3D позволяют менять значения в методах stroke() и fill() для каждой вершины, но в визуализаторе, который стоит по умолчанию, это работать не будет. Менять значения у методов вроде strokeWeight(), strokeCap() и strokeJoin() внутри пары beginShape() / endShape() нельзя с любым визуализатором.

Синтаксис

beginShape()
beginShape(kind)

Параметры

kind  определяет тип фигуры, создаваемой с помощью заданных вершин. Возможные значения  POINTS, LINES, TRIANGLES, TRIANGLE_FAN, TRIANGLE_STRIP, QUADS и QUAD_STRIP. Тип данных  int

Возвращаемое значение

void

Пример

№1


beginShape();
vertex(30, 20);
vertex(85, 20);
vertex(85, 75);
vertex(30, 75);
endShape(CLOSE);

№2


beginShape(POINTS);
vertex(30, 20);
vertex(85, 20);
vertex(85, 75);
vertex(30, 75);
endShape();

№3


beginShape(LINES);
vertex(30, 20);
vertex(85, 20);
vertex(85, 75);
vertex(30, 75);
endShape();

№4


noFill();
beginShape();
vertex(30, 20);
vertex(85, 20);
vertex(85, 75);
vertex(30, 75);
endShape();

№5


noFill();
beginShape();
vertex(30, 20);
vertex(85, 20);
vertex(85, 75);
vertex(30, 75);
endShape(CLOSE);

№6


beginShape(TRIANGLES);
vertex(30, 75);
vertex(40, 20);
vertex(50, 75);
vertex(60, 20);
vertex(70, 75);
vertex(80, 20);
endShape();

№7


beginShape(TRIANGLE_STRIP);
vertex(30, 75);
vertex(40, 20);
vertex(50, 75);
vertex(60, 20);
vertex(70, 75);
vertex(80, 20);
vertex(90, 75);
endShape();

№8


beginShape(TRIANGLE_FAN);
vertex(57.5, 50);
vertex(57.5, 15); 
vertex(92, 50); 
vertex(57.5, 85); 
vertex(22, 50); 
vertex(57.5, 15); 
endShape();

№9


beginShape(QUADS);
vertex(30, 20);
vertex(30, 75);
vertex(50, 75);
vertex(50, 20);
vertex(65, 20);
vertex(65, 75);
vertex(85, 75);
vertex(85, 20);
endShape();

№10


beginShape(QUAD_STRIP); 
vertex(30, 20); 
vertex(30, 75); 
vertex(50, 20);
vertex(50, 75);
vertex(65, 20); 
vertex(65, 75); 
vertex(85, 20);
vertex(85, 75); 
endShape();

№11


beginShape();
vertex(20, 20);
vertex(40, 20);
vertex(40, 40);
vertex(60, 40);
vertex(60, 60);
vertex(20, 60);
endShape(CLOSE);

См.также

Внешние ссылки