< Zpět na seznam úloh

G1 Otočení bodů

var datasets = [
  {argv: [[[3, 4], [-3, -4]], 0], out: [[3, 4], [-3, -4]]},
  {argv: [[[3, 4], [-3, -4]], 90], out: [[-4, 3], [4, -3]]},
  {argv: [[[3, 4], [-3, -4]], 30], out: [[0.5981, 4.9641], [-0.5981, -4.9641]]},
  {argv: [[[7.185, 6.221], [6.377, 2.117], [1.994, 8.807]], 194.9], out: [[-5.344, -7.859], [-5.618, -3.686], [0.338, -9.024]]}
]

var names = ['body', 'uhel'];
function req(a, b) {
  return Math.round(a * 1000) == Math.round(b * 1000);
}

function validator(result, dataset) {
  return dataset.out.every(([x, y], i) => req(x, result[i][0]) && req(y, result[i][1]));
}

Program dostává seznam bodů v rovině a úhel, o kolik se mají body otočit kolem počátku, proti směru hodinových ručiček. Výstupem je seznam bodů po otočení, v původním pořadí.

Smíte používat modul numpy, a nově jde i načíst tady na webu.

Rady

Nabízejí se přinejmenším dva přístupy:

def main(body, uhel):
  return body