Как нарисовать равносторонний треугольник
Перейти к содержимому

Как нарисовать равносторонний треугольник

  • автор:

Равносторонний треугольник в Sketch и еще одна секретная фишка

Вы когда-нибудь пытались создать равносторонний треугольник в Sketch? Я пытался, и был немного зол, потому что не мог сделать это (быстро). Пока мне в голову не пришла одна идея… Все мы знаем, как нарисовать обычный треугольник в Sketch: Insert -> Shape -> Triangle. Но с помощью этого инструмента сложно нарисовать равнобокий треугольник. Равнобокий треугольник в Sketch Думаю, видео выше достаточно, чтобы понять процесс. Он довольно прост. Вставьте многоугольник и уменьшите количество сторон в соответствующем разделе окна Sketch до трех. Измените количество сторон до трех, чтобы получился равнобокий треугольник в Sketch. Вы знаете, как рисовать объект из центра (а не с верхнего левого угла к нижнему правому)? Рисование из центра в Sketch Сначала удерживайте кнопку Shift, чтобы нарисовать квадрат. По умолчанию рисование начинается сверху слева. Если хотите рисовать с центра (как в правой части видео) удерживайте shift и option (alt), чтобы нарисовать фигуру. Надеюсь, что этот совет поможет сэкономить ваше время! Перевод статьи Logo Brain

Как начертить равносторонний треугольник вписанный в окружность&

элементарно!
вот ты начертила окружность циркулем. , берешь произвольную точку ( будем считать что это первая вершина треуг.) , этим же циркулем от этой точки ставишь точку пересечения с окружностью. , от точки пересечения дальше ещё раз. ( это вершина №2) и ещё 2 раза от этой точки дальше . это будет вершина 3.
просто полезно знать ( доказывается легко) что сторона вписанного в окружность правильного 6-угольника равна радиусу. а тут у тебя через точку получается!

Остальные ответы

тебе нужна программа? или же ты учишься в 7-8 классе. Геометрия или информатика.

Как нарисовать труегольник произвольного размера и цвета в PyQt5

При нажатии на пробел , на месте курсора должен рисоваться треугольник (равносторонний, с произвольными сторонами и цветом заливки).

from random import randint import sys from PyQt5.QtGui import QPainter, QColor from PyQt5.QtWidgets import QWidget, QApplication from PyQt5.QtCore import Qt RECT = 1 TRIANGLE = 2 class Example(QWidget): def __init__(self): super().__init__() self.minSize = 300 self.maxSize = 1000 self.w = 0 self.h = 0 self.getRandomWinSize() self.what_to_draw = None self.initUI() def getRandomWinSize(self): self.w = randint(self.minSize, self.maxSize) self.h = randint(self.minSize, self.maxSize) def getRandomSize(self): return randint(10, self.minSize) def getRandomColor(self): return QColor(randint(0, 255), randint(0, 255), randint(0, 255)) def initUI(self): self.resize(self.w, self.h) self.mouseCoord = None self.setMouseTracking(True) def draw_rect(self, qp): a = self.getRandomSize() qp.setBrush(self.getRandomColor()) qp.drawRect(*self.mouseCoord, a, a) def draw_triangle(self, qp): pass def paintEvent(self, event): qp = QPainter() qp.begin(self) if self.what_to_draw == RECT: self.draw_rect(qp) elif self.what_to_draw == TRIANGLE: pass qp.end() def mouseMoveEvent(self, event): self.mouseCoord = event.x(), event.y() def mousePressEvent(self, event): if event.button() == Qt.RightButton: self.what_to_draw = RECT self.repaint() def keyPressEvent(self, event): if event.key() == Qt.Key_Space: self.what_to_draw = TRIANGLE self.repaint() if __name__ == '__main__': app = QApplication(sys.argv) ex = Example() ex.show() sys.exit(app.exec()) 

Отслеживать
75.2k 120 120 золотых знаков 38 38 серебряных знаков 57 57 бронзовых знаков
задан 24 дек 2020 в 21:13
cheburashka cheburashka
35 6 6 бронзовых знаков
Покажите пожалуйста что вы уже написали или попробовали написать.
24 дек 2020 в 21:22

@S. Nick я обновил пост. при нажатии на лкм рисуется квадрат, но я не знаю как сделать с треугольником

24 дек 2020 в 21:28

1 ответ 1

Сортировка: Сброс на вариант по умолчанию

import sys import math # +++ from random import randint from PyQt5.QtGui import QPainter, QColor, QPainterPath from PyQt5.QtWidgets import QWidget, QApplication from PyQt5.QtCore import Qt, QPointF from PyQt5 import QtCore, QtGui, QtWidgets RECT = 1 TRIANGLE = 2 class Example(QWidget): def __init__(self): super().__init__() self.minSize = 300 self.maxSize = 1000 self.w = 0 self.h = 0 self.getRandomWinSize() self.what_to_draw = None self.initUI() def getRandomWinSize(self): self.w = randint(self.minSize, self.maxSize) self.h = randint(self.minSize, self.maxSize) def getRandomSize(self): return randint(10, self.minSize) def getRandomColor(self): return QColor(randint(0, 255), randint(0, 255), randint(0, 255)) def initUI(self): self.resize(self.w, self.h) self.mouseCoord = None self.setMouseTracking(True) def draw_rect(self, qp): a = self.getRandomSize() qp.setBrush(self.getRandomColor()) qp.drawRect(*self.mouseCoord, a, a) # +++ vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv def draw_triangle(self, qp): a = self.getRandomSize() d = a * math.tan(math.radians(30)) x, y = self.mouseCoord pos_top = QPointF(*self.mouseCoord) pos_left = QPointF(x - d, y + a) pos_right = QPointF(x + d, y + a) qp.setBrush(self.getRandomColor()) path = QPainterPath() path.moveTo(pos_top) path.lineTo(pos_right) path.lineTo(pos_left) qp.drawPath(path) # +++ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ def paintEvent(self, event): qp = QPainter() qp.begin(self) if self.what_to_draw == RECT: self.draw_rect(qp) elif self.what_to_draw == TRIANGLE: self.draw_triangle(qp) # +++ # pass qp.end() def mouseMoveEvent(self, event): self.mouseCoord = event.x(), event.y() def mousePressEvent(self, event): if event.button() == Qt.RightButton: self.what_to_draw = RECT self.repaint() def keyPressEvent(self, event): if event.key() == Qt.Key_Space: self.what_to_draw = TRIANGLE self.repaint() if __name__ == '__main__': app = QApplication(sys.argv) ex = Example() ex.show() sys.exit(app.exec()) 

введите сюда описание изображения

Отслеживать
ответ дан 25 дек 2020 в 0:14
75.2k 120 120 золотых знаков 38 38 серебряных знаков 57 57 бронзовых знаков

  • python
  • pyqt5
  • pyqt
  • qpainter
  • рисование
    Важное на Мете
Похожие

Подписаться на ленту

Лента вопроса

Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.

Дизайн сайта / логотип © 2024 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2024.4.30.8420

Frequently asked questions — Draw

Как нарисовать равносторонний(правильный) треугольник?

В LibreOffice Draw есть инструмент для рисования равнобедренных треугольников, но не равносторонних. Равносторонним называется треугольник, у которого равны все стороны, следовательно углы составляют по 60 градусов. Чтобы нарисовать равносторонний треугольник, придется вспомнить геометрию. Чтобы задать точные размеры треугольнику, необходимо вычислить его высоту. Высота равностороннего треугольника равна:

[math]\displaystyle< h=\mathit\sin \left(\frac<\Pi >\right)=\mathit\sin \left(60\circ \right)=\mathit\frac<\sqrt>\approx a\times \mathrm >[/math] , т.е. другими словами, высота равна длине стороны треугольника умноженной на 0.866 (именно столько составляет синус 60 градусов).

To draw an equilateral triangle:

  • click on the triangle to the right of the Basic Shapes icon to open the Basic Shapes toolbar. In the toolbar, click on the Isosceles Triangle button.

Isosceles.png

  • click and drag to draw a triangle of about the size desired;
  • select the Format ▸ Position and size menu;
  • make sure Keep ratio is unchecked;
  • adjust:
    • the height so that it equals the width multiplied by 0.866,
    • the width so that it equals the height divided by 0.866,or
    • both, maintaining the proportion 0.866 between the height and the width;

    Another way to create equilateral triangle is to:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *