Как нарисовать танк Т-34 в векторном редакторе
Танк Т-34 является не только самым массовым танком 40-х, но и самым удачным решением своего времени. В этом уроке вы узнаете, как нарисовать танк Т-34.
После запуска редактора измените ориентацию на альбомную. Для этого в свойствах документа (shift+ctrl+D) необходимо выбрать альбомную ориентацию.
Шаг 1. Рисуем нижнюю часть танка
Нарисуйте прямоугольник без заливки и с обводкой. Размеры прямоугольника указаны на рисунке ниже. Рисовать контур танка мы будем внутри этого прямоугольника. Так будет проще повторить контур танка и соблюсти пропорции.
Используя кривые Безье, нарисуйте внутри прямоугольника контур как показано ниже. Не переживайте если у вас получится немного иная форма.
Для заливки контура используйте вертикальный линейный градиент. Цвета опорных точек показаны на рисунке.
Далее рисуем опорные катки танка. Для этого потребуются два объекта: кольцо и круг. Нарисуйте круг диаметром 29 мм. Для этого используйте инструмент Рисовать круги, эллипсы и дуги F5. Пока рисуете круг удерживайте клавишу ctrl . Точные размеры круга можно указать в свойствах фигуры (поле ширина и поле высота).
Толщину обводки установите от 3,2 до 3,8 мм. При такой толщине опорные катки смотрятся нормально.
Второй объект это круг со сплошной заливкой без обводки. Его необходимо разместить за кольцом Page Down. В этом круге мы создадим отверстия с тонкой обводкой. ( Если задать кольцо с заливкой и потом отверстия в нем, то отверстия получат обводку, как у основной фигуры — 3,6 мм.)
Теперь рисуем отверстия по внутреннему краю кольца. Для этого подготовьте пару кругов: один вверху, другой внизу небольшого размера и сгруппируйте. Выровняйте эту пару относительно центра выделения.
Теперь проделываем одну и ту же процедуру- дублируем эту пару и поворачиваем на 15 градусов. При повороте удерживайте клавишу ctrl.
После того как вы заполните кругами всю внутреннюю часть разгруппируйте все круги (shift+ctrl+G), заново их выделите и примените контур- сумма (ctrl+). Затем выделите задний круг опорного катка (не кольцо!) и круги, а затем примените контур- разность (рис. 1).
Доведем опорный каток до ума. Сначала нарисуйте два тонких кольца с помощью инструмента рисовать круги эллипсы и дуги (рис. 2).
Затем в центр добавьте еще два круга. Один со сплошной заливкой 4c5048, а другой (немного меньшего размера) с радиальным градиентом от 939a89 к 373a29 (рис. 3). Выделите и выровняйте все элементы опорного катка и сгруппируйте.
Нам потребуются пять таких опорных катков. Продублируйте четыре раза оригинал ctrl+D. Расстояние между катками разное, я ориентировался на фотографию танка т-34. Выровняйте катки по нижнему краю выделения.
Создайте еще одну копию катка. Она потребуется для создания ведущего колеса и направляющего колеса.
Разгруппируйте каток, затем удалите кольцо, а оставшуюся часть немного уменьшите. Это будет ведущее колесо (рис. 1.). Создайте копию и еще немного уменьшите- это направляющее колесо (рис. 2).
Разместите направляющее колесо слева (передняя часть танка), а ведущее справа. Они должны быть немного выше катков. Пока не группируйте.
С помощью кривых Безье нарисуйте контур вокруг катков и колес. Цвет серый, форма- нет. Толщину гусеницы танка подберите самостоятельно.
Из небольших треугольников создайте гребни на гусенице. Распределите их по всей внутренней поверхности гусеницы.
Выделите все гребни и гусеницу и сгруппируйте. Затем сгруппируйте все опорные катки. Проверьте, гусеница и гребни должны быть за опорными катками, если необходимо Page Up/Down.
Переходим к следующей части танка.
Нарисуйте очередной прямоугольник (размеры указаны ниже) и с помощью кривых создайте вот такой контур. Цвет заливки указан на рисунке.
Разместите этот контур на уже созданной части танка. Сгруппируйте.
В передней части танка нарисуйте контур в виде сапога и добавьте прямую линию. Это пулемет танка. Заливку контура задайте немного темнее корпуса танка.
В задней части танка нарисуйте баки для топлива. Для этого нарисуйте прямоугольник с тонкой черной обводкой и линейным вертикальным градиентом. Создайте пару копий прямоугольника и уменьшите ширину до 2,5 мм. Разместите по краям бака.
Пару таких баков разместите в задней части танка. За баками нарисуйте еще один прямоугольник шириной равной ширине двум бакам и примените линейный градиент. Цвета опорных точек 2e3027 и полностью прозрачный. Это тень под баками.
Ниже добавьте еще один прямоугольник- это ящик ЗИП.
Еще одну копию ящика ЗИП разместите в передней части танка. Выше с помощью кривых добавьте два П- образных контура, это ручки. Один контур должен быть темнее (нижний) и слегка размыт 5%. Это тень от ручки.
Группируем все элементы корпуса танка и смотрим что у нас получается. Неплохо. Двигаемся дальше.
Шаг 2. Рисуем башню танка Т-34
Нарисуйте прямоугольник и создайте контур внутри. Используйте кривые Безье. Заливка сплошная, цвет указан ниже. Постарайтесь придать нужную форму.
В нижней части нарисуйте еще один контур и установите линейный горизонтальный градиент.
В задней части башни добавьте четырехугольный контур без обводки. Установите линейный градиент от цвета 6е7561 к прозрачному и немного размойте этот контур. Так мы придадим немного объема башне.
В передней части башни нарисуйте прямоугольник- это маск-установка пушки. Цвета линейного градиента 343726 — 939a8a — 343726.
Пушку рисуем в виде вытянутой трапеции. Длина 109 мм, ширина у башни 6,8 мм.
Ну и последние детали. Добавьте на башню танка текст «За родину» и пятиконечную звезду. Цвет текста белый, звезда красная. Можно нарисовать ручки, как мы это делали на нижней части корпуса танка.
В верхней части рисуем командирскую башенку в виде прямоугольника, а сзади бронеколпак вентилятора. Его можно нарисовать отрезав (контур- разность) верхнюю часть круга.
Все, работа завершена. Любители техники могут добавить большее количество деталей к рисунку танка Т-34.
Как нарисовать танк
- Главная
- Своими руками
- Как нарисовать танк
Легендарный танк времен Великой Отечественной войны Т-34 участвовал во многих сражениях и выходил из них достойным победителем.
Художник, задавшийся вопросом, как нарисовать танк, должен гордиться тем, что такая техника была на вооружении войск Советского Союза.
1. Танк — это большая машина, оснащенная гусеницами, стволом, башней. Учитывая ее большие размеры, первым шагом намечаем лишь контуры
2. У Т-34 был очень длинный ствол, поэтому чертой обозначим его конечный размер. Контур правой гусеницы обрисуем полностью, левой — только видимую переднюю часть
3. У машины нарисуем четкие и ровные грани, башня имеет более вытянутую форму
4. Справа на корпусе рисуем навесной топливный бак, спереди — квадратный люк механика-водителя. Если вы увлекаетесь боевой техникой и любите не только рисовать, но и мастерить своими руками, узнайте, как сделать танк из бумаги
5. Как нарисовать танк без пушки? Поэтому следующим шагом рисуем пушку
6. Приступаем к деталям, рисуем командирский люк сверху на башне, тонкой линией обозначаем траки (гусеницы)
7. Следующим шагом тщательно прорабатываем детали ходой части: колеса, звенья гусениц, ребра жесткости и крепления на бензобаке
8. Колесам (каткам) танка следует уделить максимум внимания
9. На передней части корпуса рисуем пулемет, фару, скобу-рукоятку, помогающую водителю забираться в люк
10. Теперь толстой линией выделяем основные детали корпуса и пушки танка
11. Приступаем к штриховке, зарисовываем более темным цветом низ танка
12. Аналогичную операцию проделываем с нижней частью машины
13. Постепенно закрашиваем весь танк, выделяя более темным цветом затененные места
14. Чтобы танк не висел в воздухе, нарисуем под ним тень
15. При помощи бликов на корпусе, пушке, колесах и траках подчеркнем его металлическую сущность
Как нарисовать танк более правдиво? Нужно внимательно ознакомиться с фотодокументами, посмотреть хорошие фильмы о войне и, составив свое личное мнение, смело приступать к работе.
- Просмотров: 15998
- Назад
- Вперёд
Добавить комментарий
Читайте также
Пасхальные яйца своими руками. Как украсить пасхальные яйца
Как рисовать граффити карандашом (3d подпись)
Как нарисовать ангела
Как нарисовать монстер хай
Как рисовать пасхальные яйца
Кот Саймона своими руками
python — Рисовать танк в определенном месте
В настоящее время я пытаюсь заставить свой танк рисовать в указанном месте, которое я написал в своем коде.
Код:
импорт pygame, загрузчик активов из импорта pygame.locals * импортировать случайный, время, математика импортировать pygame ГРАД = math.pi/180 синий = (0, 0, 255) стенаRects = [] лабиринт = [[] для i в диапазоне (25)] assetsloader.set_asset_path("активы/") деф сгенерировать лабиринт(): глобальная сетка ширина = 12 высота = 12 семя = время.время() случайное.сид (семя) grid = [[0 для j в диапазоне (ширина)] для i в диапазоне (высота)] Н, С, Е, Ш = 1, 2, 4, 8 DX = {E: 1, W: -1, N: 0, S: 0} ДГ = {И: 0, Вт: 0, Н: -1, С: 1} ПРОТИВОПОЛОЖНОЕ = {E: W, W: E, N: S, S: N} def carve_passages_from (cx, cy, сетка): направления = random.sample([N, S, E, W], 4) для направления по направлениям: nx, ny = cx + DX[направление], cy + DY[направление] если (ny >= 0 и ny <= len(grid) - 1) и (nx >= 0 и nx <= len(grid[0]) - 1) и grid[ny][nx] == 0: grid[cy][cx] += направление grid[ny][nx] += ПРОТИВ[направление] carve_passages_from (nx, ny, сетка) carve_passages_from (0, 0, сетка) глобальный лабиринт лабиринт[0] = [2 для i в диапазоне (25)] Мряд = 1 # 0 = путь № 1 = вертикальная стена № 2 = горизонтальная стена для y в диапазоне (высота): row1 = лабиринт[mrow] row2 = лабиринт[mrow+1] строка1. добавить(1) строка2.добавить(1) для x в диапазоне (ширина): если сетка[y][x] & S != 0: строка1.добавить(0) строка2.добавить(0) еще: строка1.добавить(0) строка2.добавить(2) если сетка[y][x] & E != 0: если (сетка[y][x] | сетка[y][x+1]) & S != 0: строка1.добавить(0) строка2.добавить(0) еще: строка1.добавить(0) строка2.добавить(2) еще: строка1.добавить(1) если у < высота - 1: строка2.добавить(1) еще: строка2.добавить(2) мроу += 2 деф printMaze(): для строки в диапазоне (len (лабиринт)): для столбца в диапазоне (len (лабиринт [строка])): напечатать лабиринт[строка][столбец], Распечатать деф CreateWallRects(): для строки в диапазоне (len (лабиринт)): для столбца в диапазоне (len (лабиринт [строка])): если maze[row][col] == 1 и row < 23: x = (start_x + col * gsize) + (0,5 * gsize) - 1 y = (start_y + (строка - 1) * gsize) + (0,5 * gsize) wallRects. append(pygame.Rect(x, y, 3, gsize)) elif maze[row][col] == 1 и row == 23: x = (start_x + col * gsize) + (0,5 * gsize) - 1 y = (start_y + (строка - 1) * gsize) + (0,5 * gsize) wallRects.append(pygame.Rect(x, y, 3, gsize * 2)) Элиф лабиринт[строка][столбец] == 2: x = (start_x + (col-1) * gsize) + (0,5 * gsize) y = (start_y + строка * размер g) + (0,5 * размер g) - 1 wallRects.append(pygame.Rect(x, y, gsize * 2, 3)) определение DrawMaze(): цвет линии = 255, 255, 255 для x в диапазоне (0, ширина, gsize): pygame.draw.line(экран, lineColor, (x, 0), (x, высота), 3) #line(Surface, color, start_pos, end_pos, width=1) для y в диапазоне (0, высота, gsize): pygame.draw.line(экран, lineColor, (0, y), (ширина, y), 3) цвет стены = 0, 0, 0 для записи в стенеRects: pygame.draw.rect(экран, цвет стены, запись) класс Player (pygame.sprite.Sprite): def __init__(я, х, у, позиция): pygame. sprite.Sprite.__init__(я) self.image, self.rect = assetsloader.load_image("Tank.png", -1) самовыпрямление.х = х самовыпрямление.y = y self.rect.clamp_ip(screen.get_rect()) селф.дир = 0 self.vel_y = 0 self.vel_x = 0 self.rows = позиция [0] self.cols = позиция [1] self.x = self.cols * gsize self.y = self.rows * gsize # self.orig_image, self.orig_rect = assetsloader.load_image(img_name, -1) self.orig_rect.x = self.x self.orig_rect.y = self.y self.orig_gun_pos = self.orig_rect.midtop сел.боеприпасов = 5 self.vel = [0, 0] self.dead = Ложь def draw(я, экран): изображение = pygame.transform.rotate(self.image, self.dir) screen.blit(изображение, self.rect) обновление защиты (сам): старый центр = self.rect.center self.rect = self.image.get_rect() self.rect.center = старый центр screen_rect = screen.get_rect() ключи = pygame. key.get_pressed() если ключи[K_UP]: если (0 < self.dir и self.dir < 90) или (-360 < self.dir и self.dir < -270): self.vel_x = -1 self.vel_y = -1 elif (270 < self.dir и self.dir < 360) или (-90 < self.dir и self.dir < 0): self.vel_x = 1 self.vel_y = -1 если (90 < self.dir и self.dir < 180) или (-270 < self.dir и self.dir < -180): self.vel_x = -1 self.vel_y = 1 elif (180 < self.dir и self.dir < 270) или (-180 < self.dir и self.dir < -90): self.vel_x = 1 self.vel_y = 1 если self.dir == 0 : self.vel_x = 0 self.vel_y = -1 если self.dir == 90 : self.vel_x = -1 self.vel_y = 0 если self.dir == 180: self.vel_x = 0 self.vel_y = 1 если self.dir == 270: self.vel_x = 1 self. vel_y = 0 self.rect.move_ip(self.vel_x, self.vel_y) элитные ключи[K_DOWN]: если (0 < self.dir и self.dir < 90) или (-360 < self.dir и self.dir < -270): self.vel_x = 1 self.vel_y = 1 elif (270 < self.dir и self.dir < 360) или (-90 < self.dir и self.dir < 0): self.vel_x = -1 self.vel_y = 1 если (90 < self.dir и self.dir < 180) или (-270 < self.dir и self.dir < -180): self.vel_x = 1 self.vel_y = -1 elif (180 < self.dir и self.dir < 270) или (-180 < self.dir и self.dir < -90): self.vel_x = -1 self.vel_y = -1 если self.dir == 0 : self.vel_x = 0 self.vel_y = 1 если self.dir == 90 : self.vel_x = 1 self.vel_y = 0 если self.dir == 180: self.vel_x = 0 self.vel_y = -1 если self. dir == 270: self.vel_x = -1 self.vel_y = 0 self.rect.move_ip(self.vel_x, self.vel_y) если ключи[K_LEFT]: self.dir += 5 если self.dir > 360: селф.дир = 0 элитные ключи[K_RIGHT]: селф.дир -= 5 если self.dir <-360: селф.дир = 0 если не screen_rect.contains(self.rect): self.rect.clamp_ip(screen_rect) размер = ширина, высота = 500, 400 гразмер = 25 старт_х, старт_у = 0, 0 бгколор = 255, 255, 255 pygame.init() screen = pygame.display.set_mode(size)#, pygame.FULLSCREEN) pygame.display.set_caption("Образец спрайта") часы = pygame.time.Clock() p = игрок (ширина/2, высота/4, позиция) coll_font = pygame.font.Font (нет, 30) идет = правда пока еду: часы.тик(60) для события в pygame.event.get(): если event.type == ВЫЙТИ: идет = ложь Элиф event.type == KEYDOWN: если event.key == K_ESCAPE: идет = ложь п. обновление() screen.fill(bgColor) p.draw (экран) pygame.display.flip() pygame.выйти()
Я знаю, что функция инициализации, которую я использовал для класса Player, содержит четыре элемента (self, x, y, pos)
, и у меня есть Player(width/2, height/4, pos)
, чтобы определить, где он находится. помещается прямо сейчас, но он говорит, что pos не определен. Итак, что я должен использовать, чтобы заменить или определить «pos» где-то еще?
Прямо сейчас я получаю:
Трассировка (последний последний вызов): Файл «tinytanks3.py», строка 375, вp = игрок (ширина/2, высота/4, позиция) NameError: имя «pos» не определено
Может кто-нибудь объяснить, что поставить для pos и почему?
БАК! в App Store
Описание
Добро пожаловать в РЕЗЕРВУАР!
Это боевая игра с танками!
Рисуйте линии своими цветами, чтобы расширить свою территорию!
Вы можете замедлить противника, поражая его пулями!
Используйте усиления, чтобы увеличить скорость и боезапас!
* Расширьте свою территорию!
Если вы проведете линию из своей области и соедините ее, ваша область расширится! 900:25 Если противник коснется вашей линии или вы ударите противника, ваш танк взорвется, и игра будет окончена!
* Попади под пули!
Когда вы подойдете достаточно близко к противнику, танк начнет стрелять пулями.
Замедляется при попадании пули.
* Используйте мини-карту
Используйте мини-карту, чтобы проверить боевую ситуацию и спланировать свою стратегию!
* Подсказки, чтобы очистить 100%!
Попробуйте играть, проверяя свою область, чтобы не потерять расширенную область.
Попробуй защитить свою зону, заполняя территорию соперника!
Версия 1.4
Добавлены новые скины
Разработчик, skyarts Inc., указал, что политика конфиденциальности приложения может включать обработку данных, как описано ниже. Для получения дополнительной информации см. политику конфиденциальности разработчика.
Данные, используемые для отслеживания вас
Следующие данные могут использоваться для отслеживания вас в приложениях и на веб-сайтах, принадлежащих другим компаниям:
- Расположение
- Идентификаторы
- Данные об использовании
- Диагностика
Данные, связанные с вами
Следующие данные могут быть собраны и связаны с вашей личностью:
- Расположение
- Идентификаторы
- Данные об использовании
- Диагностика
Данные, не связанные с вами
Могут быть собраны следующие данные, но они не связаны с вашей личностью:
Методы обеспечения конфиденциальности могут различаться в зависимости, например, от используемых вами функций или вашего возраста.