WPROWADZENIE
Przek膮tna to odcinek, kt贸ry 艂膮czy dwa wierzcho艂ki wielok膮ta, ale nie jest jego bokiem.

W ka偶dym wielok膮cie mo偶na dok艂adnie obliczy膰 liczb臋 wszystkich przek膮tnych

Liczb臋 przek膮tnych mo偶na obliczy膰 z zale偶no艣ci $\frac{n(n-3)}{2}$, gdzie n oznacza liczb臋 bok贸w wielok膮ta.
KOD W J臉ZYKU PYTHON
import math
import matplotlib.pyplot as plt
num_sides = int(input("Wpisz liczb臋 bok贸w wielok膮ta: "))
if num_sides < 3:
print('Taki wielok膮t nie istnieje')
else:
num_diag = int(num_sides * (num_sides - 3) /2)
interior_angle = (num_sides - 2) * 180 / num_sides
diagonal_angle = 180 - interior_angle
diagonal_length = 0.5 / math.cos(math.pi / num_sides)
x_coords = [math.cos(2 * math.pi / num_sides * i) for i in range(num_sides)]
y_coords = [math.sin(2 * math.pi / num_sides * i) for i in range(num_sides)]
fig, ax = plt.subplots()
ax.plot(x_coords, y_coords, 'o-', label='Wielok膮t')
for i in range(num_sides):
for j in range(i + 2, num_sides):
ax.plot([x_coords[i], x_coords[j]], [y_coords[i], y_coords[j]], '-', color='gray')
ax.set_xlim([-1.2, 1.2])
ax.set_ylim([-1.2, 1.2])
ax.set_title(f'Wielok膮t o {num_sides} bokach i {num_diag} przek膮tnych')
plt.show()
猬嗭笍猬嗭笍猬嗭笍 Zobacz w Google Colaboratory
JAK DZIA艁A PROGRAM?
- Importujemy biblioteki math oraz matplotlib.pyplot.
- Program prosi u偶ytkownika o wpisanie liczby bok贸w wielok膮ta.
- Je艣li liczba bok贸w jest mniejsza ni偶 3, program wy艣wietla komunikat, 偶e taki wielok膮t nie istnieje. Je艣li liczba bok贸w wynosi 3 lub wi臋cej, program wykonuje dalsze obliczenia.
- Obliczamy liczb臋 przek膮tnych wielok膮ta wed艂ug wzoru n(n-3)2 oraz miar臋 k膮ta wewn臋trznego wielok膮ta interior_angle.
- Obliczamy miar臋 k膮ta mi臋dzy przek膮tnymi diagonal_angle wielok膮ta oraz d艂ugo艣膰 przek膮tnych diagonal_length.
- Obliczamy wsp贸艂rz臋dne wierzcho艂k贸w wielok膮ta, rysujemy wielok膮t oraz przek膮tne za pomoc膮 biblioteki matplotlib.
- Program ustawia zakres rysowania oraz tytu艂 wykresu.
- Program wy艣wietla wykres w oknie graficznym.
Dodaj komentarz