Könyvajánló

Albert Einstein: A relativitás elmélete

E. T. A. Hoffmann: Az arany virágcserép

Kurt Vonnegut: Az ötös számú vágóhíd

Ken Kesey: Száll a kakukk fészkére

Daniel Keyes: Virágot Algernonnak

Peter Marshall: Tombol a Hold

Graham Greene: A pusztítók

J. D. Salinger: Teddy

Franz Kafka: Átváltozás

Robert Merle: Madrapur

Federico Andaházi-Kasnya: A fejedelem

Douglas Adams: Galaxis útikalauz stoposoknak

George Orwell: Állatfarm

Stefan Zweig: Sakknovella

Robert Merle: Állati elmék

Truman Capote: Mozart és a kaméleonok

Thomas Keneally: Schindler bárkája

Albert Camus: A pestis

Rejtő Jenő: A tizennégy karátos autó

Thomas Mann: Mario és a varázsló

Albert Schweitzer: Életem és gondolataim

Bohumil Hrabal: Sörgyári capriccio

Lev Tolsztoj: Háború és béke

Karel Capek: Harc a szalamandrákkal

Pierre Boulle: Híd a Kwai folyón

Hamvas Béla: A babérligetkönyv

Ernest Hemingway: Akiért a harang szól

Miguel de Cervantes: Don Quijote

Karinthy Frigyes: A delejes halál

Mikszáth Kálmán: Szent Péter esernyője

Kertész Imre: Sorstalanság

Kurt Vonnegut: Éj anyánk

Franz Kafka: A per

Gabriel García Marquez: Szerelem a kolera idején

Gabriel García Marquez: Száz év magány

Robert Merle: Mesterségem a halál

Ernest Hemingway: Az öreg halász és a tenger

Isaac Asimov: Alapítvány

Jules Verne: Nemo kapitány

Jorge Amado: A vén tengerész

Oscar Wilde: Dorian Gray arcképe

Thornton Wilder: Szent Lajos király hídja

Ivan Szergejevics Turgenyev: Apák és fiúk

Robert M. Pirsig: A zen meg a motorkerékpár ápolás művészete

Arthur Schnitzler: Tágra zárt szemek

Stefan Wul: A Perdide árvája

Arthur Koestler: Sötétség délben

Móricz Zsigmond: Rokonok

Moldova György: Az elátkozott hivatal

Örkény István egypercesei

Dylan Thomas versei

Walt Whitman versei

<!DOCTYPE html>

<html>

<head>

  <title>Kétdimenziós koordináta-rendszer</title>

  <style>

    #canvas {

      border: 1px solid black;

      width: 500px;

      height: 500px;

    }

  </style>

</head>

<body>

  <div id=”canvas”></div>

  <script src=”script.js”></script>

</body>

</html>

body {

  display: flex;

  justify-content: center;

  align-items: center;

  height: 100vh;

}

#canvas {

  border: 1px solid black;

  width: 500px;

  height: 500px;

}

window.addEventListener(‘DOMContentLoaded’, (event) => {

  const canvas = document.getElementById(‘canvas’);

  const context = canvas.getContext(‘2d’);

  const points = [];

  let waveNumber = 1;

  canvas.addEventListener(‘click’, (event) => {

    const rect = canvas.getBoundingClientRect();

    const x = event.clientX – rect.left;

    const y = event.clientY – rect.top;

    const previousPoint = points[points.length – 1];

    const newX = previousPoint ? previousPoint.x + 1 : x;

    const newY = y + Math.sin(newX / (20 * waveNumber)) * 50; // Szinuszhullám formula

    const newPoint = { x: newX, y: newY };

    points.push(newPoint);

    drawPoints();

    checkIntersection(newPoint);

  });

  function drawPoints() {

    context.clearRect(0, 0, canvas.width, canvas.height);

    points.forEach((point) => {

      context.beginPath();

      context.arc(point.x, point.y, 5, 0, 2 * Math.PI);

      context.fillStyle = point.color || ‘black’;

      context.fill();

    });

  }

  function checkIntersection(point) {

    let intersectionCount = 0;

    points.forEach((p) => {

      if (p !== point && p.y * point.y <= 0) {

        intersectionCount++;

      }

    });

    if (intersectionCount === 1) {

      point.color = ‘red’;

    } else {

      point.color = null;

    }

    listIntersectionPoints();

  }

  function listIntersectionPoints() {

    const intersectionPoints = points.filter((point) => point.color === ‘red’);

    console.log(‘Pontok, amelyeket csak egyetlen színuszhullám metsz:’);

    intersectionPoints.forEach((point, index) => {

      console.log(`Pont ${index + 1}: x=${point.x}, y=${point.y}`);

    });

  }

  document.addEventListener(‘keydown’, (event) => {

    if (event.key === ‘ArrowUp’) {

      waveNumber += 2; // Növeljük a hullámszámot 2-vel

      drawPoints();

    } else if (event.key === ‘ArrowDown’) {

      waveNumber -= 2; // Csökkentjük a hullámszámot 2-vel

      if (waveNumber < 1) waveNumber = 1; // A hullámszám nem lehet kisebb mint 1

      drawPoints();

    }

  });

});