Cat hungry.png
Здравствуйте! Собираем деньги на перевод материалов по электронике(https://www.allaboutcircuits.com/education/). Реквизиты указаны здесь.

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

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


Перевод: Максим Кузьмин (Cubewriter)
Перевел 2686 статей для сайта.

Контакты:

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


Ambox content.png Черновик


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

Processing beginShape 0.png


  1. beginShape();
  2. vertex(30, 20);
  3. vertex(85, 20);
  4. vertex(85, 75);
  5. vertex(30, 75);
  6. endShape(CLOSE);

№2

Processing beginShape 1.png


  1. beginShape(POINTS);
  2. vertex(30, 20);
  3. vertex(85, 20);
  4. vertex(85, 75);
  5. vertex(30, 75);
  6. endShape();

№3

Processing beginShape 2.png


  1. beginShape(LINES);
  2. vertex(30, 20);
  3. vertex(85, 20);
  4. vertex(85, 75);
  5. vertex(30, 75);
  6. endShape();

№4

Processing beginShape 3.png


  1. noFill();
  2. beginShape();
  3. vertex(30, 20);
  4. vertex(85, 20);
  5. vertex(85, 75);
  6. vertex(30, 75);
  7. endShape();

№5

Processing beginShape 4.png


  1. noFill();
  2. beginShape();
  3. vertex(30, 20);
  4. vertex(85, 20);
  5. vertex(85, 75);
  6. vertex(30, 75);
  7. endShape(CLOSE);

№6

Processing beginShape 5.png


  1. beginShape(TRIANGLES);
  2. vertex(30, 75);
  3. vertex(40, 20);
  4. vertex(50, 75);
  5. vertex(60, 20);
  6. vertex(70, 75);
  7. vertex(80, 20);
  8. endShape();

№7

Processing beginShape 6.png


  1. beginShape(TRIANGLE_STRIP);
  2. vertex(30, 75);
  3. vertex(40, 20);
  4. vertex(50, 75);
  5. vertex(60, 20);
  6. vertex(70, 75);
  7. vertex(80, 20);
  8. vertex(90, 75);
  9. endShape();

№8

Processing beginShape 7.png


  1. beginShape(TRIANGLE_FAN);
  2. vertex(57.5, 50);
  3. vertex(57.5, 15);
  4. vertex(92, 50);
  5. vertex(57.5, 85);
  6. vertex(22, 50);
  7. vertex(57.5, 15);
  8. endShape();

№9

Processing beginShape 8.png


  1. beginShape(QUADS);
  2. vertex(30, 20);
  3. vertex(30, 75);
  4. vertex(50, 75);
  5. vertex(50, 20);
  6. vertex(65, 20);
  7. vertex(65, 75);
  8. vertex(85, 75);
  9. vertex(85, 20);
  10. endShape();

№10

Processing beginShape 9.png


  1. beginShape(QUAD_STRIP);
  2. vertex(30, 20);
  3. vertex(30, 75);
  4. vertex(50, 20);
  5. vertex(50, 75);
  6. vertex(65, 20);
  7. vertex(65, 75);
  8. vertex(85, 20);
  9. vertex(85, 75);
  10. endShape();

№11

Processing beginShape 10.png


  1. beginShape();
  2. vertex(20, 20);
  3. vertex(40, 20);
  4. vertex(40, 40);
  5. vertex(60, 40);
  6. vertex(60, 60);
  7. vertex(20, 60);
  8. endShape(CLOSE);

См.также

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

  1. processing.org - beginShape()