Processing:Примеры/Кольцо из треугольников: различия между версиями
Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
Myagkij (обсуждение | вклад) Нет описания правки |
Нет описания правки |
||
Строка 58: | Строка 58: | ||
}} | }} | ||
<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS | <syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS"> | ||
int x; | int x; | ||
int y; | int y; | ||
Строка 133: | Строка 133: | ||
<references /> | <references /> | ||
{{Навигационная таблица/ | {{Навигационная таблица/Портал/Processing}} | ||
Версия от 12:00, 20 мая 2023
Содержание | Среда разработки Processing | Справочник языка Processing | Библиотеки | Примеры | Режимы программирования |
Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.
Описание[1]
Генерирует замкнутое кольцо при помощи функции vertex() и режима beginShape(TRIANGLE_STRIP). Переменные outsideRadius и insideRadius отвечают, соответственно, за внешний и внутренний радиусы кольца.
Пример
int x;
int y;
float outsideRadius = 150;
float insideRadius = 100;
void setup() {
size(640, 360);
background(204);
x = width/2;
y = height/2;
}
void draw() {
background(204);
int numPoints = int(map(mouseX, 0, width, 6, 60));
float angle = 0;
float angleStep = 180.0/numPoints;
beginShape(TRIANGLE_STRIP);
for (int i = 0; i <= numPoints; i++) {
float px = x + cos(radians(angle)) * outsideRadius;
float py = y + sin(radians(angle)) * outsideRadius;
angle += angleStep;
vertex(px, py);
px = x + cos(radians(angle)) * insideRadius;
py = y + sin(radians(angle)) * insideRadius;
vertex(px, py);
angle += angleStep;
}
endShape();
}
{{#set: Код примера= int x; int y; float outsideRadius = 150; float insideRadius = 100;
void setup() {
size(640, 360); background(204); x = width/2; y = height/2;
}
void draw() {
background(204); int numPoints = int(map(mouseX, 0, width, 6, 60)); float angle = 0; float angleStep = 180.0/numPoints; beginShape(TRIANGLE_STRIP); for (int i = 0; i <= numPoints; i++) { float px = x + cos(radians(angle)) * outsideRadius; float py = y + sin(radians(angle)) * outsideRadius; angle += angleStep; vertex(px, py); px = x + cos(radians(angle)) * insideRadius; py = y + sin(radians(angle)) * insideRadius; vertex(px, py); angle += angleStep; } endShape();
} }}
См.также
Внешние ссылки
Примеры на Processing | |
---|---|
Основы |
|
Продвинутые графические эффекты |
|
Примеры из сторонних библиотек |