Autorské riešenie
Naša dlaždica bude obsahovať rovnostranný trojuholník a zvýraznené potrebné obrysy, aby po priložení dlaždíc vznikla trojuholníková sieť. Dlaždica bude vyzerať takto:
Jedným rozmerom dlazidce bude strana trojuholníka, druhým jeho výška. Ukážeme si, ako výšku dopočítať. Nech máme rovnostranný trojuholník s dĺžkou strany a. Do trojuholníka si vyznačíme výšku, označíme ju v.
Pre výpočet výšky trojuholníka použijeme Pytagrovu vetu v trujuholníku BCD s preponou BC:
Po úpravách si vyjadríme v ako
S týmito dvoma rozmermi už budeme vedieť navrhnúť danú dlaždicu. Čiary, ktroé budú určovať sieť budú hrubšie ako čiary určujúce hranice dlaždice. Nižšie už je uvedené riešenie. ;Imagine
logo
viem dlazdica :strana urobTu "vyska (odmocnina 3)*:strana/2 nechHp 1 opakuj 2[ do :vyska*2 vp 90 do :strana vp 90 ] nechHp 3 vp 30 do :strana vl 120 do :strana/2 vz :strana do :strana/2 vp 120 do :strana vl 120 do :strana vl 120 do :strana*2 ph vp 120 do :strana vp 90 pd koniec
import turtle
import math jozko = turtle.Turtle() plocha = turtle.Screen() jozko.left(90) def dlazdica(strana): """ vykreslí dlaždicu so zadaným rozmerom strany trojuholníka vo vzore :param strana: dĺžka strany trojuholníka vo vzore """ vyska = math.sqrt(3)*strana/2 jozko.pensize(1) for i in range (2): jozko.forward(2*vyska) jozko.right(90) jozko.forward(strana) jozko.right(90) jozko.pensize(3) jozko.right(30) jozko.forward(strana) jozko.left(120) jozko.forward(strana/2) jozko.back(strana) jozko.forward(strana/2) jozko.right(120) jozko.forward(strana) jozko.left(120) jozko.forward(strana) jozko.left(120) jozko.forward(2*strana) jozko.penup() jozko.right(120) jozko.forward(strana) jozko.right(90) jozko.pendown() dlazdica(100) plocha.mainloop() Vaše zaujímavé riešenia a najčastejšie chyby Úlohu neriešilo veľa riešiteľov. V dvoch riešeniach sa nachádzal správny vzor, no nebol najjednoduchší. Jeden riešiteľ nepochopil zadanie a snažil sa okopírovať obrázok zo zadania. Toto riešenie bolo komplikované, no zároveň aj nesprávne, keďže sa nevytvárala trojuholníková sieť. jeden riešiteľ použil pri výpočte výšky hodnotu 0,866. Obrázok vyzeral správne, no pri väčších rozmeroch by už daný rozmer nesedel. |
||||||||||
© Univerzita Pavla Jozefa Šafárika v Košiciach, Prírodovedecká fakulta, Ústav informatiky palmaj (zavinac) upjs.sk |