Muotojen Kierto
Pyyhkäise näyttääksesi valikon
Kun haluat kiertää geometrisen kuvion, kuten monikulmion, pisteen (yleensä origon) ympäri, käytät tiettyä matemaattista kaavaa. Kun kierrät pistettä (x, y) origon ympäri kulmalla θ (radianeina mitattuna), uudet koordinaatit (x', y') lasketaan seuraavasti:
x' = x * cos(θ) - y * sin(θ);y' = x * sin(θ) + y * cos(θ).
Tämä kaava perustuu trigonometriaan ja kuvaa, miten kukin piste liikkuu ympyrän kaarella, jonka keskipisteenä on origo. Pythonissa voit käyttää math-moduulia saadaksesi käyttöön sinin ja kosinin funktiot, ja kulman tulee olla radiaaneina näitä funktioita varten.
Sovella tätä kaavaa vaiheittain. Oletetaan, että haluat kiertää kolmion, jonka kärjet ovat kohdissa (1, 0), (0, 1) ja (-1, 0), 90 astetta (eli π/2 radiaania) origon ympäri. Jokaisen kärjen kohdalla sijoitat x- ja y-arvot yllä olevaan kaavaan ja lasket uuden sijainnin. Kun teet tämän kaikille kärjille, saat kiertyneen kolmion.
Geometrisessa mallinnuksessa työskennellään usein monikulmioiden kanssa, jotka esitetään pisteiden listana. Koko monikulmion kiertämiseksi sovelletaan kiertokaavaa jokaiselle kärjelle listassa. Tämä lähestymistapa mahdollistaa minkä tahansa monikulmion muuntamisen, riippumatta sivujen määrästä, käymällä pisteet läpi ja päivittämällä niiden sijainnit.
12345678910111213141516171819202122232425import math def rotate_polygon(points, angle_radians): """Rotate a polygon around the origin by a specified angle. Args: points: List of (x, y) tuples representing the polygon's vertices. angle_radians: The rotation angle in radians. Returns: List of (x', y') tuples representing the rotated vertices. """ cos_theta = math.cos(angle_radians) sin_theta = math.sin(angle_radians) rotated = [] for x, y in points: x_new = x * cos_theta - y * sin_theta y_new = x * sin_theta + y * cos_theta rotated.append((x_new, y_new)) return rotated # Example usage: triangle = [(1, 0), (0, 1), (-1, 0)] rotated_triangle = rotate_polygon(triangle, math.pi / 2) print(rotated_triangle)
Kiitos palautteestasi!
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme