Primer za predavanje
Log in to post a comment.
const ura = 2
const minuta = 33
const t = new Turtle();
const dolzina_urnega_kazalca = 40
const dolzina_minutnega_kazalca = 60
const obod_ure = dolzina_minutnega_kazalca + 5
let prava_ura = (ura >= 12) ? ura - 12 : ura
let kot_urnega_kazalca = prava_ura * 30 + minuta / 2
let kot_minutnega_kazalca = minuta * 6
let x_ure = izracunaj_x_os(kot_urnega_kazalca, dolzina_urnega_kazalca)
let y_ure = izracunaj_y_os(kot_urnega_kazalca, dolzina_urnega_kazalca)
t.jump(0, 0)
t.goto(x_ure, y_ure)
let x_minute = izracunaj_x_os(kot_minutnega_kazalca, dolzina_minutnega_kazalca)
let y_minute = izracunaj_y_os(kot_minutnega_kazalca, dolzina_minutnega_kazalca)
t.jump(0, 0)
t.goto(x_minute, y_minute)
t.jump(0, -obod_ure)
t.circle(obod_ure)
izrisi_oznake_ur(obod_ure)
function izracunaj_x_os(kot, dolzina_rocice)
{
let popravljen_kot = kot - 90
let popravljen_kot_v_radianih = popravljen_kot * Math.PI / 180;
return dolzina_rocice * Math.cos(popravljen_kot_v_radianih)
}
function izracunaj_y_os(kot, dolzina_rocice)
{
let popravljen_kot = kot - 90
let popravljen_kot_v_radianih = popravljen_kot * Math.PI / 180;
return dolzina_rocice * Math.sin(popravljen_kot_v_radianih)
}
function izrisi_oznake_ur(dolzina_oboda)
{
let dolzina_zacetka_ure = dolzina_oboda - 10
let dolzina_zacetka_minute = dolzina_oboda - 5
let dolzina_konca = dolzina_oboda - 2
for(let kot = 0; kot < 360; kot += 6) {
let dolzina_zacetka = (kot % 30 == 0)
? dolzina_zacetka_ure
: dolzina_zacetka_minute
let x_zacetek = izracunaj_x_os(kot, dolzina_zacetka)
let y_zacetek = izracunaj_y_os(kot, dolzina_zacetka)
t.jump(x_zacetek, y_zacetek)
let x_konec = izracunaj_x_os(kot, dolzina_konca)
let y_konec = izracunaj_y_os(kot, dolzina_konca)
t.goto(x_konec, y_konec)
}
}