Dažās spēlēs tiek izmantoti sešstūra režģi (sešstūra režģi), taču tie nav tik vienkārši vai izplatīti kā taisnstūra režģi. Es esmu apkopojis resursus par sešstūra sietu gandrīz 20 gadus, un es uzrakstīju šo rokasgrāmatu par elegantākajām pieejām, kas ieviestas vienkāršākajā kodā. Šajā rakstā plaši izmantotas Čārlza Fu un Klārka Verbrudža rokasgrāmatas. Es aprakstīšu dažādus sešstūra tīklu veidošanas veidus, to attiecības un visbiežāk izmantotos algoritmus. Daudzas šī raksta daļas ir interaktīvas: izvēloties režģa veidu, tiek mainītas atbilstošās diagrammas, kods un teksti. (Piezīme per.: tas attiecas tikai uz oriģinālu, iesaku to izpētīt. Tulkojumā tiek saglabāta visa oriģināla informācija, bet bez interaktivitātes.).
Rakstā iekļautie kodu piemēri ir rakstīti pseidokodā, tāpēc tos ir vieglāk lasīt un saprast, lai varētu izveidot savu implementāciju.
Sešstūri ar plakanām (pa kreisi) un asām (labajām) virsotnēm
Sešstūriem ir 6 skaldnes. Katra seja ir kopīga diviem sešstūriem. Sešstūriem ir 6 stūra punkti. Katrs stūra punkts ir kopīgs trim sešstūriem. Vairāk par centriem, malām un stūra punktiem varat lasīt manā rakstā par sieta daļām (kvadrātiem, sešstūriem un trīsstūriem).
Funkcija hex_corner(center, size, i): var leņķis_deg = 60 * i + 30 var leņķis_rad = PI / 180 * leņķa_grāds return Point(centrs.x + izmērs * cos(leņķis_rad), centrs.y + izmērs * sin(leņķa_rad) )
Lai aizpildītu sešstūri, jums jāiegūst daudzstūra virsotnes no hex_corner(…, 0) līdz hex_corner(…, 5). Lai uzzīmētu sešstūra kontūru, jāizmanto šīs virsotnes un pēc tam vēlreiz jānovelk līnija hex_corner(..., 0) .
Atšķirība starp abām orientācijām ir tāda, ka x un y tiek apmainīti, kā rezultātā mainās leņķi: sešstūriem ar plakanu augšdaļu ir leņķi 0°, 60°, 120°, 180°, 240°, 300° un ar smailo augšdaļu. sešstūriem ir 30°, 90°, 150°, 210°, 270°, 330° leņķi.
Sešstūru stūri ar plakanām un asām virsotnēm
Sešstūra platums platums = sqrt(3)/2 * augstums . Horizontālais attālums starp blakus esošajiem sešstūriem ir horizonts = platums.
Dažās spēlēs sešstūriem tiek izmantots pikseļu attēls, kas precīzi neatbilst parastajiem sešstūriem. Šajā sadaļā aprakstītās leņķa un izvietojuma formulas neatbilst šādu sešstūru izmēriem. Pārējā raksta daļa, kurā aprakstīti sešstūra tīkla acs algoritmi, ir spēkā pat tad, ja sešstūri ir nedaudz izstiepti vai saspiesti.
Horizontālais izvietojums "nepāra-r"
Horizontālais izvietojums “vienmērīgs-r”
Vertikāls "nepāra-q" izvietojums
Vertikālais izvietojums “vienmērīgs-q”
Ņemsim kubu režģi un izgriezīsim to diagonālā plakne pie x + y + z = 0. Šī ir dīvaina ideja, taču tā palīdzēs mums vienkāršot sešstūra tīkla algoritmus. Jo īpaši varēsim izmantot standarta darbības no Dekarta koordinātām: koordinātu summēšanu un atņemšanu, reizināšanu un dalīšanu ar skalāru lielumu, kā arī attālumus.
Ievērojiet trīs galvenās asis kubu režģī un to saistību ar sešām diagonāli sešstūra režģa virzieni. Režģa diagonālās asis atbilst sešstūra režģa galvenajam virzienam.
Tā kā mums jau ir algoritmi kvadrātveida un kuba acīm, kubisko koordinātu izmantošana ļauj pielāgot šos algoritmus sešstūra acīm. Es izmantošu šo sistēmu lielākajai daļai raksta algoritmu. Lai izmantotu algoritmus ar citu koordinātu sistēmu, es konvertēju kubiskās koordinātas, izpildu algoritmu un pēc tam konvertēju tās atpakaļ.
Uzziniet, kā darbojas kubiskās koordinātas sešstūra tīklam. Atlasot sešstūrus, tiek izceltas kubiskās koordinātas, kas atbilst trim asīm.
Tur ir daudz dažādas sistēmas kubu un sešstūru koordinātas. Dažos no tiem nosacījums atšķiras no x + y + z = 0. Es parādīju tikai vienu no daudzajām sistēmām. Varat arī izveidot kubiskās koordinātas ar x-y , y-z , z-x , kurām ir savs interesantu īpašību kopums, bet es šeit neiedziļināšos.
Bet jūs varētu iebilst, ka nevēlaties saglabāt 3 skaitļus koordinātām, jo jūs nezināt, kā saglabāt karti šādā veidā.
Ir daudz kubisko koordinātu sistēmu un daudzas aksiālās. Šajā rokasgrāmatā es neapskatīšu visas kombinācijas. Es atlasīšu divus mainīgos, q (kolonna) un r (rinda). Šī raksta diagrammās q atbilst x un r atbilst z, taču šī atbilstība ir patvaļīga, jo varat pagriezt un pagriezt diagrammas, lai iegūtu dažādas atbilstības.
Šīs sistēmas priekšrocība salīdzinājumā ar pārvietošanas režģiem ir tā, ka algoritmi ir saprotamāki. Sistēmas mīnuss ir tāds, ka taisnstūrveida kartes glabāšana ir nedaudz dīvaina; skatiet sadaļu par karšu saglabāšanu. Daži algoritmi ir vēl skaidrāki kubiskajās koordinātēs, taču, tā kā mums ir nosacījums x + y + z = 0, mēs varam aprēķināt trešo netiešo koordinātu un izmantot to šajos algoritmos. Savos projektos es saucu asis q, r, s, tāpēc nosacījums izskatās kā q + r + s = 0, un es varu aprēķināt s = -q - r, kad nepieciešams.
Ass ir virziens, kurā pieaug atbilstošā koordināte. Perpendikulāra asij ir līnija, uz kuras koordinātas paliek nemainīgas. Iepriekš redzamās režģa diagrammas parāda perpendikulāras līnijas.
Aksiālās koordinātas ir cieši saistītas ar kubiskajām koordinātām, tāpēc pārveidošana ir vienkārša:
# pārvērst kubiskās koordinātas aksiālās koordinātes q = x r = z # konvertēt aksiālās koordinātas kubiskajās koordinātes x = q z = r y = -x-z
Kodā šīs divas funkcijas var uzrakstīt šādi:
Funkcija cube_to_hex(h): # aksiālā var q = h.x var r = h.z return Hex(q, r) funkcija hex_to_cube(h): # kub.var x = h.q var z = h.r var y = -x-z return Cube(x, y) , z)
Nobīdes koordinātas ir nedaudz sarežģītākas:
Var virzieni = [ Kubs(+1, -1, 0), Kubs(+1, 0, -1), Kubs(0, +1, -1), Kubs(-1, +1, 0), Kubs( -1, 0, +1), Cube(0, -1, +1) ] funkcija cube_direction(direction): atgriešanās virzieni funkcija cube_neighbor(hex, direction): return cube_add(hex, cube_direction(direction))
Var virzieni = [ Hex(+1, 0), Hex(+1, -1), Hex(0, -1), Hex(-1, 0), Hex(-1, +1), Hex(0, +1) ] funkcija hex_direction(direction): atgriešanās virzieni funkcija hex_neighbor(hex, direction): var dir = hex_direction(direction) return Hex(hex.q + dir.q, hex.r + dir.r)
Tāpat kā iepriekš, mēs izveidojam skaitļu tabulu, kas jāpievieno kolonnai un rindai . Tomēr šoreiz mums būs divi masīvi, viens nepāra kolonnām/rindām un otrs pāra kolonnām/rindām. Apskatiet (1,1) iepriekš redzamajā režģa kartes attēlā un ievērojiet, kā mainās kolonna un rinda, pārvietojoties katrā no sešiem virzieniem. Tagad atkārtosim procesu ar (2,2) . Tabulas un kods būs atšķirīgi katram no četriem pārvietošanas režģu veidiem. Šeit ir katram tīkla veidam atbilstošais kods.
Odd-r
vari virzieni = [ [ 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) ] ] funkcija offset_neighbor(hex, direction): var parity = hex.row & 1 var dir = virzieni return Hex(hex.col + dir.col, hex.row + dir.row)
Even-r
vari virzieni = [ [ 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) ] ] funkcija offset_neighbor(hex, direction): var parity = hex.row & 1 var dir = virzieni return Hex(hex.col + dir.col, hex.row + dir.row)
Režģis pāra (PĀRĀ) un nepāra (ODD) rindām
Nepāra q
vari virzieni = [ [ 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) ] ] funkcija offset_neighbor(hex, direction): var parity = hex.col & 1 var dir = virzieni return Hex(hex.col + dir.col, hex.row + dir.row)
Pat-q
vari virzieni = [ [ 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) ] ] funkcija offset_neighbor(hex, direction): var parity = hex.col & 1 var dir = virzieni return Hex(hex.col + dir.col, hex.row + dir.row)
Režģis pāra (PĀRĀ) un nepāra (ODD) kolonnām
Var diagonāles = [ Kubs(+2, -1, -1), Kubs(+1, +1, -2), Kubs(-1, +2, -1), Kubs(-2, +1, +1 ), Cube(-1, -1, +2), Cube(+1, -2, +1) ] funkcija cube_diagonal_neighbor(hex, direction): return cube_add(hex, diagonals)
Tāpat kā iepriekš, mēs varam pārvērst šīs koordinātas par aksiālām koordinātām, nometot vienu no trim koordinātām, vai pārvērst tās par nobīdes koordinātām, vispirms aprēķinot rezultātus.
Funkcija cube_distance(a, b): atgriešanās (abs(a.x - b.x) + abs(a.y - b.y) + abs(a.z - b.z)) / 2
Šī apzīmējuma ekvivalents būtu teikt, ka vienai no trim koordinātām ir jābūt pārējo divu summu summai, un pēc tam ņemt to par attālumu. Tālāk varat izvēlēties pusi sadalīšanas formu vai maksimālās vērtības formu, taču tās dod tādu pašu rezultātu:
Funkcija cube_distance(a, b): atgriešanās maks.(abs(a.x - b.x), abs(a.y - b.y), abs(a.z - b.z))
Attēlā maksimālās vērtības ir izceltas krāsā. Ņemiet vērā arī to, ka katra krāsa apzīmē vienu no sešiem "diagonāles" virzieniem.
GIF
Funkcija hex_distance(a, b): var ac = hex_to_cube(a) var bc = hex_to_cube(b) return cube_distance(ac, bc)
Ja jūsu gadījumā kompilators inline (inline) hex_to_cube un cube_distance, tas ģenerēs šādu kodu:
Funkcija hex_distance(a, b): atgriešanās (abs(a.q - b.q) + abs(a.q + a.r - b.q - b.r) + abs(a.r - b.r)) / 2
Ir daudz dažādu veidu, kā ierakstīt attālumus starp sešstūriem aksiālās koordinātēs, taču neatkarīgi no rakstīšanas metodes attālums starp sešstūriem aksiālajā sistēmā tiek iegūts no Manhetenas attāluma kubiskajā sistēmā. Piemēram, aprakstīto "atšķirību starpību" iegūst, rakstot a.q + a.r - b.q - b.r kā a.q - b.q + a.r - b.r un sadalīšanas formas kuba_attālums vietā izmantojot maksimālās vērtības formu. Tie visi ir līdzīgi, ja redzat saikni ar kubiskām koordinātām.
Funkcija offset_distance(a, b): var ac = nobīde_uz kubu(a) var bc = nobīde_kubam(b) return cube_distance(ac, bc)
Mēs izmantosim to pašu modeli daudziem algoritmiem: konvertējiet no sešstūriem kubos, palaidiet algoritma kubisko versiju un pārveidosim kubiskos rezultātus sešstūra koordinātēs (aksiālās vai nobīdes koordinātēs).
GIF
Funkcija lerp(a, b, t): // pludiņa atgriešanai a + (b - a) * t funkcija cube_lerp(a, b, t): // sešstūriem atgriež Cube(lerp(a.x, b.x, t), lerp(a.y, b.y, t), lerp(a.z, b.z, t)) funkcija cube_linedraw(a, b): var N = cube_distance(a, b) var rezultāti = katram 0 ≤ i ≤ N: results.append( cube_round(cube_lerp(a, b, 1.0/N * i))) atgriež rezultātus
Piezīmes:
Mēs varam izdarīt apgriezto no attāluma formulas starp sešstūriem attālums = max(abs(dx), abs(dy), abs(dz)) . Lai atrastu visus sešstūrus N robežās, mums ir nepieciešams max(abs(dx), abs(dy), abs(dz)) ≤ N . Tas nozīmē, ka ir vajadzīgas visas trīs vērtības: abs(dx) ≤ N un abs(dy) ≤ N un abs(dz) ≤ N . Noņemot absolūto vērtību, iegūstam -N ≤ dx ≤ N un -N ≤ dy ≤ N un -N ≤ dz ≤ N . Kodā tā būs ligzdota cilpa:
Var rezultāti = katram -N ≤ dx ≤ N: katram -N ≤ dy ≤ N: katram -N ≤ dz ≤ N: ja dx + dy + dz = 0: rezultāti.append(cube_add(centrs, Cube(dx) , dy, dz)))
Šis cikls darbosies, taču tas būs diezgan neefektīvs. No visām dz vērtībām, kurām mēs cilpa, tikai viena faktiski atbilst kuba nosacījumam dx + dy + dz = 0. Tā vietā mēs tieši aprēķināsim dz vērtību, kas atbilst nosacījumam:
Var rezultāti = katram -N ≤ dx ≤ N: katram max(-N, -dx-N) ≤ dy ≤ min(N, -dx+N): var dz = -dx-dy rezultāti.append(cube_add( centrs, kubs(dx, dy, dz)))
Šis cikls iet tikai pa nepieciešamajām koordinātām. Attēlā katrs diapazons ir līniju pāris. Katra rinda ir nevienlīdzība. Mēs ņemam visus sešstūrus, kas atbilst sešām nevienādībām.
GIF
Šai problēmai var pieiet no algebras vai ģeometrijas viedokļa. Algebriski katrs apgabals tiek izteikts kā nevienlīdzības nosacījumi formā -N ≤ dx ≤ N , un mums ir jāatrod šo nosacījumu krustpunkts. Ģeometriski katrs apgabals ir kubs 3D telpā, un mēs krustosim divus kubus 3D telpā, lai iegūtu kuboīdu 3D telpā. Pēc tam mēs to projicējam atpakaļ uz x + y + z = 0 plakni, lai iegūtu sešstūrus. Es atrisināšu šo uzdevumu algebriski.
Vispirms mēs pārrakstām nosacījumu -N ≤ dx ≤ N vispārīgākā formā x min ≤ x ≤ x max , un ņemam x min = centrs.x - N un x max = centrs.x + N . Darīsim to pašu ar y un z, iegūstot iepriekšējās sadaļas koda vispārējo formu:
Var rezultāti = katram xmin ≤ x ≤ xmax: katram max(ymin, -x-zmax) ≤ y ≤ min(ymax, -x-zmin): var z = -x-y rezultāti.append(Cube(x, y, z))
Divu diapazonu a ≤ x ≤ b un c ≤ x ≤ d krustpunkts ir max(a, c) ≤ x ≤ min(b, d) . Tā kā sešstūru laukums ir izteikts kā diapazoni virs x, y, z, mēs varam krustot katru no diapazoniem x, y, z atsevišķi un pēc tam izmantot ligzdotu cilpu, lai izveidotu sešstūru sarakstu krustojumā. Vienam sešstūru laukumam mēs ņemam x min = H.x - N un x max = H.x + N , līdzīgi y un z . Divu sešstūra apgabalu krustpunktam mēs ņemam x min = max(H1.x - N, H2.x - N) un x max = min (H1.x + N, H2.x + N), līdzīgi y un z . Tas pats modelis darbojas trīs vai vairāku apgabalu krustojumā.
GIF
Funkcija cube_reachable(sākums, kustība): var apmeklētais = set() pievienot sākumu apmeklētajam var fringes = fringes.append() katram 1< 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
60° pagriešana pa labi pārvieto katru koordinātu par vienu pozīciju pa labi:
[x, y, z] līdz [-z, -x, -y]
60° pagriešana pa kreisi pārvieto katru koordinātu par vienu pozīciju pa kreisi:
[x, y, z] līdz [-y, -z, -x]
Šeit ir redzama pilnīga pozīcijas P rotācijas secība ap centrālo pozīciju C, kā rezultātā tiek iegūta jauna pozīcija R:
Funkcija cube_ring(centrs, rādiuss): var rezultāti = # šis kods nedarbojas rādiusam == 0; saproti kāpēc? var kubs = kubs_pievienot(centrs, kuba_mērogs(kuba_virziens(4), rādiuss)) katram 0 ≤ i< 6:
for each 0 ≤ j < radius:
results.append(cube)
cube = cube_neighbor(cube, i)
return results
Šajā kodā kubs sākas ar gredzenu, kas parādīts ar lielu bultiņu no diagrammas centra līdz stūrim. Sākumā es izvēlējos leņķi 4, jo tas atbilst ceļam, pa kuru virzās mani virzienu numuri. Jums var būt nepieciešams cits sākuma leņķis. Katrā iekšējās cilpas posmā kubs pārvieto vienu sešstūri ap gredzenu. Pēc 6 * rādiusa soļiem viņš nonāk tur, kur sāka.
Funkcija cube_spiral(centrs, rādiuss): var rezultāti = katram 1 ≤ k ≤ rādiuss: rezultāti = rezultāti + cube_ring(centrs, k) atgriež rezultātus
Šādā veidā šķērsojot sešstūrus, var arī aprēķināt kustības diapazonu (skatīt iepriekš).
Šis algoritms var būt lēns lielos apgabalos, taču to ir viegli ieviest, tāpēc iesaku sākt ar to.
GIF
Nākotnē vēlos paplašināt šo rokasgrāmatu. man ir
Saturs:
Parastajam sešstūrim, ko sauc arī par perfektu sešstūri, ir sešas vienādas malas un seši vienādi leņķi. Jūs varat uzzīmēt sešstūri ar mērlenti un transportieri, aptuvenu sešstūri ar apaļu priekšmetu un lineālu vai vēl rupjāku sešstūri, izmantojot tikai zīmuli un nelielu intuīciju. Ja vēlaties uzzināt, kā uzzīmēt sešstūri Dažādi ceļi- vienkārši lasiet tālāk.
Ģeometriskie raksti ir ļoti populāri Nesen. Šodienas nodarbībā mēs uzzināsim, kā izveidot kādu no šiem modeļiem. Izmantojot pāreju, tipogrāfiju un modernas krāsas, mēs izveidosim rakstu, ko varēsiet izmantot tīmekļa un drukas dizainā.
2. darbība
Uzzīmējiet vēl vienu sešstūri, šoreiz mazāku — izvēlieties rādiusu 20pt.
1. darbība
Atlasiet abus sešstūrus un izlīdziniet tos centrā (vertikāli un horizontāli). Izmantojot rīku Sajaukšana/pāreja (W), atlasiet abus sešstūrus un piešķiriet tiem pāreju uz 6 soļi. Lai būtu vieglāk saskatīt, pirms pārvietošanas mainiet formu krāsu.
1. darbība
Rīks Līnijas segments (\) novelciet līniju, kas šķērso sešstūrus centrā no galējā kreisā stūra līdz galējam labajam stūrim. Uzzīmējiet vēl divas līnijas, kas šķērso sešstūrus centrā no pretējiem stūriem.
1. darbība
Pirms sākam krāsot sekcijas, pieņemsim lēmumu par paleti. Šeit ir palete no piemēra:
Piemērā nekavējoties tika izmantots CMYK režīms, lai rakstu varētu izdrukāt bez izmaiņām.
1. darbība
Grupa (Control-G) visas sadaļas un sešstūri pēc tam, kad esat pabeidzis to krāsošanu. Kopēt (Control-C) Un Ielīmēt (Control-V) sešstūru grupa. Nosauksim sākotnējo grupu Sešstūris A, un tā kopija Sešstūris B. Izlīdziniet grupas.
2. darbība
Pieteikties Lineārs gradients uz grupu Sešstūris B. Paletē Gradients iestatiet aizpildījumu uz purpursarkanu ( C60 M86 Y45 K42) līdz krēmkrāsai ( C0 M13 Y57 K0).
Mācīsimies uzzīmēt sešstūra prizmu dažādās pozīcijās.
Izpētiet dažādus regulāra sešstūra konstruēšanas veidus, veidojiet sešstūru rasējumus, pārbaudiet to konstrukcijas pareizību. Konstruējiet sešstūra prizmas, pamatojoties uz sešstūriem.
Apsveriet sešstūra prizmu attēlā. 3.52 un tā ortogonālās projekcijas att. 3.53. Sešstūra prizmas (sešstūra) pamatnē ir regulāri sešstūri, sānu malas ir identiski taisnstūri. Lai pareizi attēlotu sešstūri perspektīvā, vispirms jāiemācās pareizi attēlot tā pamatni perspektīvā (3.54. att.). Sešstūrī attēlā. 3,55 virsotnes ir apzīmētas ar cipariem no viena līdz sešiem. Ja savienojat punktus 1 un 3, 4 un 6 ar vertikālām taisnēm, pamanīsit, ka šīs taisnes kopā ar apļa centra punktu sadala diametru 5 - 2 četros vienādos segmentos (šie segmenti ir apzīmēti ar lokiem ). Sešstūra pretējās malas ir paralēlas viena otrai un līnijai, kas iet caur tā centru un savieno divas virsotnes (piemēram, malas 6 - 1 un 4 - 3 ir paralēlas līnijai 5 - 2). Šie novērojumi palīdzēs jums izveidot sešstūri perspektīvā, kā arī pārbaudīt šīs konstrukcijas pareizību. Būvēt regulārs sešstūris saskaņā ar attēlojumu ir divi veidi: pamatojoties uz ierobežotu apli un pamatojoties uz kvadrātu.
Pamatojoties uz ierobežotu apli. Apskatiet att. 3.56. Visas regulāra sešstūra virsotnes pieder apli, kura rādiuss ir vienāds ar sešstūra malu.
Horizontālais sešstūris. Uzzīmējiet horizontālu elipsi ar patvaļīgu atvērumu, t.i., perspektīvā norobežotu apli. Tagad uz tā jāatrod seši punkti, kas ir sešstūra virsotnes. Caur tā centru novelciet jebkuru dotā apļa diametru (3.57. att.). Diametra galējie punkti - 5 un 2, kas atrodas uz elipses, ir sešstūra virsotnes. Lai atrastu atlikušās virsotnes, šis diametrs ir jāsadala četros vienādos segmentos. Diametrs jau ir sadalīts ar apļa centra punktu divos rādiusos, atliek tikai sadalīt katru rādiusu uz pusēm. Perspektīvā zīmējumā visi četri segmenti vienmērīgi saraujas, attālinoties no skatītāja (3.58. att.). Tagad izvelciet cauri rādiusu viduspunktiem - punkti A un B - taisnas līnijas, kas ir perpendikulāras taisnei 5 - 2. To virzienu var atrast, izmantojot elipses pieskares punktos 5 un 2 (3.59. att.). Šīs pieskares būs perpendikulāras diametram 5 - 2, un līnijas, kas novilktas caur punktiem A un B paralēli šīm pieskarēm, arī būs perpendikulāras taisnei 5 - 2. Apzīmējiet punktus, kas iegūti šo līniju krustpunktā ar elipsi kā 1, 3, 4, 6 (3.60. att.). Savieno visas sešas virsotnes ar taisnēm (3.61. att.).
Pārbaudiet, vai konstrukcija ir pareiza Dažādi ceļi. Ja konstrukcija ir pareiza, tad taisnes, kas savieno sešstūra pretējās virsotnes, krustojas apļa centrā (3.62. att.), un sešstūra pretējās malas ir paralēlas atbilstošajiem diametriem (3.63. att.). Cita pārbaudes metode ir parādīta attēlā. 3.64.
Vertikāls sešstūris. Šādā sešstūrī taisnēm, kas savieno punktus 7 un 3, b un 4, kā arī ierobežotā apļa pieskares punktos 5 un 2, ir vertikāls virziens un tas tiek saglabāts perspektīvas zīmējumā. Tādējādi, novelkot divas elipses vertikālās pieskares, mēs atrodam punktus 5 un 2 (pieskares punktus). Savienojiet tos ar taisnu līniju un pēc tam sadaliet iegūto diametru 5 - 2 4 vienādos segmentos, ņemot vērā to perspektīvos samazinājumus (3.65. att.). Novelciet vertikālas līnijas caur punktiem A un B, un to krustpunktā ar elipsi atrodiet punktus 1,3,6l4. Pēc tam secīgi savienojiet punktus 1 - 6 ar taisnām līnijām (3.66. att.). Pārbaudiet sešstūra konstrukcijas pareizību tāpat kā iepriekšējā piemērā.
Aprakstītā sešstūra konstruēšanas metode ļauj iegūt šo skaitli, pamatojoties uz apli, kuru ir vieglāk attēlot perspektīvā nekā kvadrātu ar noteiktām proporcijām. Tāpēc šī metode sešstūra konstruēšana šķiet visprecīzākā un universālākā. Kvadrātveida konstrukcijas metode ļauj ērti attēlot sešstūri gadījumā, ja zīmējumā jau ir kubs, citiem vārdiem sakot, kad tiek noteiktas kvadrāta proporcijas un tā malu virziens.
Pamatojoties uz kvadrātu. Apskatiet att. 3.67. Kvadrātiņā ierakstīts sešstūris ir vienāds ar kvadrāta malu horizontālā virzienā 5 - 2 un mazāks par tā garumu vertikālā virzienā.
Vertikāls sešstūris. Uzzīmējiet vertikālu kvadrātu perspektīvā. Novelciet taisnu līniju caur diagonāļu krustpunktu paralēli tās horizontālajām malām. Sadaliet iegūto segmentu 5 - 2 četrās vienādās daļās un novelciet vertikālas līnijas caur punktiem A un B (3.68. att.). Līnijas, kas norobežo sešstūri augšā un apakšā, nesakrīt ar kvadrāta malām. Zīmējiet tos noteiktā attālumā (1114 a) no kvadrāta horizontālajām malām un paralēli tām. Savienojot šādā veidā atrastos punktus 1 un 3 ar punktu 2, bet punktus 6 un 4 ar punktu 5, iegūstam sešstūri (3.69. att.).
Tādā pašā secībā tiek uzbūvēts horizontāls sešstūris (3.70. un 3.71. att.).
Šī konstrukcijas metode ir piemērota tikai sešstūriem ar pietiekamu atvērumu. Ja sešstūra atvērums ir nenozīmīgs, labāk ir izmantot metodi, kuras pamatā ir ierobežots aplis. Lai pārbaudītu sešstūri, kas izveidots caur kvadrātu, varat izmantot jums jau zināmas metodes.
Turklāt ir vēl viens veids - aprakstīt apli ap iegūto sešstūri (jūsu zīmējumā - elipsi). Visām sešstūra virsotnēm ir jāpieder šai elipsei.
Kad būsiet apguvis sešstūra zīmēšanas prasmes, varēsiet brīvi pāriet uz sešstūra prizmas zīmēšanu. Uzmanīgi apskatiet diagrammu attēlā. 3.72, kā arī shēmas sešstūra prizmu konstruēšanai, pamatojoties uz ierobežotu apli (3.73. att.; 3.74. un 3.75. att.) un pamatojoties uz kvadrātu (3.76. att.; 3.77. un 3.78. att.). Zīmējiet vertikālos un horizontālos sešstūrus dažādos veidos. Vertikālā sešstūra zīmējumā sānu virsmu garās malas būs vertikālas taisnas līnijas, kas ir paralēlas viena otrai, un pamatnes sešstūris būs atvērtāks, jo tālāk tas atrodas no horizonta līnijas. Horizontāla sešstūra zīmējumā sānu virsmu garās malas saplūdīs pazušanas punktā pie horizonta, un pamata sešstūra atvērums būs lielāks, jo tālāk tas atrodas no skatītāja. Attēlojot sešstūri, arī jāpārliecinās, ka abu pamatu paralēlās malas perspektīvā saplūst (3.79. att.; 3.80.).
Ģeometriskās konstrukcijas ir viena no galvenajām apmācību daļām. Tie veido telpisko un loģisko domāšanu, kā arī ļauj izprast primitīvu un dabisku ģeometrisko derīgumu. Konstrukcijas tiek veidotas plaknē, izmantojot kompasu un lineālu. Šos rīkus var izmantot, lai izveidotu lielu skaitu ģeometriskās formas. Tajā pašā laikā daudzas figūras, kas šķiet diezgan sarežģītas, tiek konstruētas, izmantojot visvienkāršākos noteikumus. Piemēram, kā izveidot regulāru sešstūri, var aprakstīt dažos vārdos.
Jums būs nepieciešams
1. Uzzīmējiet apli. Iestatiet zināmu attālumu starp kompasa kājām. Šis attālums būs apļa rādiuss. Izvēlieties rādiusu tā, lai apļa zīmēšana būtu diezgan ērta. Aplim pilnībā jāietilpst uz papīra lapas. Pārāk liels vai pārāk liels neliels attālums starp kompasa kājām var izraisīt tā izmaiņas zīmēšanas laikā. Optimālais attālums būs tāds, kurā leņķis starp kompasa kājām ir 15-30 grādi.
2. Izveidojiet regulāra sešstūra stūru virsotnes punktus. Novietojiet kompasa kāju, kurā ir fiksēta adata, jebkurā apļa punktā. Adatai vajadzētu caurdurt novilkto līniju. Jo precīzāk ir uzstādīts kompass, jo precīzāka būs konstrukcija. Uzzīmējiet apļveida loku tā, lai tas krustotu iepriekš uzzīmēto apli. Pārvietojiet kompasa adatu uz tikko uzzīmētā loka krustošanās punktu ar apli. Uzzīmējiet vēl vienu loku, kas krusto apli. Atkal pārvietojiet kompasa adatu uz loka un apļa krustošanās punktu un vēlreiz uzzīmējiet loku. Atkārtojiet šo darbību vēl trīs reizes, virzoties vienā virzienā ap apli. Katram jābūt sešiem lokiem un sešiem krustošanās punktiem.
3. Izveidojiet pozitīvu sešstūri. Pakāpeniski apvienojiet visus sešus loku krustpunktus ar sākotnēji uzzīmēto apli. Savienojiet punktus ar taisnām līnijām, kas novilktas, izmantojot lineālu un zīmuli. Pēc šīm darbībām tiks iegūts pareizs sešstūris, kas ierakstīts aplī.
Sešstūris Tiek uzskatīts, ka daudzstūrim ir seši leņķi un sešas malas. Daudzstūri var būt izliekti vai ieliekti. Izliektam sešstūrim visi iekšējie leņķi ir neasi, savukārt ieliektam sešstūrim ir viens vai vairāki asi leņķi. Sešstūri ir diezgan viegli uzbūvēt. Tas tiek darīts pāris soļos.
Jums būs nepieciešams
1. Paņemiet papīra lapu un atzīmējiet uz tās aptuveni 6 punktus, kā parādīts attēlā. 1.
2. Kad punkti ir atzīmēti, paņemiet lineālu un zīmuli un ar to palīdzību soli pa solim vienu pēc otra savienojiet punktus, kā tas izskatās attēlā. 2.
Video par tēmu
Piezīme!
Visu sešstūra iekšējo leņķu summa ir 720 grādi.
Sešstūris ir daudzstūris, kuram ir seši leņķi. Lai uzzīmētu patvaļīgu sešstūri, jums ir jāveic 2 soļi katrā.
Jums būs nepieciešams
1. Rokā jāpaņem zīmulis un uz lapas jāatzīmē 6 nejauši punktiņi. Nākotnē šie punkti spēlēs stūru lomu sešstūrī. (1. att.)
2. Paņemiet lineālu un uz šiem punktiem uzzīmējiet 6 segmentus, kas savienotos viens ar otru pa iepriekš uzzīmētajiem punktiem (2. att.)
Video par tēmu
Piezīme!
Īpašs sešstūra veids ir pozitīvais sešstūris. To sauc par tādu, jo visas tās malas un leņķi ir vienādi viens ar otru. Jūs varat aprakstīt vai ierakstīt apli ap šādu sešstūri. Ir vērts atzīmēt, ka punktos, kas iegūti, pieskaroties ierakstītajam aplim un sešstūra malām, pozitīvā sešstūra malas tiek sadalītas uz pusēm.
Noderīgs padoms
Dabā pozitīvie sešstūri ir ļoti populāri. Piemēram, visai šūnveida struktūrai ir pozitīva sešstūra forma. Or kristāla šūna grafēnam (oglekļa modifikācija) ir arī pozitīva sešstūra forma.
Kā uzbūvēt vienu vai otru stūrī- liels jautājums. Bet dažiem leņķiem uzdevums ir nemanāmi vienkāršots. Viens no šiem leņķiem ir stūrī 30 grādos. Tas ir vienāds ar?/6, tas ir, skaitlis 30 ir dalītājs ar 180. Turklāt ir zināms tā sinuss. Tas palīdz tā konstrukcijā.
Jums būs nepieciešams
1. Pirmkārt, aplūkosim īpaši primitīvu situāciju, kad jūsu rokās ir transportieri. Pēc tam taisnu līniju 30 grādu leņķī pret to var viegli novietot malā ar atbalstu.
2. Papildus transportierim ir arī stūrī arkas, kuru viens no leņķiem ir vienāds ar 30 grādiem. Tad vēl viens stūrī stūrī leņķis būs vienāds ar 60 grādiem, tas ir, jums ir nepieciešams vizuāli mazāks stūrī lai izveidotu vajadzīgo taisni.
3. Tagad pāriesim pie netriviāliem veidiem, kā izveidot 30 grādu leņķi. Kā zināms, 30 grādu leņķa sinuss ir vienāds ar 1/2. Lai to izveidotu, mums ir jākonstruē tieši stūrī nacionālais stūrī nik. Iespējams, ka mēs varam izveidot divas perpendikulāras līnijas. Bet 30 grādu tangenss ir iracionāls skaitlis, tāpēc mēs varam tikai aptuveni aprēķināt attiecību starp kājām (tikai, ja nav kalkulatora), un tāpēc konstruēt stūrī aptuveni 30 grādi.
4. Šajā gadījumā ir iespējams veikt precīzu konstrukciju. Atkal izveidosim divas perpendikulāras taisnes, uz kurām kājas atradīsies taisni stūrī nogo stūrī nika. Noliksim vienu taisnu kāju BC noteiktā garumā ar kompasa atbalstu (B – taisni stūrī). Pēc tam mēs palielināsim garumu starp kompasa kājām 2 reizes, kas ir elementāri. Zīmējot apli ar centru C punktā ar šāda garuma rādiusu, mēs atrodam apļa krustošanās punktu ar citu taisni. Šis punkts būs tieši punkts A stūrī nogo stūrī ABC un stūrī A būs vienāds ar 30 grādiem.
5. Uzcelt stūrī pie 30 grādiem ir atļauts un ar apļa atbalstu, pieliekot ar ko tas ir vienāds ar?/6. Konstruēsim apli ar rādiusu OB. Apskatīsim teoriju stūrī nik, kur OA = OB = R – apļa rādiuss, kur stūrī OAB = 30 grādi. Lai OE ir šī vienādsānu trīsstūra augstums stūrī nik, un līdz ar to tā bisektrise un mediāna. Tad stūrī AOE = 15 grādi, un saskaņā ar pusleņķa formulu sin(15o) = (sqrt(3)-1)/(2*sqrt(2)). Līdz ar to AE = R*sin(15o). Tātad AB = 2AE = 2R*sin(15o). Konstruējot apli ar rādiusu BA ar centru punktā B, mēs atrodam šī apļa krustošanās punktu A ar sākotnējo. Leņķis AOB būs 30 grādi.
6. Ja varam kaut kādā veidā noteikt loku garumu, tad, atmetot garuma loku?*R/6, iegūstam arī stūrī 30 grādos.
Piezīme!
Jāatceras, ka 5. punktā leņķi varam konstruēt tikai aptuveni, jo aprēķinos parādīsies neracionāli skaitļi.
Sešstūris sauc par daudzstūra īpašo gadījumu - figūru, ko veido lielākā daļa plaknes punktu, ko ierobežo slēgta polilīnija. Savukārt pozitīvs sešstūris (hexagon) ir arī īpašs gadījums - tas ir daudzstūris ar sešiem vienādas puses un vienādi leņķi. Šis skaitlis ir nozīmīgs ar to, ka tā visu malu garums ir vienāds ar ap figūru aprakstītā apļa rādiusu.
Jums būs nepieciešams
1. Izvēlieties sešstūra sānu garumu. Paņemiet kompasu un iestatiet attālumu starp adatas galu, kas atrodas vienā no tās kājiņām, un vadu galu, kas atrodas otrā kājā, vienādu ar zīmējamās figūras malas garumu. Lai to izdarītu, varat izmantot lineālu vai izvēlēties nejaušu attālumu, ja šis brīdis nav nozīmīgs. Ja iespējams, nostipriniet kompasa kājas ar skrūvi.
2. Uzzīmējiet apli, izmantojot kompasu. Izvēlētais attālums starp kājām būs apļa rādiuss.
3. Sadaliet apli sešās vienādās daļās ar punktiem. Šie punkti būs sešstūra stūru virsotnes un attiecīgi segmentu gali, kas attēlo tā malas.
4. Novietojiet kompasa kāju ar adatu patvaļīgā punktā, kas atrodas uz iezīmētā apļa līnijas. Adatai pareizi vajadzētu caurdurt līniju. Konstrukcijas precizitāte tieši ir atkarīga no kompasa uzstādīšanas precizitātes. Novelciet loku ar kompasu tā, lai tas 2 punktos krustotu vispirms novilkto apli.
5. Pārvietojiet kompasa kāju ar adatu uz vienu no zīmētā loka krustošanās punktiem ar sākotnējo apli. Uzzīmējiet vēl vienu loku, arī krustojot apli 2 punktos (viens no tiem sakritīs ar kompasa adatas iepriekšējās atrašanās vietas punktu).
6. Tādā pašā veidā pārkārtojiet kompasa adatu un velciet lokus vēl četras reizes. Pārvietojiet kompasa kāju ar adatu vienā virzienā ap apli (vienmēr pulksteņrādītāja virzienā vai pretēji pulksteņrādītāja virzienam). Rezultātā ir jānosaka seši loku krustošanās punkti ar sākotnēji izveidoto apli.
7. Uzzīmējiet pozitīvu sešstūri. Pakāpeniski pa pāriem apvienojiet sešus iepriekšējā solī iegūtos punktus ar segmentiem. Zīmējiet segmentus, izmantojot zīmuli un lineālu. Rezultāts būs pareizs sešstūris. Pēc konstrukcijas pabeigšanas jūs varat izdzēst palīgelementus (lokus un apļus).
Piezīme!
Ir lietderīgi izvēlēties attālumu starp kompasa kājām, lai leņķis starp tiem būtu 15-30 grādi, gluži pretēji, veicot konstrukcijas, šis attālums var viegli pazust.
Būvējot vai izstrādājot mājas dizaina plānus, bieži vien ir nepieciešams būvēt stūrī, vienāds ar esošo. Paraugi un skolas ģeometrijas prasmes nāk palīgā.
1. Leņķi veido divas taisnas līnijas, kas izplūst no viena punkta. Šis punkts tiks saukts par leņķa virsotni, un līnijas būs leņķa malas.
2. Izmantojiet trīs burtus, lai attēlotu stūrus: vienu augšpusē, divus sānos. Zvanīja stūrī, sākot ar burtu, kas stāv vienā pusē, tad tiek saukts burts, kas stāv augšā, un pēc tam burts otrā pusē. Izmantojiet citas metodes stūru marķēšanai, ja jums ir ērtāk pretī. Reizēm tiek nosaukts tikai viens burts, kas atrodas augšpusē. Un leņķus ir atļauts apzīmēt ar grieķu burtiem, teiksim, α, β, γ.
3. Ir situācijas, kad vajag zīmēt stūrī, lai tas būtu vienāds ar doto leņķi. Ja, veidojot zīmējumu, nav iespēju izmantot transportieri, jūs varat iztikt tikai ar lineālu un kompasu. Iespējams, uz taisnes, kas zīmējumā norādīta ar burtiem MN, ir jābūvē stūrī punktā K, lai tas būtu vienāds ar leņķi B. Tas ir, no punkta K ir jānovelk taisna līnija, kas veido līniju MN stūrī, tas, kas būs vienāds ar leņķi B.
4. Vispirms atzīmējiet punktu visā dotā leņķa malā, teiksim, punktus A un C, pēc tam savienojiet punktus C un A ar taisnu līniju. Get tre stūrī nik ABC.
5. Tagad izveidojiet to pašu tre uz taisnes MN stūrī tā, lai tās virsotne B būtu uz taisnes punktā K. Izmantojiet trijstūra konstruēšanas noteikumu stūrī no trim pusēm. Noņemiet segmentu KL no punkta K. Tam jābūt vienādam ar segmentu BC. Iegūstiet L punktu.
6. No punkta K uzzīmējiet apli ar rādiusu, kas vienāds ar segmentu BA. No L uzzīmējiet apli ar rādiusu CA. Apvienojiet iegūto 2 apļu krustošanās punktu (P) ar K. Iegūstiet trīs stūrī nik KPL, tas, kas būs vienāds ar trīs stūrī ABC grāmata. Šādi jūs saņemat stūrī K. Tas būs vienāds ar leņķi B. Lai šo konstrukciju padarītu ērtāku un ātrāku, no virsotnes B izvelciet vienādus segmentus, izmantojot vienu kompasa risinājumu, nekustinot kājas, aprakstiet apli ar tādu pašu rādiusu no punkta K.
Video par tēmu
Piezīme!
Izvairieties no nejaušas attāluma maiņas starp kompasa kājām. Šajā gadījumā sešstūris var izrādīties nepareizs.
Noderīgs padoms
Viņam ir prasme veidot konstrukcijas, izmantojot kompasu ar perfekti uzasinātu vadu. Tādā veidā konstrukcijas būs īpaši precīzas.