Hogyan rajzoljunk egy páros 6 négyzetet. Kör körül körülírt szabályos sokszögek felépítése. Kerület és terület

Egyes játékokban hatszögrácsokat (hatszögletű rácsokat) használnak, de ezek nem olyan egyszerűek és gyakoriak, mint a téglalapokból álló rácsok. Már közel 20 éve gyűjtöm a hatszögrácsokkal kapcsolatos forrásokat, és ezt az útmutatót a legegyszerűbb kóddal megvalósított legelegánsabb megközelítésekről írtam. A cikk gyakran használja Charles Fu és Clark Verbrugge kézikönyveit. Leírom a hatszögrácsok létrehozásának különböző módjait, kapcsolatukat, valamint a leggyakoribb algoritmusokat. A cikk számos része interaktív: a rácstípus kiválasztása megváltoztatja a megfelelő diagramokat, kódokat és szövegeket. (Megjegyzés: ez csak az eredetire vonatkozik, azt javaslom, hogy tanulmányozza át. A fordításban az eredeti minden információja megmarad, de interaktivitás nélkül.).

A cikkben szereplő kódpéldák pszeudokóddal vannak megírva, így könnyebben olvashatóak és érthetőbbek a saját implementáció megírásához.

Geometria

A hatszögek hatszögletű sokszögek. A szabályos hatszögek minden oldala (lapja) azonos hosszúságú. Csak normál hatszögekkel fogunk dolgozni. A hatszögletű rácsok általában vízszintes (éles tetejű) és függőleges (lapos tetejű) tájolást használnak.


Lapos (bal) és éles (jobb) felső hatszög

A hatszögeknek 6 lapja van. Mindegyik lapon két hatszög osztozik. A hatszögeknek 6 sarokpontja van. Minden sarokponton három hatszög osztozik. A középpontokról, élekről és sarokpontokról a hálós részekről (négyzetek, hatszögek és háromszögek) szóló cikkemben olvashat bővebben.

sarkok

Egy szabályos hatszögben a belső szögek 120°-osak. Hat "ék" van, amelyek mindegyike egyenlő oldalú háromszög 60°-os belső szöggel. sarokpont én(60° * i) + 30° , méretegység a középponttól számítva. Kódban:

Függvény hex_corner(center, size, i): var szög_deg = 60 * i + 30 var szög_rad = PI / 180 * szög_fok return Point(center.x + size * cos(angle_rad), center.y + méret * sin(angle_rad) )
Hatszög kitöltéséhez meg kell kapnia a sokszög csúcsait hex_corner(…, 0) és hex_corner(…, 5) között. A hatszög körvonalának megrajzolásához ezeket a csúcsokat kell használni, majd újra meg kell húzni a vonalat a hex_corner(…, 0) -ban.

A különbség a két tájolás között az, hogy x és y felcserélődnek, ami a szögek változását okozza: a lapos felső hatszögek szögei 0°, 60°, 120°, 180°, 240°, 300°, az éles felső hatszögek pedig 30°, 90°, 150°, 210°, 270°, 330°.


Hatszögletű sarkok lapos és éles tetővel

Méret és hely

Most több hatszöget szeretnénk együtt rendezni. Fekvő tájolásban a hatszög magassága magasság = méret * 2 . A szomszédos hatszögek közötti függőleges távolság vert = magasság * 3/4.

A hatszög szélessége szélesség = sqrt(3)/2 * magasság. A szomszédos hatszögek közötti vízszintes távolság horiz = szélesség .

Egyes játékok pixel art-ot használnak a hatszögekhez, amelyek nem pontosan egyeznek a megfelelő hatszögekkel. Az ebben a részben leírt szög- és helyzetképletek nem egyeznek meg az ilyen hatszögek méreteivel. A cikk további része, amely leírja a hatszögrács-algoritmusokat, akkor is érvényes, ha a hatszögek kissé meg vannak húzva vagy össze vannak nyomva.



Koordinátarendszerek

Kezdjük összeállítani a hatszögeket egy rácsba. A négyzetrácsok esetében csak egy kézenfekvő módja van az összeállításnak. A hatszögeknél számos megközelítés létezik. Javaslom a köbös koordináták használatát elsődleges ábrázolásként. A tengelyirányú koordinátákat vagy az eltolási koordinátákat kell használni a térképek tárolásához és a koordináták felhasználó számára történő megjelenítéséhez.

Eltolási koordináták

A legáltalánosabb módszer az egyes egymást követő oszlopok vagy sorok eltolása. Az oszlopokat oszlop vagy q jelöli. A sorokat sor vagy r jelöli. A páratlan vagy páros oszlopokat/sorokat eltolja, így a vízszintes és a függőleges hatszögnek két-két lehetősége van.


Vízszintes elrendezés "páratlan-r"


Vízszintes elrendezés "páros-r"


Függőleges elrendezés "páratlan-q"


Függőleges elrendezés "páros-q"

Köbös koordináták

Egy másik módja annak, hogy megnézzük a hatszögrácsokat, ha látunk bennük három főtengelyek, nem két, mint a négyzetrácsoknál. Elegáns szimmetriát mutatnak.

Vegyünk egy rácsot kockákból és kivágátlós sík x + y + z = 0 helyen. Ez furcsa ötlet, de segít leegyszerűsíteni a hatszögrács-algoritmusokat. Különösen a derékszögű koordinátákból tudunk majd szabványos műveleteket használni: koordináták összegzése és kivonása, skalárértékkel való szorzás és osztás, valamint távolságok.

Figyeljük meg a három fő tengelyt a kockák rácsán, és ezek kapcsolatát a hattal átlós a hatszögrács irányai. A rács átlós tengelyei megfelelnek a hatszögrács fő irányának.


Hatszögek


Kuba

Mivel már vannak algoritmusaink négyzetrácsokhoz és kockákból álló rácsokhoz, a köbös koordináták segítségével ezeket az algoritmusokat hatszögrácsokhoz igazíthatjuk. Ezt a rendszert fogom használni a cikk legtöbb algoritmusához. Más koordinátarendszerű algoritmusok használatához átalakítom a köbös koordinátákat, lefuttatom az algoritmust, majd visszatranszformálom.

Ismerje meg, hogyan működnek a köbös koordináták hatszögrács esetén. Hatszögek kiválasztásakor a három tengelynek megfelelő köbös koordináták vannak kiemelve.

  1. A kockák rácsának minden iránya megfelel vonalak hatszögekből álló rácson. Próbáljon meg olyan hatszöget kiválasztani, amelynek z értéke 0, 1, 2, 3 a kapcsolat megtekintéséhez. A vonal kék színnel van jelölve. Próbáld meg ugyanezt x (zöld) és y (lila) esetén is.
  2. Mindegyik hatszögű rácsirány két kocka rácsirány kombinációja. Például a hatszögrács „északi” része +y és -z között van, tehát minden „északra” lépés y-vel növekszik, z 1-gyel csökken.
A köbös koordináták ésszerű választás a hatszögű rács koordinátarendszerhez. A feltétel x + y + z = 0, ezért meg kell őrizni az algoritmusokban. A feltétel azt is biztosítja, hogy minden hatszöghez mindig legyen kanonikus koordináta.

A kockákhoz és a hatszögekhez sokféle koordinátarendszer létezik. Néhányukban a feltétel eltér x + y + z = 0-tól. A sok rendszer közül csak egyet mutattam meg. Köbös koordinátákat is létrehozhatunk x-y , y-z , z-x paraméterekkel, amelyeknek meglesz a saját érdekes tulajdonságkészlete, de ezekre itt most nem térek ki.

De vitatkozhatsz azzal, hogy nem akarsz 3 számot eltárolni a koordinátákhoz, mert nem tudod, hogyan kell egy ilyen térképet tárolni.

Axiális koordináták

A tengelyirányú koordinátarendszer, amelyet néha "trapéznek is neveznek", a köbös koordináta-rendszer két vagy három koordinátája alapján épül fel. Mivel az x + y + z = 0 feltételünk van, a harmadik koordinátára nincs szükség. Az axiális koordináták hasznosak a térképek tárolására és a koordináták felhasználó számára történő megjelenítésére. Akárcsak a köbös koordinátáknál, ezekkel is használhatja a derékszögű koordináták összegzési, kivonási, szorzási és osztási szabványos műveleteit.

Sok köbös koordinátarendszer és sok tengelyirányú koordinátarendszer létezik. Ebben az útmutatóban nem térek ki minden kombinációra. Két változót választok, q (oszlop) és r (sor). A cikkben szereplő áramkörökben q megfelel x-nek, r pedig z-nek, de ez a leképezés önkényes, mert elforgathatja és elforgathatja az áramköröket, hogy különböző leképezéseket kapjon.

Ennek a rendszernek az előnye az eltolóhálókkal szemben az algoritmusok nagyobb átláthatósága. A rendszer hátránya, hogy egy téglalap alakú térkép tárolása kissé furcsa; lásd a térképek mentéséről szóló részt. Egyes algoritmusok köbkoordinátákban még egyértelműbbek, de mivel az x + y + z = 0 feltételünk van, a harmadik implikált koordinátát ki tudjuk számítani és felhasználni ezekben az algoritmusokban. A projektjeimben a q , r , s tengelyeket hívom, így a feltétel így néz ki: q + r + s = 0, és szükség esetén ki tudom számítani az s = -q - r értéket.

tengelyek

Az eltolási koordináták az első dolog, ami a legtöbb embernek eszébe jut, mivel ezek megegyeznek a négyzetrácsoknál használt szabványos derékszögű koordinátákkal. Sajnos a két tengely közül az egyiknek szembe kell mennie, és ez megnehezíti a dolgokat. A köbös és az axiális rendszerek megteszik az extra mérföldet, és egyszerűbb algoritmusokkal rendelkeznek, de a térképtárolás egy kicsit bonyolultabb. Létezik egy másik rendszer, az úgynevezett "interleaved" vagy "double", de itt nem fogjuk figyelembe venni; egyesek könnyebben dolgoznak vele, mint köbös vagy axiális.


Eltolási koordináták, köbös és axiális

Tengely az az irány, amelyben a megfelelő koordináta növekszik. A tengelyre merőleges az az egyenes, amelyen a koordináta állandó marad. A fenti rácsdiagramok merőleges vonalakat mutatnak.

Koordináta transzformáció

Valószínűleg axiális vagy eltolási koordinátákat fog használni a projektben, de sok algoritmus könnyebben kifejezhető köbkoordinátákkal. Ezért tudnunk kell a rendszerek közötti koordinátákat konvertálni.

Az axiális koordináták szorosan összefüggenek a köbös koordinátákkal, így az átalakítás egyszerű:

# köbös koordináták átalakítása axiális koordinátákká q = x r = z # tengelyirányú átalakítás köbös koordinátákká x = q z = r y = -x-z
A kódban ez a két függvény a következőképpen írható fel:

cube_to_hex(h) függvény: # axiális var q = hx var r = hz return Hex(q, r) függvény hex_kocka(h): # kocka var x = hq var z = hr var y = -xz return Cube(x, y) ,z)
Az eltolási koordináták egy kicsit bonyolultabbak:

Szomszédos hatszögek

Ha adott egy hatszög, milyen hat hatszög van mellette? Ahogy az várható volt, a válasz a köbkoordinátákban a legegyszerűbb, az axiális koordinátákban meglehetősen egyszerű, az eltolási koordinátákban pedig kissé bonyolult. Előfordulhat, hogy hat „átlós” hatszöget is ki kell számítania.

Köbös koordináták

Az egyik tér hexadecimális koordinátáinak mozgatása a három köbkoordináta egyikét +1-gyel, a másikat -1-gyel módosítja (az összegnek 0-nak kell maradnia). Három lehetséges koordináta +1-gyel, a maradék kettő pedig -1-gyel változhat. Ez hat lehetséges változtatást ad nekünk. Mindegyik megfelel a hatszög valamelyik irányának. A legegyszerűbb és leggyorsabb módja- Előre számítsa ki a változtatásokat, és fordítsa be azokat a Cube(dx, dy, dz) köbös koordináták táblázatába fordításkor:

Változó irányok = [ Kocka(+1, -1, 0), Kocka(+1, 0, -1), Kocka(0, +1, -1), Kocka(-1, +1, 0), Kocka( -1, 0, +1), Cube(0, -1, +1) ] függvény cube_direction(direction): visszatérési irányok függvény kocka_szomszéd(hex, irány): return kocka_add(hex, kocka_iránya(irány))

Axiális koordináták

A korábbiakhoz hasonlóan most is a köbös rendszert használjuk. Vegyük a Cube(dx, dy, dz) táblát és alakítsuk át Hex(dq, dr) táblává:

Változó irányok = [ Hex(+1, 0), Hex(+1, -1), Hex(0, -1), Hex(-1, 0), Hex(-1, +1), Hex(0, +1) ] függvény hex_irány(irány): visszatérési irányok függvény hex_szomszéd(hex, irány): var dir = hex_direction(direction) return Hex(hex.q + dir.q, hex.r + dir.r)

Eltolási koordináták

Az axiális koordinátákban a rácson lévő helytől függően változtatunk. Ha eltolt oszlopban/sorban vagyunk, akkor a szabály más, mint az eltolás nélküli oszlop/sor esetén.

Mint korábban, létrehozunk egy számtáblázatot, amelyet hozzáadunk a oszlophoz és a sorhoz. Ezúttal azonban két tömbünk lesz, egy a páratlan oszlopokhoz/sorokhoz és egy a páros oszlopokhoz. Nézze meg az (1,1) pontot a fenti rácstérképen, és figyelje meg, hogyan változik a oszlop és a sor, ahogy mozog mind a hat irányban. Most ismételjük meg a (2,2) folyamatot. A táblázatok és a kódok mind a négy típusú eltolási rács esetében eltérőek lesznek, itt található az egyes rácstípusok megfelelő kódja.

páratlan-r
var irányok = [ [ Hex(+1, 0), Hex(0, -1), Hex(-1, -1), Hex(-1, 0), Hex(-1, +1), Hex(0 , +1) ], [ Hex(+1, 0), Hex(+1, -1), Hex(0, -1), Hex(-1, 0), Hex(0, +1), Hex( +1, +1) ] ] függvény offset_neighbor(hex, direction): var parity = hex.sor & 1 var dir = irányok return Hex(hex.col + dir.col, hex.row + dir.sor)


Even-r
var irányok = [ [ Hex(+1, 0), Hex(+1, -1), Hex(0, -1), Hex(-1, 0), Hex(0, +1), Hex(+1 , +1) ], [ Hex(+1, 0), Hex(0, -1), Hex(-1, -1), Hex(-1, 0), Hex(-1, +1), Hex (0, +1) ] ] függvény offset_neighbor(hex, direction): var parity = hex.sor & 1 var dir = irányok return Hex(hex.col + dir.col, hex.row + dir.sor)


Rács páros (PÁROS) és páratlan (páratlan) sorokhoz

páratlan-q
var irányok = [ [ Hex(+1, 0), Hex(+1, -1), Hex(0, -1), Hex(-1, -1), Hex(-1, 0), Hex(0 , +1) ], [ Hex(+1, +1), Hex(+1, 0), Hex(0, -1), Hex(-1, 0), Hex(-1, +1), Hex (0, +1) ] ] függvény offset_neighbor(hex, direction): var parity = hex.col & 1 var dir = directions return Hex(hex.col + dir.col, hex.row + dir.row)


Páros-q
var irányok = [ [ Hex(+1, +1), Hex(+1, 0), Hex(0, -1), Hex(-1, 0), Hex(-1, +1), Hex(0 , +1) ], [ Hex(+1, 0), Hex(+1, -1), Hex(0, -1), Hex(-1, -1), Hex(-1, 0), Hex (0, +1) ] ] függvény offset_neighbor(hex, direction): var parity = hex.col & 1 var dir = directions return Hex(hex.col + dir.col, hex.row + dir.row)


Rács páros (PÁROS) és páratlan (páratlan) oszlopokhoz

Diagonal vonalok

Ha hatszög koordinátákban "átlós" térben mozog, a három köbkoordináta egyike ±2-vel, a másik kettő pedig ∓1-gyel változik (az összegnek 0-nak kell maradnia).

Változó átlói = [ kocka(+2, -1, -1), kocka(+1, +1, -2), kocka(-1, +2, -1), kocka(-2, +1, +1 ), Cube(-1, -1, +2), Cube(+1, -2, +1) ] függvény cube_diagonal_neighbor(hex, direction): return cube_add(hex, diagonals)
Mint korábban, ezeket a koordinátákat a három koordináta valamelyikének eldobásával tengelyirányú koordinátává alakíthatjuk, vagy az eredmények előre kiszámításával konvertálhatjuk eltolási koordinátává.


Távolságok

Köbös koordináták

A köbös koordinátarendszerben minden hatszög egy kocka a 3D térben. A szomszédos hatszögek 1-re vannak egymástól a hatszögrácsban, de 2-re a kockarácsban. Ez megkönnyíti a távolságok kiszámítását. Egy négyzetrácsban a Manhattan távolságok abs(dx) + abs(dy) . A kockákból álló rácsban a Manhattan távolságok abs(dx) + abs(dy) + abs(dz) . A hatszögek rácsában a távolság egyenlő a felével:

Függvény kocka_távolság(a, b): visszatérés (abs(a.x - b.x) + abs(a.y - b.y) + abs(a.z - b.z)) / 2
Ennek a jelölésnek az lenne a megfelelője, ha azt mondanánk, hogy a három koordináta egyikének a másik kettő összegének kell lennie, majd ezt távolságként kapjuk meg. Az alábbiakban választhatja a felező vagy a maximális érték formát, de ezek ugyanazt az eredményt adják:

Függvény kocka_távolság(a, b): return max(abs(a.x - b.x), abs(a.y - b.y), abs(a.z - b.z))
Az ábrán a maximális értékek színnel vannak kiemelve. Figyelje meg azt is, hogy minden szín a hat „átlós” irány egyikét képviseli.

gif


Axiális koordináták

Az axiális rendszerben a harmadik koordináta implicit módon van kifejezve. A távolság kiszámításához konvertáljuk át axiálisról köbösre:

Függvény hex_távolság(a, b): var ac = hex_kocka(a) var bc = hex_kocka(b) return kocka_távolság(ac, bc)
Ha a fordító az esetedben (inline) beágyazza a hex_to_cube és a cube_distance paramétereket, akkor a következő kódot generálja:

Függvény hex_távolság(a, b): visszatérés (abs(a.q - b.q) + abs(a.q + a.r - b.q - b.r) + abs(a.r - b.r)) / 2
A hatszögek közötti távolságok axiális koordinátákban való megírására sokféleképpen van lehetőség, de függetlenül attól, hogy hogyan írjuk a hatszögek közötti távolság axiális rendszerben a Manhattan távolságból származik a köbös rendszerben. Például a leírt "különbségek különbségét" úgy kapjuk meg, hogy a.q + a.r - b.q - b.r a.q - b.q + a.r - b.r alakban írjuk le, és a kocka_távolság felezési alak helyett a maximális érték alakot használjuk. Mindegyik hasonló, ha a köbös koordinátákkal látja a kapcsolatot.

Eltolási koordináták

Az axiális koordinátákhoz hasonlóan az eltolási koordinátákat köbkoordinátákká alakítjuk, majd a köbös távolságot használjuk.

Függvény offset_distance(a, b): var ac = offset_to_cube(a) var bc = offset_to_cube(b) return cube_distance(ac, bc)
Sok algoritmushoz ugyanazt a mintát fogjuk használni: hatszögekből kockákká alakítunk, futtassuk az algoritmus köbös változatát, és konvertáljuk a kockás eredményeket hatszög koordinátákká (axiális vagy eltolási koordinátákká).

Vonal rajzolás

Hogyan húzzunk vonalat az egyik hatszögből a másikba? Lineáris interpolációt használok vonalak rajzolásához. Az egyenest egyenletesen mintavételezzük N+1 ponton, és kiszámítjuk, hogy ezek a minták mely hatszögekben helyezkednek el.

gif


  1. Először kiszámítjuk N , ami a végpontok közötti távolság hatszögben.
  2. Ezután egyenletesen mintát veszünk N+1 pontot az A és B pontok között. Lineáris interpolációval meghatározzuk, hogy 0-tól N-ig terjedő i értékekre, beleértve ezeket is, minden pont A + (B - A) * 1,0/N * én . Az ábrán ezek a vezérlőpontok kék színnel vannak feltüntetve. Az eredmény a lebegőpontos koordináták.
  3. Minden vezérlőpontot (lebegőt) alakítson vissza hatszögekké (int). Az algoritmus neve cube_round (lásd alább).
Mindent összekapcsolva egy vonalat húzunk A-ból B-be:

lerp(a, b, t) függvény: // úszók esetén a + (b - a) * t függvény cube_lerp(a, b, t): // hatszögeknél visszaadja Cube(lerp(ax, bx, t), lerp(ay, by, t), lerp(az, bz, t)) függvény cube_linedraw(a, b): var N = kocka_távolság(a, b) var results = minden 0 ≤ i ≤ N: results.append( cube_round(cube_lerp(a, b, 1.0/N * i))) eredményeket ad vissza
Megjegyzések:

  • Vannak esetek, amikor a cube_lerp pontosan a két hatszög közötti élen lévő pontot ad vissza. Ezután a cube_round eltolja az egyik vagy a másik oldalra. A vonalak jobban néznek ki, ha egy irányba tolják el őket. Ezt úgy teheti meg, hogy a ciklus elindítása előtt hozzáad egy "epsilon" hexadecimális kockát (1e-6, 1e-6, -2e-6) az egyik vagy mindkét végponthoz. Ez egy irányba "löki" a vonalat, hogy ne érje el a peremhatárokat.
  • A DDA-vonal algoritmus négyzetrácsokban N-t egyenlő az egyes tengelyek mentén mért maximális távolsággal. Ugyanezt tesszük a köbös térben, ami analóg a távolsággal egy hatszögrácsban.
  • A cube_lerp függvénynek egy lebegési koordinátákkal rendelkező kockát kell visszaadnia. Ha statikusan beírt nyelven programoz, nem fogja tudni használni a kocka típust. Ehelyett meghatározhat egy FloatCube típust, vagy beillesztheti a (inline) függvényt a vonalrajzi kódba, ha nem akar további típust meghatározni.
  • A kódot úgy optimalizálhatja, hogy beilleszti (inline) cube_lerp-t, majd kiszámítja a B.x-A.x , B.x-A.y és 1.0/N értékeket a cikluson kívül. A szorzás átváltható ismételt összegzéssé. Az eredmény valami olyan, mint egy DDA-vonal algoritmus.
  • A vonalak rajzolásához axiális vagy kockakoordinátákat használok, de ha eltolási koordinátákkal szeretne dolgozni, nézze meg a .
  • Számos lehetőség van a vonalak rajzolására. Néha „átfestésre” van szükség. Elküldték nekem a kódot az átfestett vonalak hatszögben történő rajzolásához, de még nem néztem bele.

utazási tartomány

Koordináta tartomány

Ha adott egy hatszög középpontja és N tartománya, mely hatszögek vannak N lépésen belül?

A hatszög távolság képletből visszafelé dolgozhatunk távolság = max(abs(dx), abs(dy), abs(dz)) . Ahhoz, hogy megtaláljuk az összes hatszöget N-en belül, max(abs(dx), abs(dy), abs(dz)) ≤ N . Ez azt jelenti, hogy mindhárom értékre szükség van: abs(dx) ≤ N és abs(dy) ≤ N és abs(dz) ≤ N . Az abszolút érték eltávolításával -N ≤ dx ≤ N és -N ≤ dy ≤ N és -N ≤ dz ≤ N. A kódban ez egy beágyazott ciklus lesz:

Var eredmények = minden -N ≤ dx ≤ N: minden -N ≤ dy ≤ N: minden -N ≤ dz ≤ N: if dx + dy + dz = 0: results.append(cube_add(center, Cube(dx) , dy, dz)))
Ez a hurok működni fog, de nem lesz hatékony. A ciklusban iterált dz összes értéke közül csak egy felel meg a dx + dy + dz = 0 kockák feltételének. Ehelyett közvetlenül kiszámoljuk a dz értékét, amely megfelel a feltételnek:

var eredmények = mindegyik -N ≤ dx ≤ N: minden max(-N, -dx-N) ≤ dy ≤ min(N, -dx+N): var dz = -dx-dy eredmények.append(cube_add( középpont, kocka(dx, dy, dz)))
Ez a hurok csak a szükséges koordinátákon megy keresztül. Az ábrán minden tartomány egy vonalpár. Minden sor egyenlőtlenség. Vegyünk minden hatszöget, amely kielégíti a hat egyenlőtlenséget.

gif


Átfedő tartományok

Ha több tartományban lévő hatszöget kell találnia, akkor a hatszögek listájának létrehozása előtt bejárhatja a tartományokat.

Ezt a problémát meg lehet közelíteni az algebra vagy a geometria felől is. Algebrailag minden terület -N ≤ dx ≤ N alakú egyenlőtlenségi feltételként van kifejezve, és meg kell találnunk e feltételek metszéspontját. Geometriailag minden terület egy kocka a 3D-s térben, és két kockát metszünk a 3D-s térben, hogy egy téglatestet kapjunk a 3D-s térben. Ezután visszavetítjük az x + y + z = 0 síkra, hogy megkapjuk a hatszögeket. Ezt a feladatot algebrai úton fogom megoldani.

Először is átírjuk a -N ≤ dx ≤ N feltételt általánosabb formában x min ≤ x ≤ x max , és vegyük x min = középpont.x - N és x max = középpont.x + N . Tegyük meg ugyanezt y és z esetén is, így általános képet kapunk az előző rész kódjáról:

Var eredmények = minden xmin ≤ x ≤ xmax: minden max(ymin, -x-zmax) ≤ y ≤ min(ymax, -x-zmin): var z = -xy eredmények. append(Cube(x, y, z))
Két a ≤ x ≤ b és c ≤ x ≤ d tartomány metszéspontja max(a, c) ≤ x ≤ min(b, d) . Mivel a hatszögek területe x , y , z feletti tartományokban van kifejezve, az x , y , z tartományok mindegyikét külön-külön metszhetjük, majd egy beágyazott hurok segítségével létrehozhatjuk a metszéspontban lévő hatszögek listáját. A hatszögek egy területére x min = H.x - N és x max = H.x + N , hasonlóan y és z esetén. Két hatszög terület metszéspontjához vegyük x min = max(H1.x - N, H2.x - N) és x max = min(H1.x + N, H2.x + N), hasonlóan y ill. z . Ugyanez a minta működik három vagy több régió metszéspontjában.

gif


Akadályok

Akadályok jelenlétében a legegyszerűbb távolságkorlátozással kitölteni (szélesség-első keresés). Az alábbi ábrán négy lépésre korlátozzuk magunkat. A kódban a fringes[k] az összes hatszögből álló tömb, amely k lépésben elérhető. A főhurokon minden egyes áthaladáskor a k-1 szintet k szinttel bővítjük.

Függvény cube_reachable(start, mozgás): var visited = set() add start a látogatotthoz var fringes = fringes.append() minden 1-hez< k ≤ movement: fringes.append() for each cube in fringes: for each 0 ≤ dir < 6: var neighbor = cube_neighbor(cube, dir) if neighbor not in visited, not blocked: add neighbor to visited fringes[k].append(neighbor) return visited

fordul

Adott egy hatszögvektor (két hatszög különbsége), előfordulhat, hogy el kell forgatnunk, hogy egy másik hatszögre mutassunk. Ezt köbös koordinátákkal könnyű megtenni, ha ragaszkodunk az 1/6-os elforgatáshoz.

60°-kal jobbra forgatva minden koordináta egy pozícióval jobbra tolódik:

[x, y, z] - [-z, -x, -y]
60°-kal balra forgatva minden koordináta egy pozícióval balra tolódik:

[x, y, z] - [-y, -z, -x]



"Játszva" [az eredeti cikkben] a diagrammal, láthatja, hogy minden fordulat 60 ° -kal változtatások jeleket és fizikailag "forgatni" a koordinátákat. 120°-os elforgatás után a jelek ismét ugyanazok. A 180°-os elforgatás megfordítja az előjeleket, de a koordináták az eredeti helyzetükbe kerülnek.

Íme a P pozíció C középpont körüli elforgatásának teljes sorozata, ami egy új R pozíciót eredményez:

  1. P és C pozíciók konvertálása köbös koordinátákká.
  2. Vektor kiszámítása a középpont kivonásával: P_-ból_C = P - C = Kocka(P.x - C.x, P.y - C.y, P.z - C.z) .
  3. A P_from_C vektor elforgatása a fent leírtak szerint, és a kapott vektorhoz R_from_C jelölést rendelünk.
  4. Vektor visszakonvertálása pozícióba egy középpont hozzáadásával: R = R_C-ből + C = Kocka(R_C.x + C.x, R_C.y_ból + C.y, R_C.z_ból + C.z) .
  5. Az R köbös pozíció visszaalakítása a kívánt koordináta-rendszerbe.
Az átalakításnak több szakasza van, de mindegyik meglehetősen egyszerű. Lehetőség van ezen lépések egy részének lerövidítésére, ha az elforgatást közvetlenül axiális koordinátákban határozzuk meg, de a hatszögvektorok nem működnek eltolási koordinátákkal, és nem tudom, hogyan lehetne lerövidíteni az eltolási koordináták lépéseit. Tekintse meg a stackexchange forgatási számítási módjairól szóló vitát is.

Gyűrűk

egyszerű gyűrű

Annak megállapításához, hogy egy adott hatszög egy adott sugarú sugarú gyűrűhöz tartozik-e, ki kell számítania a távolságot ettől a hatszögtől a középpontig, és meg kell találnia, hogy egyenlő-e a sugárral. Az összes ilyen hatszög listájának megtekintéséhez sugárlépéseket kell tennie a középponttól, majd követnie kell az elforgatott vektorokat a gyűrű mentén.

Függvény cube_ring(center, sugar): var results = # ez a kód nem működik sugár == 0 esetén; érted miért? var kocka = kocka_add(közép, kocka_skálája(kocka_irány(4), sugár)) minden 0 ≤ i< 6: for each 0 ≤ j < radius: results.append(cube) cube = cube_neighbor(cube, i) return results
Ebben a kódban a kocka a gyűrűnél kezdődik, amely egy nagy nyílként jelenik meg a diagram közepétől a sarkáig. A 4-es szöget választottam kezdésnek, mert ez megfelel annak az útnak, amelyen az irányszámaim haladnak. Eltérő kezdőszögre lehet szüksége. A belső hurok minden szakaszában a kocka egy hatszöget mozgat a gyűrű körül. 6 * sugarú lépés után oda ér, ahol indult.


spirális gyűrűk

A gyűrűkön spirálisan végigsétálva kitölthetjük a gyűrűk belsejét:

Függvény kocka_spirál(közép, sugár): var eredmények = minden 1 ≤ k ≤ sugár esetén: eredmények = eredmények + kocka_gyűrű(közép, k) eredményt ad vissza



A nagy hatszög területe egyenlő az összes kör összegével plusz 1 a középponthoz. Használja ezt a képletet a terület kiszámításához.

A hatszögek ilyen módon történő bejárása a mozgási tartomány kiszámításához is használható (lásd fent).

Láthatósági terület

Mi látható adott pozícióból adott távolsággal, és nem akadályozzák meg? A legegyszerűbb módja definiálja - húzzon egy vonalat az adott tartomány minden hatszögéhez. Ha a vonal nem találkozik a falakkal, akkor egy hatszöget lát. Vigye az egeret a hatszögekre [az eredeti cikk diagramján], hogy megtekinthesse a hatszögekhez húzott vonalakat és a falakat, amelyekkel a vonalak találkoznak.

Ez az algoritmus nagy területeken lassú lehet, de könnyen megvalósítható, ezért javaslom, hogy kezdje vele.

gif



A láthatóságnak sokféle meghatározása létezik. Szeretné látni egy másik hatszög közepét az eredeti középpontjától? Szeretné látni egy másik hatszög bármely részét a kezdeti oldal közepétől? Esetleg egy másik hatszög bármely része bármely kiindulási pontból? Az akadályok kisebbek egy teljes hatszögnél? A hatókör trükkösebb és változatosabb fogalom, mint amilyennek látszik. Kezdjük a legegyszerűbb algoritmussal, de várjuk el, hogy helyesen számítsa ki a választ a projektben. Vannak olyan esetek is, amikor egy egyszerű algoritmus logikátlan eredményt ad.

Ezt az útmutatót szeretném tovább bővíteni. Nekem van

Tartalom:

A szabályos hatszögnek, amelyet tökéletes hatszögnek is neveznek, hat egyenlő oldala és hat egyenlő szöge van. Hatszöget rajzolhatsz mérőszalaggal és szögmérővel, durva hatszöget kerek tárggyal és vonalzóval, vagy még durvább hatszöget csak ceruzával és egy kis intuícióval. Ha szeretné tudni, hogyan kell hatszöget rajzolni különböző módokon, csak olvasson tovább.

Lépések

1. Rajzolj egy tökéletes hatszöget iránytűvel

  1. 1 Rajzolj kört egy iránytű segítségével. Helyezze be a ceruzát az iránytűbe. Bontsa ki az iránytűt a kör sugarának kívánt szélességére. A sugár néhány centimétertől több tíz centiméterig terjedhet. Ezután tegyen egy iránytűt ceruzával a papírra, és rajzoljon egy kört.
    • Néha könnyebb először megrajzolni a kör felét, majd a másik felét.
  2. 2 Vigye az iránytűt a kör széléhez. Tedd a kör tetejére. Ne változtassa meg az iránytű szögét és helyzetét.
  3. 3 Tegyen egy kis ceruzával jelet a kör szélére. Tegye világossá, de ne túl sötét, mert később törölni fogja. Ne felejtse el menteni az iránytűnél beállított szöget.
  4. 4 Mozgassa az iránytűt az imént készített jelre.Állítsa a tűt egyenesen a jelre.
  5. 5 Egy ceruzával készítsen egy újabb jelölést a kör szélére.Így egy második jelölést fog tenni bizonyos távolságra az első jeltől. Haladjon tovább egy irányba.
  6. 6 Ugyanígy készítsen további négy jelet. Vissza kell térnie az eredeti jelhez. Ha nem, akkor valószínűleg megváltozott az a szög, amelyben az iránytűt tartotta és a jeleket tette. Talán ez annak köszönhető, hogy túl erősen megnyomta, vagy éppen ellenkezőleg, kissé meglazította.
  7. 7 Kösse össze a jeleket vonalzóval. Az a hat hely, ahol a jeleid metszik a kör élét, a hatszög hat csúcsa. Vonalzó és ceruza segítségével rajzoljon egyenes vonalakat, amelyek összekötik a szomszédos jeleket.
  8. 8 Törölje mind a kört, mind a kör szélein lévő jeleket és minden más jelölést. Miután törölte az összes vezetővonalat, a tökéletes hatszögnek készen kell lennie.

2 Rajzolj egy durva hatszöget egy kerek tárggyal és egy vonalzóval

  1. 1 Karikázzuk be ceruzával az üveg peremét.Így kört fog rajzolni. Nagyon fontos, hogy ceruzával rajzoljon, mert később törölnie kell az összes segédvonalat. Karikázhatsz egy fejjel lefelé fordított poharat, tégelyt vagy bármi mást, aminek kerek az alapja.
  2. 2 Rajzolj vízszintes vonalakat a köröd közepén. Használhatsz vonalzót, könyvet, bármit, aminek egyenes éle van. Ha van vonalzója, a közepét megjelölheti úgy, hogy kiszámítja a kör függőleges hosszát, és felosztja.
  3. 3 Rajzolj egy "X"-et a félkörre, osztva hat egyenlő részre. Mivel már húzott egy vonalat a kör közepén, az X-nek szélesebbnek kell lennie, mint a magassága, hogy a részek egyenlőek legyenek. Képzelje el, hogy egy pizzát hat részre oszt.
  4. 4 Készítsen háromszöget minden szakaszból. Ehhez a vonalzóval rajzoljon egy egyenes vonalat az egyes szakaszok ívelt része alá, és összekapcsolja azt a másik két vonallal, hogy háromszöget alkosson. Tegye ezt a maradék öt résszel. Gondoljon rá úgy, mintha a pizzaszeletek köré készítené a kérget.
  5. 5 Törölje az összes segédvonalat. A segédvonalak közé tartozik a kör, a három vonal, amely a kört szakaszokra osztotta, és az út során tett egyéb jelek.

3 Rajzoljon egy durva hatszöget egy ceruzával

  1. 1 Rajzolj egy vízszintes vonalat. Ha vonalzó nélküli egyenes vonalat szeretne rajzolni, egyszerűen rajzolja meg a vízszintes vonal kezdő- és végpontját. Ezután helyezze a ceruzát a kiindulási pontra, és húzza ki a vonalat a végéig. Ennek a vonalnak a hossza csak néhány centiméter lehet.
  2. 2 Húzzon két átlós vonalat a vízszintes végeiből. A bal oldali átlós vonalnak ugyanúgy kifelé kell mutatnia, mint a jobb oldali átlós vonalnak. Elképzelhető, hogy ezek a vonalak 120 fokos szöget zárnak be a vízszintes vonalhoz képest.
  3. 3 Rajzoljon még két vízszintes vonalat az első befelé húzott vízszintes vonalakból. Ezzel az első két átlós vonal tükörképe jön létre. A bal alsó vonalnak a bal felső, a jobb alsó vonalnak pedig a jobb felső vonalnak kell lennie. Míg a felső vízszintes vonalak kifelé nézzenek, az alsó vonalak befelé nézzenek az alap felé.
  4. 4 Rajzoljon egy másik vízszintes vonalat, amely összeköti az alsó két átlós vonalat.Így megrajzolhatja a hatszög alapját. Ideális esetben ennek a vonalnak párhuzamosnak kell lennie a felső vízszintes vonallal. Itt befejezted a hatszöget.
  • A ceruzának és az iránytűnek élesnek kell lennie, hogy minimalizálja a túl széles jelekből származó hibákat.
  • Ha az iránytű módszernél a hat helyett minden jelet csatlakoztatott, egyenlő oldalú háromszöget kap.

Figyelmeztetések

  • Az iránytű meglehetősen éles tárgy, legyen vele nagyon óvatos.

Működés elve

  • Mindegyik módszer segít megrajzolni egy hatszöget, amelyet hat egyenlő oldalú háromszög alkot, hosszával egyenlő minden oldalról. A hat rajzolt sugár azonos hosszúságú, és a hatszöget létrehozó összes vonal is azonos hosszúságú, mivel az iránytű szélessége nem változott. Tekintettel arra, hogy a hat háromszög egyenlő oldalú, a csúcsaik közötti szögek 60 fokosak.

Mire lesz szüksége

  • Papír
  • Ceruza
  • Vonalzó
  • Iránytű pár
  • Valami, amit a papír alá lehet tenni, hogy ne csússzon el az iránytű tűje.
  • Radír

A geometriai minták nagyon népszerűek Utóbbi időben. A mai leckében megtanuljuk, hogyan kell létrehozni egy ilyen mintát. Az átmenet, a tipográfia és a divatos színek felhasználásával olyan mintát készítünk, amelyet web- és nyomdatervezésben is használhat.

Eredmény

2. lépés
Rajzoljon egy másik hatszöget, ezúttal kisebbet – válasszon egy sugarat 20 pont.

2. Átmenet a hatszögek között

1. lépés
Válassza ki mindkét hatszöget, és igazítsa őket középre (függőlegesen és vízszintesen). Az eszköz használata Keverés/átmenet (W), válassza ki mindkét hatszöget, és állítsa át őket ide 6 lépés. A könnyebb áttekintés érdekében változtassa meg az alakzatok színét az átmenet előtt.

3. Oszd fel részekre

1. lépés
Eszköz Vonalszakasz (\) húzz egy vonalat, amely keresztezi a hatszögeket középen a bal szélső saroktól a jobb szélig. Rajzolj még két, a hatszöget keresztező vonalat az ellentétes sarkokból középre.

4. A metszetek átfestése

1. lépés
Mielőtt elkezdenénk festeni a metszeteket, határozzuk meg a palettát. Íme a paletta a példából:

  • Kék: C 65 M 23 Y 35 K 0
  • Bézs: C 13 M 13 Y 30 K 0
  • Őszibarack: C 0 M 32 Y 54 K 0
  • Világos rózsaszín: C 0 M 64 Y 42 K 0
  • Sötét rózsaszín: C 30 M 79 Y 36 K 4

A példa azonnal a CMYK módot használta, hogy a mintát módosítás nélkül ki lehessen nyomtatni.

5. Utósimítások és minta

1. lépés
Csoport (Control-G) minden szakaszt és hatszöget, miután végzett a színezésükkel. Másolás (Control-C)És Beillesztés (Control-V) hatszögek csoportja. Nevezzük el az eredeti csoportot Hatszög A,és annak másolata Hatszög B. Állítsa össze a csoportokat.


2. lépés
Alkalmaz Lineáris Gradiens a csoporthoz Hatszög B. A palettán Gradiens / Gradiens adjon meg egy kitöltést lilától ( C60 M86 Y45 K42) krémszínűre ( C0 M13 Y57 K0).

Tanuljuk meg, hogyan rajzoljunk hatszögletű prizmát különböző pozíciókban.

Ismerje meg a szabályos hatszög építésének különböző módjait, készítsen rajzokat a hatszögekről, ellenőrizze felépítésük helyességét. A hatszögek alapján építsünk hatszögletű prizmákat.

Tekintsük a hatszögletű prizmát az ábrán. ábrán látható 3.52 és annak ortogonális vetületei. 3.53. A hatszögletű prizma (hexaéder) alján szabályos hatszögek találhatók, az oldallapok pedig egyforma téglalapok. A hatszög perspektivikus helyes ábrázolásához először meg kell tanulnia, hogyan kell helyesen ábrázolni az alapját perspektívában (3.54. ábra). ábrán látható hatszögben. 3,55 a csúcsok egytől hatig vannak számozva. Ha az 1. és 3., 4. és 6. pontot függőleges vonalakkal köti össze, észre fogja venni, hogy ezek a vonalak a kör középpontjával együtt az 5-2 átmérőt négy egyenlő szegmensre osztják (ezeket a szakaszokat ívek jelzik ). A hatszög ellentétes oldalai párhuzamosak egymással, és egy egyenes halad át a középpontján, és összeköt két csúcsot (például a 6 - 1 és a 4 - 3 oldalak párhuzamosak az 5 - 2 egyenessel). Ezek a megfigyelések segítenek egy hatszög perspektivikus felépítésében, és ellenőrizni fogják ennek a konstrukciónak a helyességét. Kétféleképpen lehet szabályos hatszöget alkotni egy ábrázolásból: a körülírt kör és a négyzet alapján.

A körülírt kör alapján. Tekintsük az ábrát. 3.56. A szabályos hatszög minden csúcsa a körülírt körhöz tartozik, amelynek sugara megegyezik a hatszög oldalával.


Vízszintes hatszög. Rajzolj egy tetszőleges nyílással rendelkező vízszintes ellipszist, azaz egy körülírt kört perspektívában. Most meg kell találni rajta hat pontot, amelyek a hatszög csúcsai. Rajzolja át az adott kör tetszőleges átmérőjét a középpontján (3.57. ábra). Az átmérő - 5 és 2 - szélső pontjai, amelyek az ellipszisen fekszenek, a hatszög csúcsai. A fennmaradó csúcsok megtalálásához ezt az átmérőt négy azonos szegmensre kell osztani. Az átmérőt a kör középpontja már két sugárra osztja, továbbra is minden sugarat fel kell osztani. Egy perspektivikus rajzon mind a négy szegmens egyenletesen összehúzódik, ahogy távolodnak a nézőtől (3.58. ábra). Most húzzon át a sugarak felezőpontjain - A és B ponton - az 5 - 2 egyenesre merőleges egyeneseket. Ezek irányát az 5. és 2. pontban lévő ellipszis érintőivel találhatja meg (3.59. ábra). Ezek az érintők merőlegesek lesznek az 5 - 2 átmérőre, és az A és B pontokon keresztül ezekkel az érintőkkel párhuzamosan húzott egyenesek szintén merőlegesek lesznek az 5 - 2 egyenesre. Jelölje meg az ezen egyenesek és az ellipszis metszéspontjában kapott pontokat a következőképpen: 1, 3, 4, 6 (3.60. ábra). Kösd össze mind a hat csúcsot egyenesekkel (3.61. ábra).

Ellenőrizze, hogy megfelelő-e a felépítése különböző utak. Ha a konstrukció helyes, akkor a hatszög ellentétes csúcsait összekötő egyenesek a kör középpontjában metszik egymást (3.62. ábra), a hatszög szemközti oldalai pedig párhuzamosak a megfelelő átmérőkkel (3.63. ábra). Egy másik ellenőrzési módszer látható az ábrán. 3.64.

Függőleges hatszög. Egy ilyen hatszögben a 7. és 3., b és 4. pontot összekötő vonalak, valamint az 5. és 2. pontban a körülírt kör érintői függőleges irányúak, és megtartják a perspektivikus rajzban. Így az ellipszis két függőleges érintőjét húzva megtaláljuk az 5. és 2. pontot (érintési pontokat). Kösse össze őket egy egyenes vonallal, majd ossza fel a kapott 5 - 2 átmérőt 4 egyenlő szegmensre, figyelembe véve a perspektivikus vágásokat (3.65. ábra). Húzzon függőleges vonalakat az A és B pontokon, és az ellipszissel való metszéspontjuknál keresse meg az 1,3,6l4 pontokat. Ezután egymás után kösse össze az 1-6 pontokat egyenes vonalakkal (3.66. ábra). Ellenőrizze a hatszög felépítésének helyességét az előző példához hasonlóan.

A hatszög felépítésének leírt módszere lehetővé teszi, hogy ezt az ábrát egy kör alapján kapja meg, amelyet könnyebb perspektivikusan ábrázolni, mint egy adott arányú négyzetet. Ezért Ily módon hatszög építése tűnik a legpontosabbnak és legsokoldalúbbnak. A négyzetre épülő építési mód megkönnyíti a hatszög ábrázolását abban az esetben, ha az ábrán már van kocka, vagyis amikor a négyzet arányai és oldalainak iránya meg van határozva.

Négyzet alapú. Tekintsük az ábrát. 3.67. A négyzetbe vízszintes irányban 5 - 2 írt hatszög egyenlő a négyzet oldalával, függőlegesen pedig kisebb a hosszánál.

Függőleges hatszög. Rajzolj egy függőleges négyzetet perspektivikusan. Rajzoljon egy egyenest az átlók metszéspontján, párhuzamosan annak vízszintes oldalaival. Osszuk fel a kapott 5 - 2 szakaszt négy egyenlő részre, és húzzunk függőleges vonalakat az A és B pontokon keresztül (3.68. ábra). A hatszöget felülről és alulról határoló vonalak nem esnek egybe a négyzet oldalaival. Rajzolja meg őket bizonyos távolságra (1114 a) a négyzet vízszintes oldalaitól és párhuzamosan velük. Az így talált 1. és 3. pontot a 2. ponttal, a 6. és 4. pontot az 5. ponttal összekötve hatszöget kapunk (3.69. ábra).

A vízszintes hatszög ugyanabban a sorrendben épül fel (3.70. és 3.71. ábra).

Ez az építési mód csak a megfelelő nyílású hatszögeknél megfelelő. Ha a hatszög nyílása jelentéktelen, akkor célszerű a körülírt körön alapuló módszert alkalmazni. A négyzeten keresztül épített hatszög ellenőrzéséhez használhatja a már ismert módszereket.

Ezen kívül van még egy - a kapott hatszög körüli kör leírására (az ábrán egy ellipszis). A hatszög minden csúcsának ehhez az ellipszishez kell tartoznia.

Miután elsajátította a hatszög rajzolásának készségeit, szabadon folytathatja a hatszögletű prizma rajzolását. Figyelmesen nézze meg az ábrán látható diagramot. 3.72, valamint a körülírt kör alapján (3.73. ábra; 3.74. és 3.75. ábra) és négyzet alapján (3.76. ábra; 3.77. és 3.78. ábra) a hatszögletű prizmák felépítésére szolgáló sémák. Különböző módon rajzoljon függőleges és vízszintes hatszögeket. Függőleges hatszög rajzán az oldallapok hosszú oldalai egymással párhuzamos függőleges vonalak, az alap hatszög pedig annál nyitottabb, minél távolabb van a horizontvonaltól. A vízszintes hatszög rajzánál az oldallapok hosszú oldalai a horizont eltűnési pontján összefolynak, és az alap hatszög nyílása annál nagyobb lesz, minél távolabb van a nézőtől. Hatszög ábrázolásakor ügyeljen arra is, hogy mindkét alap párhuzamos oldala perspektivikusan konvergáljon (3.79. ábra; 3.80. ábra).

A geometriai konstrukciók a tanulás egyik fő részét képezik. Térbeli és logikai gondolkodást alakítanak ki, és lehetővé teszik a primitív és természetes geometriai érvényesség megértését is. Az építményeket síkon készítik iránytű és vonalzó segítségével. Ezekkel az eszközökkel nagyszámú geometriai alakzatot hozhat létre. Ugyanakkor sok, meglehetősen nehéznek tűnő figura a legegyszerűbb szabályok szerint épül fel. Tegyük fel, hogyan építsünk igazi hatszöget, néhány szóban leírhatjuk mindegyiket.

Szükséged lesz

  • Iránytű, vonalzó, ceruza, papírlap.

Utasítás

1. Rajzolj egy kört. Állítson be némi távolságot az iránytű lábai között. Ez a távolság a kör sugara lesz. Olyan sugarat válasszon, hogy a kör rajzolása meglehetősen kényelmes legyen. A körnek teljesen rá kell férnie a papírlapra. Túl nagy vagy túl kis távolság az iránytű lábai között megváltozhat a rajzolás során. Az optimális távolság az lesz, amikor az iránytű lábai közötti szög 15-30 fok.

2. Szerkessze meg egy szabályos hatszög sarkainak csúcspontjait! Állítsa az iránytű lábát, amelyben a tű rögzítve van, a kör bármely pontjára. A tűnek át kell szúrnia a húzott vonalat. Minél helyesebben van beállítva az iránytű, annál helyesebb lesz a felépítés. Rajzolj egy körívet úgy, hogy az metszi az előzőleg megrajzolt kört. Mozgassa az iránytűt az éppen megrajzolt ív és a kör metszéspontjához. Rajzolj egy másik ívet, amely metszi a kört. Mozgassa ismét az iránytűt az ív és a kör metszéspontjához, és rajzolja meg újra az ívet. Ismételje meg ezt a műveletet még háromszor, ugyanabba az irányba haladva a kör körül. Mindegyiknek hat ívnek és hat metszéspontnak kell lennie.

3. Szerkesszünk pozitív hatszöget. Fokozatosan kombinálja az ívek mind a hat metszéspontját az eredetileg rajzolt körrel. Kösd össze a pontokat vonalzóval és ceruzával húzott egyenes vonalakkal. A végrehajtott műveletek után egy valódi hatszöget kapunk, amely egy körbe van írva.

hatszög Egy sokszögnek hat szöge és hat oldala van. A sokszögek konvexek és homorúak is. Konvex hatszögben minden belső szög tompa, konkávban egy vagy több szög hegyesszögű. A hatszöget meglehetősen könnyű megépíteni. Ez néhány lépésben történik.

Szükséged lesz

  • Ceruza, papírlap, vonalzó

Utasítás

1. Előveszünk egy papírlapot, és hozzávetőleg 6 pontot jelölünk rá, ahogy az ábra mutatja. egy.

2. Később a pontok kijelölése után vonalzót, ceruzát veszünk, és ezek segítségével fokozatosan, egymás után összekapcsolják a pontokat, ahogy az az ábrán látható. 2.

Kapcsolódó videók

Jegyzet!
A hatszög összes belső szögének összege 720 fok.

Hatszög egy sokszög, amelynek hat sarka van. Egy tetszőleges hatszög rajzolásához minden 2 lépést meg kell tennie.

Szükséged lesz

  • Ceruza, vonalzó, papírlap.

Utasítás

1. A kezébe kell vennie egy ceruzát, és meg kell jelölnie 6 tetszőleges pontot a lapon. A jövőben ezek a pontok a sarkok szerepét töltik be a hatszögben. (1. ábra)

2. Vegyünk egy vonalzót, és rajzoljunk ezekre a pontokra 6 szegmenst, amelyek az előzőleg megrajzolt pontokban kapcsolódnának egymáshoz (2. ábra)

Kapcsolódó videók

Jegyzet!
A hatszög speciális típusa a pozitív hatszög. Azért nevezik ilyennek, mert minden oldala és szöge egyenlő egymással. Egy ilyen hatszög köré kört lehet leírni vagy beírni. Érdemes megjegyezni, hogy azokban a pontokban, amelyeket a beírt kör és a hatszög oldalainak megérintésével kapunk, a pozitív hatszög oldalai ketté vannak osztva.

Hasznos tanácsok
A természetben a pozitív hatszögek nagyon népszerűek. Például az egész méhsejt pozitív hatszögletű. Vagy kristály cella a grafén (a szén egy módosulása) szintén pozitív hatszög alakú.

Hogyan neveljük egyiket vagy másikat injekció nagy kérdés. De bizonyos szempontból a feladat láthatatlanul leegyszerűsödik. Ezen szögek egyike az injekció 30 fokon. Ez egyenlő? / 6-tal, vagyis a 30-as szám osztója 180-nak. Ráadásul a szinusza ismert. Ez segít a felépítésében.

Szükséged lesz

  • szögmérő, négyzet, körző, vonalzó

Utasítás

1. Először is gondoljon egy különösen primitív beállításra, amikor szögmérő van a kezében. Ezután az ehhez képest 30 fokos szöget bezáró egyenes vonal könnyen elhalasztható a támogatással.

2. A szögmérő mellett vannak injekció sarkok, amelyek egyik szöge 30 fokkal egyenlő. Aztán egy másik injekció injekció a szög 60 fokkal lesz egyenlő, vagyis vizuálisan kisebbre van szüksége injekció a szükséges vonal megépítéséhez.

3. Most térjünk át a 30 fokos szög felépítésének nem triviális módjaira. Mint tudják, a 30 fokos szög szinusza 1/2. Az építkezéshez egyenesen kell építkeznünk injekció th tri injekció nik. Talán építhetünk két merőleges egyenest. De a 30 fokos érintő irracionális szám, így a lábak közötti arányt csak hozzávetőlegesen tudjuk kiszámítani (csak akkor, ha nincs számológép), és ezért építeni injekció körülbelül 30 fok.

4. Ebben az esetben is lehet pontos konstrukciót készíteni. Ismét felemelünk két merőleges vonalat, amelyeken a lábak közvetlenül lesznek injekció tre injekció nika. Tegyünk félre egy bizonyos hosszúságú egyenes BC lábat egy iránytű segítségével (B egy egyenes injekció). Ezt követően 2-szeresére növeljük az iránytű lábai közötti hosszt, ami elemi. Ekkora sugarú kört rajzolva a C pont középpontjába, megtaláljuk a kör metszéspontját egy másik egyenessel. Ez a pont egyenes A pont lesz injekció tre injekció ABC, és injekció A 30 fokkal lesz egyenlő.

5. Egyenesen injekció 30 fokban megengedett és a kör alátámasztásával, azzal, hogy mi egyenlő?/6. Építsünk egy OB sugarú kört. Tekintsük az elméletben injekció kör, ahol OA = OB = R a kör sugara, ahol injekció OAB = 30 fok. Legyen OE ennek az egyenlő szárú háromszögnek a magassága injekció nika, és ebből következően a felező és a medián. Azután injekció AOE = 15 fok, és a félszög képlet szerint sin(15o) = (sqrt(3)-1)/(2*sqrt(2)), ezért AE = R*sin(15o). Otsel, AB = 2AE = 2R*sin(15o). Építve egy BA sugarú kört, amelynek középpontja a B pontban van, megtaláljuk ennek a körnek az A metszéspontját a kezdeti körrel. Az AOB szög 30 fok lesz.

6. Ha az ívek hosszát valamilyen módon meg tudjuk határozni, akkor az ?*R/6 hosszúságú ívet félretéve azt is kapjuk, hogy injekció 30 fokon.

Jegyzet!
Emlékeztetni kell arra, hogy az 5. bekezdésben csak közelíthetünk egy szöget, mert irracionális számok jelennek meg a számításokban.

hatszög A sokszög speciális esetének nevezik - egy zárt vonallánc által határolt sík pontjainak többségéből alkotott alakot. A pozitív hatszög (hatszög) viszont szintén egy speciális eset - ez egy sokszög hat egyenlő oldallal és egyenlő szögekkel. Ez az ábra annyiban jelentős, hogy minden oldalának hossza megegyezik az ábra körül leírt kör sugarával.

Szükséged lesz

  • - iránytű;
  • - vonalzó;
  • - ceruza;
  • - papír.

Utasítás

1. Válassza ki a hatszög oldalának hosszát. Vegyen egy iránytűt, és állítsa be a távolságot a tű egyik lábán található vége és a másik lábán lévő ceruza vége között, és egyenlő legyen a rajzolt ábra oldalának hosszával. Ehhez használhat vonalzót vagy véletlenszerű távolságot, ha ez a pillanat nem jelentős. Rögzítse az iránytű lábait csavarral, ha lehetséges.

2. Rajzolj kört körzővel. A lábak közötti távolság a kör sugara lesz.

3. Osszuk a pontokkal ellátott kört hat egyenlő részre. Ezek a pontok lesznek a hatszög sarkainak csúcsai, és ennek megfelelően az oldalait képviselő szakaszok végei.

4. Állítsa az iránytű lábát a tűvel egy tetszőleges pontra, amely a körvonalazott kör vonalán található. A tűnek megfelelően át kell szúrnia a vonalat. A szerkezetek pontossága közvetlenül függ az iránytű felszerelésének pontosságától. Rajzolj körzővel egy ívet úgy, hogy az 2 pontban metszi az előbb megrajzolt kört.

5. Mozgassa az iránytű lábát a tűvel a megrajzolt ív egyik metszéspontjához az eredeti körrel. Rajzolj egy másik ívet, amely szintén 2 pontban metszi a kört (az egyik egybeesik az iránytű előző helyének pontjával).

6. Ugyanígy rendezze át az iránytűt, és rajzoljon íveket még négyszer. Mozgassa az iránytű lábát a tűvel egy irányba a kerület mentén (mindig az óramutató járásával megegyező vagy ellentétes irányba). Ennek eredményeként az íveknek hat metszéspontját kell azonosítani az eredetileg megszerkesztett körrel.

7. Rajzolj egy pozitív hatszöget. Lépésenként páronként egyesítse az előző lépésben kapott hat pontot szegmensekkel. Rajzolj vonalszakaszokat ceruzával és vonalzóval. Az eredmény egy igazi hatszög lesz. Később a konstrukció megvalósítása lehetővé teszi a segédelemek (ívek és körök) törlését.

Jegyzet!
Célszerű olyan távolságot választani az iránytű lábai között, hogy a köztük lévő szög 15-30 fok legyen, éppen ellenkezőleg, építkezéseknél ez a távolság könnyen eltévedhet.

Lakástervezési tervek építése vagy kidolgozása során gyakran építésre van szükség injekció, megegyezik a meglévővel. A minták és az iskolai geometriai ismeretek támogatják.

Utasítás

1. Szöget képez két, ugyanabból a pontból kiinduló egyenes. Ezt a pontot a sarok csúcsának nevezzük, a vonalak pedig a sarok oldalai.

2. Használjon három betűt a sarkok jelölésére: egy felül, kettő az oldalakon. hívják injekció, kezdve az egyik oldalon álló betűvel, majd a felül álló betűt hívják, utána pedig a másik oldalon álló betűt. Használjon más módszereket a sarkok megjelölésére, ha kényelmesebben érzi magát szemben. Alkalmanként csak egy betűt hívnak meg, ami a tetején van. És megengedett a szögek kijelölése görög betűkkel, mondjuk α, β, γ.

3. Vannak helyzetek, amikor rajzolni kell injekció hogy egyenlő legyen az adott szöggel. Ha nincs valószínűsége szögmérő használatának rajz készítésekor, akkor ezt csak vonalzóval és körzővel szabad megtenni. Lehetséges, hogy a rajzon MN betűkkel jelzett egyenesen kell építeni injekció a K pontban úgy, hogy egyenlő legyen a B szöggel. Vagyis a K pontból egy egyenest kell húzni, amely az MN egyenessel alkot injekció, amelyik egyenlő lesz a B szöggel.

4. Először ennek a saroknak a teljes oldalán jelöljünk ki egy pontot, mondjuk az A és C pontot, majd kössük össze a C és A pontot egy egyenessel. Get tre injekció nik ABC.

5. Most állítsa be ugyanazt a hármat az MN egyenesen injekció hogy a B csúcsa a K pontban lévő egyenesen legyen. Használja a szabályt a háromszög megalkotására injekció nika három oldalról. Tegye félre a KL szakaszt a K pontból. Egyenlőnek kell lennie a BC szegmenssel. Szerezd meg az L pontot.

6. A K pontból rajzoljunk egy kört, amelynek sugara megegyezik a BA szakasszal. L-ből rajzoljunk CA sugarú kört. 2 kör metszéspontjának eredményül kapott pontját (P) kombináld K-val. Kapj egy tri-t injekció nick KPL, amelyik egyenlő lesz a tre-vel injekció niku ABC. Szóval megkapod injekció K. Egyenlő lesz a B szöggel. Annak érdekében, hogy kényelmesebbé és gyorsabbá tegyük ezt a konstrukciót, tegyünk félre egyenlő szakaszokat a B csúcsból, egyetlen iránytű megoldással, a lábak mozgatása nélkül írjuk le a kört azonos sugarú K pontból.

Kapcsolódó videók

Jegyzet!
Kerülje el az iránytű lábai közötti távolság véletlen metamorfózisát. Ebben az esetben előfordulhat, hogy a hatszög rossz.

Hasznos tanácsok
A konstrukciókat célszerű egy tökéletesen kihegyezett tollal ellátott iránytű segítségével készíteni. Így a konstrukciók különösen pontosak lesznek.