Kompasdan istifadə edərək 6 kvadrat qurun. Adi altıbucaqlı necə qurulacaq. Məhdud dairə və konstruktivlik

Çoxbucaqlılar mövzusu məktəb proqramında nəzərdə tutulur, lakin buna kifayət qədər diqqət yetirilmir. Bu arada, maraqlıdır və bu, xüsusilə adi altıbucaqlı və ya altıbucaqlı üçün doğrudur - axırda bir çox təbii obyektlər bu forma malikdir. Bunlara bal pətəkləri və daha çox şey daxildir. Bu forma praktikada çox yaxşı işləyir.

Tərif və tikinti

Düzgün altıbucaqlı, altı tərəfi bərabər uzunluğa və eyni sayda bərabər bucaqlara malik olan müstəvi fiqurdur.

Çoxbucaqlının bucaqlarının cəminin düsturunu xatırlasaq

məlum olur ki, bu rəqəmdə 720°-yə bərabərdir. Yaxşı, fiqurun bütün bucaqları bərabər olduğundan, onların hər birinin 120 ° -ə bərabər olduğunu hesablamaq çətin deyil.

Altıbucaqlı çəkmək çox sadədir, sizə lazım olan tək şey kompas və hökmdardır.

Addım-addım təlimat bu kimi görünəcək:

İstəyirsinizsə, bərabər radiuslu beş dairə çəkərək xəttsiz edə bilərsiniz.

Beləliklə alınan rəqəm müntəzəm altıbucaqlı olacaq və bunu aşağıda sübut etmək olar.

Xüsusiyyətləri sadə və maraqlıdır

Müntəzəm altıbucağın xüsusiyyətlərini başa düşmək üçün onu altı üçbucağa bölmək məntiqlidir:

Bu, gələcəkdə xüsusiyyətlərini daha aydın göstərməyə kömək edəcək, bunlardan başlıcaları:

  1. dairəvi diametri;
  2. yazılmış dairənin diametri;
  3. kvadrat;
  4. perimetri.

Məhdud dairə və konstruktivlik

Bir altıbucaqlı ətrafında bir dairə təsvir edilə bilər və yalnız bir. Bu rəqəm müntəzəm olduğundan, bunu olduqca sadə edə bilərsiniz: içəridə iki bitişik küncdən bir bisektor çəkin. O nöqtəsində kəsişirlər və aralarındakı tərəflə birlikdə üçbucaq əmələ gətirirlər.

Altıbucaqlı tərəfi ilə bissektrisalar arasındakı bucaqlar 60° olacaq, buna görə də biz qəti şəkildə deyə bilərik ki, üçbucaq, məsələn, AOB ikitərəflidir. Üçüncü bucaq da 60°-yə bərabər olacağı üçün o da bərabərtərəflidir. Buradan belə çıxır ki, OA və OB seqmentləri bərabərdir, yəni onlar dairənin radiusu kimi xidmət edə bilər.

Bundan sonra, növbəti tərəfə keçə bilərsiniz, həmçinin C nöqtəsində bucaqdan bir bisektor çəkə bilərsiniz. Nəticə başqa bərabərtərəfli üçbucaq olacaq və AB tərəfi hər ikisi üçün ümumi olacaq və OS eyni dairənin keçdiyi növbəti radius olacaq. Ümumilikdə altı belə üçbucaq olacaq və onların O nöqtəsində ümumi təpəsi olacaq. Belə çıxır ki, çevrəni təsvir etmək mümkün olacaq və ondan yalnız biri var və onun radiusu tərəfinə bərabərdir. altıbucaqlı:

Məhz buna görə də kompas və hökmdardan istifadə edərək bu rəqəmi qurmaq mümkündür.

Yaxşı, bu dairənin sahəsi standart olacaq:

Yazılı dairə

Dairənin mərkəzi yazılmış dairənin mərkəzi ilə üst-üstə düşəcək. Bunu yoxlamaq üçün O nöqtəsindən altıbucaqlının yanlarına perpendikulyar çəkə bilərsiniz. Onlar altıbucaqlını təşkil edən üçbucaqların hündürlükləri olacaq. Və ikitərəfli üçbucaqda hündürlük dayandığı tərəfə görə ortadır. Beləliklə, bu hündürlük içə çəkilmiş dairənin radiusu olan perpendikulyar bisektordan başqa bir şey deyil.

Bərabər üçbucağın hündürlüyü sadə hesablanır:

h²=а²-(а/2)²= а²3/4, h=а(√3)/2

Və R=a və r=h olduğundan belə çıxır ki

r=R(√3)/2.

Beləliklə, dairəvi düz altıbucaqlının tərəflərinin mərkəzlərindən keçir.

Onun sahəsi olacaq:

S=3πa²/4,

yəni təsvir edilənin dörddə üçü.

Perimetr və sahə

Perimetrlə hər şey aydındır, bu, tərəflərin uzunluqlarının cəmidir:

P=6a, və ya P=6R

Lakin sahə altıbucaqlının bölünə biləcəyi bütün altı üçbucağın cəminə bərabər olacaq. Üçbucağın sahəsi təməlin və hündürlüyün məhsulunun yarısı kimi hesablandığı üçün:

S=6(а/2)(а(√3)/2)= 6а²(√3)/4=3а²(√3)/2 və ya

S=3R²(√3)/2

Bu sahəni yazılmış dairənin radiusu ilə hesablamaq istəyənlər bunu edə bilərlər:

S=3(2r/√3)²(√3)/2=r²(2√3)

Əyləncəli konstruksiyalar

Üçbucağı altıbucaqlıya yerləşdirə bilərsiniz, bunun tərəfləri təpələri birindən birləşdirəcək:

Onlardan cəmi ikisi olacaq və onların üst-üstə düşməsi Davud Ulduzunu verəcək. Bu üçbucaqların hər biri bərabərtərəflidir. Bunu yoxlamaq çətin deyil. AC tərəfinə baxsanız, o, eyni anda iki üçbucağa aiddir - BAC və AEC. Əgər onlardan birincisində AB = BC və aralarındakı bucaq 120° olarsa, qalanların hər biri 30° olacaqdır. Buradan məntiqi nəticələr çıxara bilərik:

  1. sin30°=1/2 olduğundan, B təpəsindən ABC hündürlüyü altıbucaqlı tərəfin yarısına bərabər olacaq. Bunu yoxlamaq istəyənlərə Pifaqor teoremindən istifadə edərək yenidən hesablamaları tövsiyə etmək olar; bu, buraya mükəmməl uyğun gəlir.
  2. AC tərəfi, eyni teoremdən istifadə edərək yenidən hesablanan, yazılmış dairənin iki radiusuna bərabər olacaqdır. Yəni AC=2(a(√3)/2)=a(√3).
  3. ABC, CDE və AEF üçbucaqları iki tərəfdə və aralarındakı bucaqda bərabərdir və buradan belə nəticə çıxır ki, AC, CE və EA tərəfləri bərabərdir.

Bir-birini kəsən üçbucaqlar yeni altıbucaqlı əmələ gətirir və o da nizamlıdır. Bu, sadəcə olaraq sübut olunur:

Beləliklə, rəqəm müntəzəm altıbucaqlının xüsusiyyətlərinə cavab verir - onun altı bərabər tərəfi və bucağı var. Təpələrdəki üçbucaqların bərabərliyindən yeni altıbucaqlının yan uzunluğunu asanlıqla çıxarmaq olar:

d=a(√3)/3

O, həmçinin onun ətrafında təsvir edilən dairənin radiusu olacaq. Yazılı radius ABC üçbucağını nəzərdən keçirərkən sübut edilmiş böyük altıbucaqlının tərəfinin yarısı qədər olacaq. Onun hündürlüyü tərəfin tam yarısıdır, buna görə də ikinci yarısı kiçik altıbucaqlıda yazılmış dairənin radiusudur:

r₂=a/2

S=(3(√3)/2)(а(√3)/3)²=а(√3)/2

Məlum olub ki, Davud Ulduzunun içindəki altıbucaqlının sahəsi ulduzun yazıldığı böyükdən üç dəfə kiçikdir.

Nəzəriyyədən praktikaya

Altıbucaqlının xüsusiyyətləri həm təbiətdə, həm də insan fəaliyyətinin müxtəlif sahələrində çox fəal şəkildə istifadə olunur. Əvvəla, bu, boltlar və qoz-fındıqlara aiddir - birinci və ikincinin başları adi altıbucaqlıdan başqa bir şey deyil, əgər paxları nəzərə almasanız. Açarların ölçüsü yazılmış dairənin diametrinə, yəni əks kənarlar arasındakı məsafəyə uyğundur.

Altıbucaqlı plitələr də öz tətbiqini tapdı. Dördbucaqlıdan daha az yayılmışdır, lakin onu qoymaq daha rahatdır: üç plitə dörd deyil, bir nöqtədə görüşür. Kompozisiyalar çox maraqlı ola bilər:

Səki üçün beton plitələr də istehsal olunur.

Təbiətdə altıbucaqlıların yayılması sadəcə olaraq izah olunur. Beləliklə, dairələr və toplar eyni diametrə malikdirsə, onları bir müstəvidə sıx şəkildə yerləşdirmək ən asandır. Buna görə də pətəklər bu formaya malikdir.

Dairəyə yazılmış müntəzəm altıbucaqlının qurulması. Verilmiş tərəf boyunca düzgün beşbucaqlının qurulması. Kompas iynəsini dairə ilə yenicə çəkilmiş qövsün kəsişmə nöqtəsinə aparın. Bu tikinti kvadrat və kompasdan istifadə etməklə edilə bilər. Düz bir kənar və 30X60 ° kvadrat istifadə edərək müntəzəm altıbucaqlı tikilə bilər. Düzgün altıbucaqlının künclərinin təpə nöqtələrini qurun.


Bir dairəyə yazılmış bərabərtərəfli üçbucağın qurulması. Belə bir üçbucağın təpələri bir kompas və 30 və 60 ° bucaqları olan bir kvadrat və ya yalnız bir kompas istifadə edərək tikilə bilər. 2-3-cü tərəfi qurmaq üçün çarpaz çubuğu kəsilmiş xətlərlə göstərilən yerə qoyun və üçbucağın üçüncü təpəsini təyin edəcək 2-ci nöqtədən düz xətt çəkin.

Metod 1/3: Kompasdan istifadə edərək mükəmməl altıbucaqlı çəkin

Dairə üzərində 1-ci nöqtəni qeyd edirik və onu beşbucaqlının təpələrindən biri kimi qəbul edirik. D diametrli dairə verilsin; ona adi bir yedibucaq sığdırmaq lazımdır (şək. 65). Dairənin şaquli diametrini yeddi bərabər hissəyə bölün. D dairəsinin diametrinə bərabər radiusu olan 7-ci nöqtədən F nöqtəsində üfüqi diametrin davamı ilə kəsişənə qədər qövsü təsvir edirik. F nöqtəsini çoxbucaqlının qütbü adlandırırıq.

Müntəzəm çoxbucaqlıların qurulması texnikası seqmentlərin bucaq bissektrisalarını və perpendikulyar bissektrisalarını qurmaq bacarığına əsaslanır.

Bu cədvəlin birinci sütununda müntəzəm yazılmış çoxbucaqlının tərəflərinin sayı, ikinci sütununda isə əmsallar göstərilir. Verilmiş çoxbucaqlının yan uzunluğu verilmiş çevrənin radiusunu bu çoxbucaqlının tərəflərinin sayına uyğun əmsala vurmaqla əldə edilir.

Bu video dərsin mövzusu “Düzgün çoxbucaqlıların qurulması”dır. Biz də bir daha müntəzəm çoxbucaqlı müəyyənləşdirəcəyik, onu qrafik şəkildə təsvir edəcəyik və sonra belə bir fiqurun ətrafındakı yazılı və məhdud dairələrin mərkəzlərinin üst-üstə düşəcəyinə bir daha əmin olacağıq. Bu çoxbucaqlıda hər zaman bir dairə yazıla bilər və onun ətrafında həmişə bir dairə təsvir edilə bilər. Əvvəlki dərslər zamanı öyrəndik ki, çoxbucaqlıların xassələrinin təsvirində onun bucaqlarının bissektrisaları və tərəflərinə perpendikulyarların bissektrisaları əsas rol oynayır.

4. Tələb olunan müntəzəm ABC üçbucağını əldə etdik. Problem həll olunur. 3. Kompasın bir ayağını çevrənin ixtiyari A1 nöqtəsinə qoyub, ikinci ayağından istifadə edərək, eyni çevrədə A2 nöqtəsini qeyd edirik və onu A1 nöqtəsinə birləşdiririk. Altıbucaqlının birinci tərəfini alırıq. 3. O nöqtəsindən düşmüş çoxbucaqlının tərəflərinə perpendikulyar bissektrisalardan istifadə edərək onun bütün tərəflərini və ona bitişik təpələri arasında bağlanmış çevrənin bütün qövslərini yarıya bölürük.

Həndəsi konstruksiyalar öyrənmənin vacib hissələrindən biridir. İğnə çəkilmiş xətti deşməlidir. Kompas nə qədər dəqiq quraşdırılsa, tikinti daha dəqiq olacaqdır. Dairə ilə kəsişən başqa bir qövs çəkin. Ardıcıl olaraq qövslərin bütün altı kəsişmə nöqtəsini əvvəlcə çəkilmiş dairə ilə birləşdirin. Bu vəziyyətdə, altıbucaqlı səhv çıxa bilər.

IV, V və VI nöqtələrdən / - // - /// təpələrini əldə etmək üçün dairə ilə kəsişənə qədər üfüqi xətlər çəkin.

Tapılmış təpələri ardıcıl olaraq bir-birinə bağlayırıq. F qütbündən şüalar çəkməklə və şaquli diametrin tək bölmələri vasitəsilə yeddibucaqlı qurmaq olar. Hər iki dairənin mərkəzləri üst-üstə düşür (şəkil 1-də O nöqtəsi). Şəkildə həm də əhatə olunmuş (R) və daxilə yazılmış (r) dairələrin radiusları göstərilir.

Altıbucaqlının qurulması onun tərəfinin əhatə olunmuş dairənin radiusuna bərabər olmasına əsaslanır. Bu dərsdə biz kompas və hökmdardan istifadə edərək müntəzəm çoxbucaqlıların qurulması yollarına baxacağıq. İkinci üsul, bir dairədə yazılmış müntəzəm altıbucaqlı qursanız və sonra onun təpələrini biri ilə birləşdirsəniz, bərabərtərəfli üçbucaq alacağınıza əsaslanır. Yuxarıdakı üsul istənilən sayda tərəfi olan müntəzəm çoxbucaqlıların qurulması üçün uyğundur.

Dairəyə yazılmış müntəzəm altıbucaqlının qurulması. Altıbucaqlının qurulması onun tərəfinin əhatə olunmuş dairənin radiusuna bərabər olmasına əsaslanır. Buna görə də, onu qurmaq üçün dairəni altı bərabər hissəyə bölmək və tapılan nöqtələri bir-birinə bağlamaq kifayətdir (şəkil 60, a).

Düz bir kənar və 30X60 ° kvadrat istifadə edərək müntəzəm altıbucaqlı tikilə bilər. Bu konstruksiyanı həyata keçirmək üçün dairənin üfüqi diametrini 1 və 4-cü bucaqların bisektoru kimi götürürük (Şəkil 60, b), tərəfləri 1 -6, 4-3, 4-5 və 7-2 qururuq, bundan sonra 5-6 və 3-2 tərəflərini çəkirik.

Bir dairəyə yazılmış bərabərtərəfli üçbucağın qurulması. Belə bir üçbucağın təpələri bir kompas və 30 və 60 ° bucaqları olan bir kvadrat və ya yalnız bir kompas istifadə edərək tikilə bilər.

Dairəyə yazılmış bərabərtərəfli üçbucağın qurulmasının iki yolunu nəzərdən keçirək.

Birinci yol(Şəkil 61,a) 7, 2, 3 üçbucağının hər üç bucağında 60° olması və 7 nöqtəsindən çəkilmiş şaquli xəttin 1-ci bucağın həm hündürlüyü, həm də bissektrisa olması faktına əsaslanır. 0-1- 2 isə 30°-yə bərabərdir, onda tərəfi tapmaq lazımdır

1-2, 1-ci nöqtədən və 0-1 tərəfdən 30 ° bir açı qurmaq kifayətdir. Bunu etmək üçün, şəkildə göstərildiyi kimi çarpaz çubuğu və kvadratı quraşdırın, istədiyiniz üçbucağın tərəflərindən biri olacaq 1-2 xəttini çəkin. 2-3-cü tərəfi qurmaq üçün çarpaz çubuğu kəsilmiş xətlərlə göstərilən yerə qoyun və üçbucağın üçüncü təpəsini təyin edəcək 2-ci nöqtədən düz xətt çəkin.

İkinci yol bir dairənin içinə yazılmış müntəzəm altıbucaqlı qursanız və sonra onun təpələrini biri vasitəsilə birləşdirsəniz, bərabərtərəfli üçbucaq alacağınıza əsaslanır.

Üçbucaq qurmaq üçün (şək. 61, b) diametrində təpə nöqtəsini 1 qeyd edin və 1-4 diametrli xətt çəkin. Sonra, radiusu D/2-yə bərabər olan 4-cü nöqtədən 3 və 2-ci nöqtələrdə dairə ilə kəsişənə qədər bir qövsü təsvir edirik. Nəticədə nöqtələr istənilən üçbucağın digər iki təpəsi olacaqdır.

Bir dairədə yazılmış kvadratın qurulması. Bu tikinti kvadrat və kompasdan istifadə etməklə edilə bilər.

Birinci üsul kvadratın diaqonallarının dairəvi dairənin mərkəzində kəsişməsinə və onun oxlarına 45° bucaq altında meyl etməsinə əsaslanır. Buna əsaslanaraq, Şəkil 1-də göstərildiyi kimi 45 ° açı ilə çarpaz çubuğu və kvadrat quraşdırırıq. 62, a və 1 və 3 nöqtələrini qeyd edin. Sonra, bu nöqtələr vasitəsilə çarpaz çubuğu istifadə edərək 4-1 və 3-2 kvadratının üfüqi tərəflərini çəkirik. Sonra düz bir kənardan istifadə edərək, kvadratın ayağı boyunca 1-2 və 4-3 kvadratın şaquli tərəflərini çəkirik.

İkinci üsul kvadratın təpələrinin diametrinin ucları arasında qapalı dairənin qövslərini ikiyə bölməsinə əsaslanır (şəkil 62, b). Qarşılıqlı perpendikulyar iki diametrin ucunda A, B və C nöqtələrini qeyd edirik və onlardan y radiuslu qövsləri bir-biri ilə kəsişənə qədər təsvir edirik.

Sonra, qövslərin kəsişmə nöqtələri vasitəsilə şəkildə bərk xətlərlə işarələnmiş köməkçi düz xətlər çəkirik. Onların dairə ilə kəsişmə nöqtələri 1 və 3 təpələrini təyin edəcək; 4 və 2. Bu şəkildə alınan istənilən kvadratın təpələrini bir-biri ilə ardıcıl olaraq birləşdiririk.

Dairəyə yazılmış müntəzəm beşbucağın qurulması.

Daimi beşbucaqlı bir dairəyə yerləşdirmək üçün (şək. 63) aşağıdakı konstruksiyaları yerinə yetiririk.

Dairə üzərində 1-ci nöqtəni qeyd edirik və onu beşbucaqlının təpələrindən biri kimi qəbul edirik. AO seqmentini yarıya bölürük. Bunun üçün A nöqtəsindən M və B nöqtələrində dairə ilə kəsişənə qədər radiusu AO olan bir qövsü təsvir edirik. Bu nöqtələri düz xəttlə birləşdirərək K nöqtəsini alırıq, sonra onu 1 nöqtəsinə birləşdiririk. A7 seqmentinə bərabər radius, K nöqtəsindən H nöqtəsində diametrik AO xətti ilə kəsişənə qədər bir qövs təsvir edirik. 1 nöqtəsini H nöqtəsi ilə birləşdirərək, beşbucağın tərəfini alırıq. Sonra, 1H seqmentinə bərabər olan kompas həllindən istifadə edərək, 1-ci təpədən dairə ilə kəsişməyə qədər bir qövsü təsvir edərək, 2 və 5-ci təpələri tapırıq. Eyni kompas həlli ilə 2 və 5 təpələrindən çentiklər düzəldərək, qalan hissəsini alırıq. təpələri 3 və 4. Tapılan nöqtələri ardıcıl olaraq bir-biri ilə əlaqələndiririk.

Verilmiş tərəf boyunca düzgün beşbucaqlının qurulması.

Verilmiş tərəfi boyunca düzgün beşbucaqlı qurmaq üçün (şək. 64) AB seqmentini altı bərabər hissəyə bölürük. Radiusu AB olan A və B nöqtələrindən kəsişməsi K nöqtəsini verəcək qövsləri təsvir edirik. Bu nöqtə və AB xəttinin 3-cü bölməsi vasitəsilə şaquli xətt çəkirik.

Beşbucaqlının 1-təpə nöqtəsini alırıq. Sonra radiusu AB-ə bərabər olan 1-ci nöqtədən əvvəl A və B nöqtələrindən çəkilmiş qövslərlə kəsişənə qədər qövsü təsvir edirik. Qövslərin kəsişmə nöqtələri 2 və 5-ci beşbucaqlı təpələri müəyyən edir. bir-biri ilə seriallar.

Dairəyə yazılmış müntəzəm yeddibucağın qurulması.

D diametrli dairə verilsin; ona adi bir yedibucaq sığdırmaq lazımdır (şək. 65). Dairənin şaquli diametrini yeddi bərabər hissəyə bölün. D dairəsinin diametrinə bərabər radiusu olan 7-ci nöqtədən F nöqtəsində üfüqi diametrin davamı ilə kəsişənə qədər qövsü təsvir edirik. F nöqtəsini çoxbucaqlının qütbü adlandırırıq. VII nöqtəni yeddibucağın təpələrindən biri kimi götürərək, F qütbündən şaquli diametrin bərabər bölmələri vasitəsilə şüalar çəkirik, onların dairə ilə kəsişməsi yeddibucağın VI, V və IV təpələrini təyin edəcəkdir. IV, V və VI nöqtələrdən / - // - /// təpələrini əldə etmək üçün dairə ilə kəsişənə qədər üfüqi xətlər çəkin. Tapılmış təpələri ardıcıl olaraq bir-birinə bağlayırıq. F qütbündən şüalar çəkməklə və şaquli diametrin tək bölmələri vasitəsilə yeddibucaqlı qurmaq olar.

Yuxarıdakı üsul istənilən sayda tərəfi olan müntəzəm çoxbucaqlıların qurulması üçün uyğundur.

Dairənin istənilən sayda bərabər hissələrə bölünməsi də Cədvəldəki məlumatlardan istifadə etməklə həyata keçirilə bilər. 2, müntəzəm yazılmış çoxbucaqlıların tərəflərinin ölçülərini təyin etməyə imkan verən əmsalları təmin edir.

Həndəsi konstruksiyalar təlimin əsas hissələrindən biridir. Onlar məkan və məntiqi təfəkkür formalaşdırır, həmçinin primitiv və təbii həndəsi etibarlılığı anlamağa imkan verir. Konstruksiyalar bir kompas və hökmdardan istifadə edərək bir təyyarədə aparılır. Bu alətlər çoxlu sayda həndəsi fiqurların qurulması üçün istifadə edilə bilər. Eyni zamanda, olduqca çətin görünən bir çox fiqurlar ən sadə qaydalardan istifadə etməklə qurulur. Məsələn, adi altıbucaqlının necə qurulacağını bir neçə sözlə təsvir etmək olar.

Sizə lazım olacaq

  • Kompas, hökmdar, qələm, vərəq.

Təlimatlar

1. Bir dairə çəkin. Kompasın ayaqları arasında bir az məsafə qoyun. Bu məsafə dairənin radiusu olacaq. Radiusu elə seçin ki, dairə çəkmək kifayət qədər rahat olsun. Dairə tamamilə kağız vərəqinə uyğun olmalıdır. Kompasın ayaqları arasında çox böyük və ya çox kiçik məsafə rəsm zamanı onun dəyişməsinə səbəb ola bilər. Optimal məsafə, kompasın ayaqları arasındakı bucağın 15-30 dərəcə olduğu yerdə olacaqdır.

2. Düzgün altıbucaqlının künclərinin təpə nöqtələrini qurun. İğnənin sabitləndiyi kompasın ayağını dairənin istənilən nöqtəsinə qoyun. İğnə çəkilmiş xətti deşməlidir. Kompas nə qədər dəqiq quraşdırılsa, tikinti daha dəqiq olacaqdır. Əvvəllər çəkilmiş dairə ilə kəsişməsi üçün dairəvi bir qövs çəkin. Kompas iynəsini dairə ilə yenicə çəkilmiş qövsün kəsişmə nöqtəsinə aparın. Dairə ilə kəsişən başqa bir qövs çəkin. Kompas iynəsini yenidən qövslə dairənin kəsişmə nöqtəsinə aparın və qövsü yenidən çəkin. Bu hərəkəti daha üç dəfə təkrarlayın, dairənin ətrafında bir istiqamətdə hərəkət edin. Hər birində altı qövs və altı kəsişmə nöqtəsi olmalıdır.

3. Müsbət altıbucaqlı qurun. Qövslərin bütün altı kəsişmə nöqtəsini əvvəlcə çəkilmiş dairə ilə addım-addım birləşdirin. Nöqtələri bir hökmdar və qələm istifadə edərək çəkilmiş düz xətlərlə birləşdirin. Bu hərəkətlərdən sonra bir dairəyə yazılmış düzgün altıbucaqlı alınacaq.

AltıbucaqlıÇoxbucaqlının altı bucağı və altı tərəfi olduğu hesab edilir. Çoxbucaqlılar qabarıq və ya konkav ola bilər. Qabarıq altıbucaqlının bütün daxili bucaqları küt, konkav altıbucaqlının isə bir və ya daha çox iti bucaqları var. Altıbucaqlı qurmaq olduqca asandır. Bu bir neçə addımda edilir.

Sizə lazım olacaq

  • Qələm, kağız vərəqi, hökmdar

Təlimatlar

1. Bir vərəq götürün və Şəkildə göstərildiyi kimi təxminən 6 nöqtəni qeyd edin. 1.

2. Nöqtələr qeyd edildikdən sonra bir hökmdar və qələm götürün və onların köməyi ilə addım-addım, bir-birinin ardınca nöqtələri şəkildəki kimi birləşdirin. 2.

Mövzu ilə bağlı video

Qeyd!
Altıbucaqlının bütün daxili bucaqlarının cəmi 720 dərəcədir.

Altıbucaqlı altı bucağı olan çoxbucaqlıdır. İxtiyari altıbucaqlı çəkmək üçün hər biri 2 addım yerinə yetirmək lazımdır.

Sizə lazım olacaq

  • Qələm, hökmdar, vərəq.

Təlimatlar

1. Əlinizə bir qələm götürməlisiniz və vərəqdə 6 təsadüfi nöqtəni qeyd etməlisiniz. Gələcəkdə bu nöqtələr altıbucaqlı künclərin rolunu oynayacaqdır. (Şəkil 1)

2. Bir hökmdar götürün və əvvəllər çəkilmiş nöqtələr boyunca bir-birinə bağlanacaq bu nöqtələr əsasında 6 seqment çəkin (şəkil 2).

Mövzu ilə bağlı video

Qeyd!
Altıbucaqlının xüsusi növü müsbət altıbucaqlıdır. Bütün tərəfləri və bucaqları bir-birinə bərabər olduğu üçün belə adlanır. Belə bir altıbucaqlı ətrafında bir dairəni təsvir edə və ya yaza bilərsiniz. Qeyd etmək lazımdır ki, həkk olunmuş dairəyə və altıbucaqlının tərəflərinə toxunmaqla əldə edilən nöqtələrdə müsbət altıbucaqlının tərəfləri yarıya bölünür.

Faydalı məsləhət
Təbiətdə müsbət altıbucaqlılar çox məşhurdur. Məsələn, bütün pətək müsbət altıbucaqlı formaya malikdir. Və ya qrafenin (karbon modifikasiyası) kristal qəfəsi də müsbət altıbucaqlı formaya malikdir.

Bir və ya digərini necə qurmaq olar künc- böyük sual. Ancaq bəzi bucaqlar üçün tapşırıq görünməz şəkildə sadələşdirilmişdir. Bu açılardan biri künc 30 dərəcədə. ?/6-ya bərabərdir, yəni 30 rəqəmi 180-in bölənidir. Üstəlik, onun sinusu məlumdur. Bu onun qurulmasına kömək edir.

Sizə lazım olacaq

  • iletki, kvadrat, kompas, hökmdar

Təlimatlar

1. Birincisi, əlinizdə bir iletki olduqda, xüsusilə primitiv bir vəziyyətə baxaq. Sonra 30 dərəcə bucaq altında bir düz xətt onun dəstəyi ilə asanlıqla kənara qoyula bilər.

2. iletki ilə yanaşı, həmçinin var künc bucaqlarından biri 30 dərəcəyə bərabər olan tağlar. Sonra başqa künc künc bucaq 60 dərəcəyə bərabər olacaq, yəni vizual olaraq daha kiçik lazımdır künc tələb olunan düz xətti qurmaq.

3. İndi 30 dərəcə bucaq qurmaq üçün qeyri-trivial üsullara keçək. Bildiyiniz kimi, 30 dərəcə bucağın sinusu 1/2-ə bərabərdir. Onu qurmaq üçün biz birbaşa qurmalıyıq künc tionary künc nik. Mümkündür ki, iki perpendikulyar xətt qura bilərik. Ancaq 30 dərəcə tangensi irrasional bir ədəddir, buna görə də ayaqlar arasındakı nisbəti yalnız təxminən hesablaya bilərik (yalnız kalkulyator olmadıqda) və buna görə də qura bilərik. künc təxminən 30 dərəcə.

4. Bu vəziyyətdə dəqiq bir tikinti etmək mümkündür. Yenidən ayaqların düz yerləşəcəyi iki perpendikulyar düz xətt çəkək künc getmə künc nik. Bir kompasın dəstəyi ilə müəyyən uzunluqda BC düz bir ayağını qoyaq (B - düz künc). Bundan sonra, kompasın ayaqları arasındakı uzunluğu 2 dəfə artıracağıq, bu da elementardır. Bu uzunluqda radiuslu C nöqtəsində mərkəzi olan bir dairə çəkərək, dairənin başqa bir düz xətt ilə kəsişmə nöqtəsini tapırıq. Bu nöqtə birbaşa A nöqtəsi olacaqdır künc getmə künc ABC və künc A 30 dərəcəyə bərabər olacaq.

5. Dik künc 30 dərəcədə icazə verilir və dairənin dəstəyi ilə nəyə bərabərdir?/6. Radiusu OB olan bir dairə quraq. Gəlin nəzəriyyəyə baxaq künc nik, burada OA = OB = R – çevrənin radiusu, burada künc OAB = 30 dərəcə. OE bu ikitərəfli üçbucağın hündürlüyü olsun künc nik və deməli, onun bissektrisa və medianı. Sonra künc AOE = 15 dərəcə və yarımbucaq düsturuna görə sin(15o) = (sqrt(3)-1)/(2*sqrt(2)). Nəticədə, AE = R*sin(15o). Deməli, AB = 2AE = 2R*sin(15o). Mərkəzi B nöqtəsində olan radiuslu BA çevrəsini qurmaqla bu çevrənin başlanğıcı ilə A kəsişmə nöqtəsini tapırıq. AOB bucağı 30 dərəcə olacaq.

6. Əgər qövslərin uzunluğunu müəyyən bir şəkildə müəyyən edə bilsək, uzunluqlu bir qövsü kənara qoyaraq, biz də əldə edirik?*R/6 künc 30 dərəcədə.

Qeyd!
Yadda saxlamalıyıq ki, 5-ci bənddə yalnız təqribən bucağı qura bilərik, çünki hesablamalarda irrasional ədədlər görünəcək.

Altıbucaqlıçoxbucaqlının xüsusi halı adlanır - qapalı çoxbucaqlı ilə məhdudlaşan təyyarənin əksər nöqtələrinin yaratdığı fiqur. Müsbət altıbucaqlı (altıbucaqlı) da öz növbəsində xüsusi haldır - bu, altı bərabər tərəfi və bərabər açıları olan çoxbucaqlıdır. Bu rəqəm əhəmiyyətlidir ki, onun bütün tərəflərinin uzunluğu rəqəmin ətrafında təsvir olunan dairənin radiusuna bərabərdir.

Sizə lazım olacaq

  • - kompas;
  • - hökmdar;
  • - qələm;
  • - kağız.

Təlimatlar

1. Altıbucaqlının yan uzunluğunu seçin. Bir kompas götürün və ayaqlarından birində yerləşən iynənin ucu ilə digər ayağında yerləşən qurğuşun ucu arasında çəkilən fiqurun tərəfinin uzunluğuna bərabər olan məsafəni təyin edin. Bunu etmək üçün, bir hökmdardan istifadə edə bilərsiniz və ya bu an əhəmiyyətli deyilsə, təsadüfi bir məsafə seçə bilərsiniz. Mümkünsə, kompasın ayaqlarını bir vida ilə bərkidin.

2. Kompasdan istifadə edərək bir dairə çəkin. Ayaqlar arasında seçilmiş məsafə dairənin radiusu olacaqdır.

3. Dairəni nöqtələrlə altı bərabər hissəyə bölün. Bu nöqtələr altıbucaqlının künclərinin təpələri və müvafiq olaraq onun tərəflərini təmsil edən seqmentlərin ucları olacaqdır.

4. Kompasın ayağını iynə ilə göstərilən dairənin xəttində yerləşən ixtiyari bir nöqtəyə qoyun. İğnə xətti düzgün deşməlidir. Tikintinin düzgünlüyü birbaşa kompasın quraşdırılmasının düzgünlüyündən asılıdır. Kompasla elə bir qövs çəkin ki, birinci çəkilmiş dairəni 2 nöqtədə kəssin.

5. Kompasın ayağını iynə ilə çəkilmiş qövsün orijinal dairə ilə kəsişmə nöqtələrindən birinə köçürün. Dairəni 2 nöqtədə kəsərək başqa bir qövs çəkin (onlardan biri kompas iynəsinin əvvəlki yerinin nöqtəsi ilə üst-üstə düşəcəkdir).

6. Eyni şəkildə, kompas iynəsini yenidən düzəldin və daha dörd dəfə qövslər çəkin. Kompasın ayağını iynə ilə dairənin ətrafında bir istiqamətə (saat yönünün əksinə və ya əksinə) hərəkət etdirin. Nəticədə, ilkin qurulmuş dairə ilə qövslərin kəsişməsinin altı nöqtəsi müəyyən edilməlidir.

7. Müsbət altıbucaqlı çəkin. Addım-addım, cüt-cüt, əvvəlki addımda əldə edilən altı nöqtəni seqmentlərlə birləşdirin. Qələm və hökmdardan istifadə edərək seqmentləri çəkin. Nəticə düzgün altıbucaqlı olacaq. Tikinti başa çatdıqdan sonra köməkçi elementləri (qövslər və dairələr) silə bilərsiniz.

Qeyd!
Kompasın ayaqları arasında elə bir məsafə seçmək məntiqlidir ki, aralarındakı bucaq 15-30 dərəcə olsun, əksinə, konstruksiyalar edərkən bu məsafə asanlıqla itirə bilər.

Ev dizayn planlarını qurarkən və ya inkişaf etdirərkən, tez-tez qurmaq lazımdır künc, mövcud olana bərabərdir. Nümunələr və məktəb həndəsə bacarıqları dəstək üçün gəlir.

Təlimatlar

1. Bucaq bir nöqtədən çıxan iki düz xəttdən əmələ gəlir. Bu nöqtə bucağın təpəsi adlanacaq, xətlər isə bucağın tərəfləri olacaqdır.

2. Küncləri təmsil etmək üçün üç hərfdən istifadə edin: biri yuxarıda, ikisi yanlarda. Zəng etdi künc, bir tərəfdə duran hərfdən başlayaraq, yuxarıda duran hərf, ondan sonra isə digər tərəfdəki hərf deyilir. Qarşınızda daha rahatsınızsa, küncləri işarələmək üçün digər üsullardan istifadə edin. Bəzən yuxarıda yerləşən yalnız bir hərf adlanır. Və bucaqları yunan hərfləri ilə qeyd etməyə icazə verilir, məsələn, α, β, γ.

3. Çəkmək lazım olan vəziyyətlər var künc, belə ki, verilmiş bucağa bərabər olsun. Rəsm qurarkən iletkidən istifadə etmək şansınız yoxdursa, yalnız bir hökmdar və kompasla keçə bilərsiniz. Mümkündür ki, rəsmdə MN hərfləri ilə göstərilən düz xətt üzərində qurmaq lazımdır künc K nöqtəsində B bucağına bərabər olsun. Yəni K nöqtəsindən MN xətti ilə əmələ gələn düz xətt çəkmək lazımdır. künc, B bucağına bərabər olacaq biri.

4. Əvvəlcə verilmiş bucağın bütün tərəfində bir nöqtəni qeyd edin, məsələn, A və C nöqtələrini, sonra C və A nöqtələrini düz xətt ilə birləşdirin. Tre alın künc nik ABC.

5. İndi eyni tre-ni MN düz xəttində qurun künc belə ki, onun B təpəsi K nöqtəsindəki xətt üzərində olsun. Üçbucaq qurmaq üçün qaydadan istifadə edin küncüç tərəfdən. K nöqtəsindən KL seqmentini kəsin. BC seqmentinə bərabər olmalıdır. L nöqtəsini alın.

6. K nöqtəsindən BA seqmentinə bərabər radiuslu bir dairə çəkin. L-dən CA radiusu olan bir dairə çəkin. 2 dairənin kəsişməsinin nəticə nöqtəsini (P) K ilə birləşdirin. Üç alın künc nik KPL, üçə bərabər olacaq bir künc ABC kitab. Bu şəkildə əldə edirsiniz künc K. B bucağına bərabər olacaq. Bu konstruksiyanı daha rahat və daha sürətli etmək üçün B təpəsindən bərabər seqmentləri ayırın, bir kompas həllindən istifadə edərək, ayaqları hərəkət etdirmədən K nöqtəsindən eyni radiuslu dairəni təsvir edin.

Mövzu ilə bağlı video

Qeyd!
Kompasın ayaqları arasındakı məsafəni təsadüfən dəyişdirməkdən çəkinin. Bu vəziyyətdə, altıbucaqlı səhv çıxa bilər.

Faydalı məsləhət
Mükəmməl itilənmiş qurğuşunla kompasdan istifadə edərək konstruksiyalar hazırlamaq bacarığına malikdir. Bu şəkildə konstruksiyalar xüsusilə dəqiq olacaqdır.

Altıbucaqlı torlar (altıbucaqlı ızgaralar) bəzi oyunlarda istifadə olunur, lakin onlar düzbucaqlı torlar qədər sadə və ya ümumi deyil. Mən demək olar ki, 20 ildir ki, altıbucaqlı şəbəkələrdə resurslar toplayıram və bu təlimatı ən sadə kodda həyata keçirilən ən zərif yanaşmalara yazdım. Bu məqalə Çarlz Fu və Klark Verbruggenin bələdçilərindən geniş istifadə edir. Mən altıbucaqlı meshlərin yaradılmasının müxtəlif yollarını, onların əlaqələrini və ən ümumi alqoritmləri təsvir edəcəyəm. Bu məqalənin bir çox hissəsi interaktivdir: şəbəkə növünün seçilməsi müvafiq diaqramları, kodu və mətnləri dəyişir. (Qeyd üçün.: bu yalnız orijinala aiddir, onu öyrənməyi məsləhət görürəm. Tərcümədə orijinalın bütün məlumatları qorunub saxlanılır, lakin interaktivlik yoxdur.).

Məqalədəki kod nümunələri pseudocode ilə yazılmışdır, buna görə də öz tətbiqinizi yazmaq üçün onları oxumaq və başa düşmək daha asandır.

Həndəsə

Altıbucaqlılar altı tərəfli çoxbucaqlıdır. Daimi altıbucaqlıların bütün tərəfləri (kənarları) eyni uzunluqdadır. Biz yalnız adi altıbucaqlılarla işləyəcəyik. Tipik olaraq, altıbucaqlı meshlər üfüqi (uclu yuxarı) və şaquli (düz üstü) istiqamətlərdən istifadə edir.


Düz (sol) və kəskin (sağ) zirvələri olan altıbucaqlılar

Altıbucaqlıların 6 üzü var. Hər üz iki altıbucaqlı üçün ümumidir. Altıbucaqlıların 6 künc nöqtəsi var. Hər künc nöqtəsi üç altıbucaqlı üçün ümumidir. Mesh hissələri (kvadratlar, altıbucaqlılar və üçbucaqlar) haqqında məqaləmdə mərkəzlər, kənarlar və künc nöqtələri haqqında daha çox oxuya bilərsiniz.

Bucaqlar

Düzgün altıbucaqlıda daxili bucaqlar 120°-dir. Altı "paz" var, hər biri 60 ° daxili açıları olan bərabərtərəfli üçbucaqdır. Künc nöqtəsi i(60° * i) + 30° məsafədə yerləşir, mərkəzdən ölçü vahidləri. Kodda:

Hex_corner funksiyası(mərkəz, ölçü, i): var açı_deq = 60 * i + 30 var açı_rad = PI / 180 * bucaq_deq qayıdış Nöqtəsi (center.x + size * cos(angle_rad), center.y + size * sin(angle_rad) )
Altıbucaqlını doldurmaq üçün çoxbucaqlının təpələrini hex_corner(…, 0)-dan hex_corner(…, 5) almalısınız. Altıbucaqlının konturunu çəkmək üçün bu təpələrdən istifadə etməli və sonra hex_corner(..., 0) xəttinə yenidən xətti çəkməlisiniz.

İki oriyentasiya arasındakı fərq ondan ibarətdir ki, x və y dəyişdirilir, nəticədə bucaqlar dəyişir: düz üstü altıbucaqlılar 0°, 60°, 120°, 180°, 240°, 300° və sivri uclu bucaqlara malikdir. altıbucaqlıların 30°, 90°, 150°, 210°, 270°, 330° bucaqları var.


Düz və iti zirvələri olan altıbucaqlıların küncləri

Ölçü və yer

İndi biz bir neçə altıbucaqlı yerləşdirmək istəyirik. Üfüqi oriyentasiyada altıbucağın hündürlüyü hündürlük = ölçü * 2 dir. Bitişik altıbucaqlılar arasındakı şaquli məsafə vert = hündürlük * 3/4.

Altıbucaqlı eni eni = sqrt(3)/2 * hündürlük . Qonşu altıbucaqlılar arasındakı üfüqi məsafə horiz = endir.

Bəzi oyunlar altıbucaqlılar üçün piksel sənətindən istifadə edir ki, bu da adi altıbucaqlılara tam uyğun gəlmir. Bu bölmədə təsvir edilən bucaq və yerləşdirmə düsturları belə altıbucaqlıların ölçülərinə uyğun gəlməyəcək. Hex mesh alqoritmlərini təsvir edən məqalənin qalan hissəsi altıbucaqlılar bir az dartılmış və ya sıxılmış olsa belə tətbiq olunur.



Koordinat sistemləri

Gəlin altıbucaqlıları bir şəbəkəyə yığmağa başlayaq. Kvadratların ızgaraları vəziyyətində yığılmağın yalnız bir açıq yolu var. Altıbucaqlılar üçün bir çox yanaşma var. Mən əsas təmsiliniz kimi kub koordinatlarından istifadə etməyi məsləhət görürəm. Xəritələri saxlamaq və istifadəçiyə koordinatları göstərmək üçün eksenel koordinatlar və ya ofset koordinatlarından istifadə edilməlidir.

Ofset koordinatları

Ən ümumi yanaşma hər bir sonrakı sütun və ya sətirin əvəzlənməsidir. Sütunlar col və ya q ilə təyin olunur. Satırlar sıra və ya r ilə işarələnir. Siz tək və ya hətta sütunları/sətirləri ofset edə bilərsiniz, ona görə də üfüqi və şaquli altıbucaqlıların hər birinin iki variantı var.


Üfüqi düzülmə "tək-r"


Üfüqi düzülmə “cüt-r”


Şaquli "tək-q" düzülüşü


Şaquli düzülüşü "cüt-q"

Kub koordinatları

Altıbucaqlı torlara baxmağın başqa bir yolu onları kimi görməkdir üçəsas oxlar deyil iki, kvadratların torlarında olduğu kimi. Onlar zərif simmetriya nümayiş etdirirlər.

Gəlin kublar şəbəkəsini götürək və onu kəsək x + y + z = 0-da diaqonal müstəvi. Bu qəribə fikirdir, lakin altıbucaqlı mesh alqoritmlərini sadələşdirməyə kömək edəcək. Xüsusilə, biz Dekart koordinatlarından standart əməliyyatlardan istifadə edə biləcəyik: koordinatların cəmlənməsi və çıxarılması, skalyar kəmiyyətə vurulması və bölünməsi, həmçinin məsafələr.

Kublar şəbəkəsindəki üç əsas oxa və onların altı ilə əlaqəsinə diqqət yetirin diaqonal altıbucaqlı şəbəkənin istiqamətləri. Şəbəkənin diaqonal oxları altıbucaqlı şəbəkənin əsas istiqamətinə uyğundur.


Altıbucaqlılar


kublar

Kvadrat və kub şəbəkələri üçün artıq alqoritmlərimiz olduğundan, kub koordinatlarından istifadə bu alqoritmləri altıbucaqlı şəbəkələrə uyğunlaşdırmağa imkan verir. Mən məqalənin əksər alqoritmləri üçün bu sistemdən istifadə edəcəyəm. Alqoritmləri fərqli bir koordinat sistemi ilə istifadə etmək üçün kub koordinatlarını çevirirəm, alqoritmi işlədirəm və sonra onları geri çevirirəm.

Altıbucaqlı mesh üçün kub koordinatlarının necə işlədiyini öyrənin. Altıbucaqlıları seçdiyiniz zaman üç oxa uyğun kub koordinatları vurğulanır.

  1. Kub şəbəkəsinin hər bir istiqaməti uyğun gəlir xətlər altıbucaqlılar şəbəkəsində. Əlaqəni görmək üçün 0, 1, 2, 3-ə bərabər olan z ilə altıbucaqlı seçməyə çalışın. Xətt mavi rənglə qeyd olunub. X (yaşıl) və y (bənövşəyi) üçün də eyni şeyi sınayın.
  2. Altıbucaqlı şəbəkənin hər bir istiqaməti kublar şəbəkəsinin iki istiqamətinin birləşməsidir. Məsələn, altıbucaqlı şəbəkənin "şimal"ı +y və -z arasında yerləşir, buna görə də "şimala" hər addım y-ni 1 artırır və z-ni 1 azaldır.
Kub koordinatları altıbucaqlı şəbəkə koordinat sistemi üçün ağlabatan seçimdir. Şərt x + y + z = 0-dır, ona görə də alqoritmlərdə saxlanmalıdır. Şərt həm də hər altıbucaqlı üçün həmişə kanonik koordinatın olmasını təmin edir.

Kublar və altıbucaqlılar üçün çoxlu müxtəlif koordinat sistemləri var. Onların bəzilərində şərt x + y + z = 0-dan fərqlidir. Çox sistemlərdən yalnız birini göstərdim. Siz həmçinin x-y , y-z , z-x ilə kub koordinatları yarada bilərsiniz, onların öz maraqlı xassələri var, lakin mən burada onlara daxil olmayacağam.

Lakin siz koordinatlar üçün 3 rəqəmi saxlamaq istəmədiyinizi iddia edə bilərsiniz, çünki siz xəritəni bu şəkildə necə saxlayacağınızı bilmirsiniz.

Eksenel koordinatlar

Bəzən "trapezoidal" koordinat sistemi adlanan eksenel koordinat sistemi kub koordinat sistemindən iki və ya üç koordinatdan qurulur. Bizdə x + y + z = 0 şərti olduğundan üçüncü koordinata ehtiyac yoxdur. Eksenel koordinatlar xəritələri saxlamaq və istifadəçiyə koordinatları göstərmək üçün faydalıdır. Kub koordinatlarında olduğu kimi, siz dekart koordinatlarını toplamaq, çıxmaq, vurmaq və bölmək kimi standart əməliyyatlardan istifadə edə bilərsiniz.

Bir çox kub koordinat sistemi və bir çox oxlu koordinat sistemi var. Bu təlimatda hər kombinasiyanı əhatə etməyəcəyəm. Mən iki dəyişən seçəcəyəm, q (sütun) və r (sətir). Bu məqalədəki diaqramlarda q x-ə, r isə z-ə uyğundur, lakin bu uyğunluq ixtiyaridir, çünki müxtəlif uyğunluqlar əldə etmək üçün diaqramları fırladıb fırlada bilərsiniz.

Bu sistemin yerdəyişmə şəbəkələrindən üstünlüyü alqoritmlərin daha başa düşülməsidir. Sistemin mənfi tərəfi ondan ibarətdir ki, düzbucaqlı kartın saxlanması bir qədər qəribədir; xəritələrin saxlanması bölməsinə baxın. Bəzi alqoritmlər kub koordinatlarında daha aydındır, lakin bizdə x + y + z = 0 şərti olduğundan üçüncü nəzərdə tutulan koordinatı hesablaya və bu alqoritmlərdə istifadə edə bilərik. Layihələrimdə oxları q, r, s adlandırıram, buna görə də şərt q + r + s = 0 kimi görünür və lazım olduqda s = -q - r hesablaya bilirəm.

Oxlar

Ofset koordinatları əksər insanların ağlına gələn ilk şeydir, çünki onlar kvadratlar şəbəkələri üçün istifadə olunan standart Dekart koordinatları ilə eynidir. Təəssüf ki, iki oxdan biri taxılın üzərinə getməlidir və bu, işləri çətinləşdirir. Kub və ox sistemləri məsafəni qət edir və daha sadə alqoritmlərə malikdir, lakin kartın saxlanması bir az daha mürəkkəbdir. “Alternativ” və ya “ikili” adlanan başqa bir sistem var, lakin biz bunu burada nəzərdən keçirməyəcəyik; bəziləri ilə işləmək kub və ya ekseneldən daha asandır.


Ofset koordinatları, kub və eksenel

ox müvafiq koordinatın artdığı istiqamətdir. Oxa perpendikulyar koordinatın sabit qaldığı xəttdir. Yuxarıdakı grid diaqramları perpendikulyar xətləri göstərir.

Koordinat çevrilməsi

Çox güman ki, dizaynınızda eksenel və ya ofset koordinatlarından istifadə edəcəksiniz, lakin bir çox alqoritmlər kub koordinatlarında daha asan ifadə edilir. Buna görə də sistemlər arasında koordinatları çevirməyi bacarmalıyıq.

Eksenel koordinatlar kub koordinatları ilə sıx bağlıdır, buna görə də çevrilmə sadədir:

# kubu ox koordinatlarına çevirmək q = x r = z # eksenli kub koordinatlarına çevirmək x = q z = r y = -x-z
Kodda bu iki funksiya aşağıdakı kimi yazıla bilər:

Funksiya kubu_to_hex(h): # axial var q = h.x var r = h.z return Hex(q, r) funksiyası hex_to_cube(h): # kubik var x = h.q var z = h.r var y = -x-z Cube(x, y) qaytarır , z)
Ofset koordinatları bir az daha mürəkkəbdir:

Bitişik altıbucaqlılar

Bir altıbucaqlı verilsə, o, hansı altıbucaqlının yanındadır? Gözlədiyiniz kimi, cavab kub koordinatlarında ən asandır, ox koordinatlarında olduqca asandır və yerdəyişmə koordinatlarında bir az daha çətindir. Siz həmçinin altı "diaqonal" altıbucaqlı hesablamağınız lazım ola bilər.

Kub koordinatları

Hex koordinatlarında bir boşluğun köçürülməsi üç kub koordinatından birinin +1, digərinin isə -1-ə dəyişməsinə səbəb olur (cəm 0 qalmalıdır). +1-də üç mümkün koordinat, -1-də isə qalan iki koordinat dəyişə bilər. Bu, bizə altı mümkün dəyişiklik verir. Hər biri altıbucaqlının istiqamətlərindən birinə uyğundur. Ən sadə və sürətli yol dəyişiklikləri əvvəlcədən hesablamaq və tərtib zamanı onları kub koordinat cədvəlinə Cube(dx, dy, dz) daxil etməkdir:

Var istiqamətləri = [ Cube(+1, -1, 0), Cube(+1, 0, -1), Cube(0, +1, -1), Cube(-1, +1, 0), Cube( -1, 0, +1), Cube(0, -1, +1) ] funksiyası kub_istiqaməti(istiqamət): qayıdış istiqamətləri funksiyası kub_neighbor(hex, istiqamət): qaytar kub_add(hex, kub_istiqaməti(istiqamət))

Eksenel koordinatlar

Əvvəlki kimi, biz başlamaq üçün kub sistemindən istifadə edirik. Cube(dx, dy, dz) cədvəlini götürək və onu Hex(dq, dr) cədvəlinə çevirək:

Var istiqamətləri = [ Hex(+1, 0), Hex(+1, -1), Hex(0, -1), Hex(-1, 0), Hex(-1, +1), Hex(0, +1) ] funksiyası hex_istiqamət(istiqamət): istiqamətləri qaytarmaq funksiyası hex_neighbor(hex, direction): var dir = hex_istiqamət(istiqamət) qaytarmaq Hex(hex.q + dir.q, hex.r + dir.r)

Ofset koordinatları

Eksenel koordinatlarda, biz şəbəkədə olduğumuz yerdən asılı olaraq dəyişikliklər edirik. Əgər biz ofset sütununda/sətirindəyiksə, onda qayda ofsetsiz sütun/sətir vəziyyətindən fərqlidir.

Əvvəlki kimi, biz col və sətirə əlavə edilməli olan nömrələr cədvəlini yaradırıq. Bununla belə, bu dəfə iki massivimiz olacaq, biri tək sütunlar/sətirlər, digəri isə cütlər üçün. Yuxarıdakı tor xəritəsində (1,1) baxın və altı istiqamətdən hər birində hərəkət edərkən rəng və cərgənin necə dəyişdiyinə diqqət yetirin. İndi (2,2) üçün prosesi təkrarlayaq. Cədvəllər və kod dörd yerdəyişmə şəbəkəsinin hər biri üçün fərqli olacaq; burada hər bir şəbəkə növü üçün müvafiq kod var.

Tək-r
var istiqamətləri = [ [ 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) ] ] funksiyası ofset_neighbor(hex, direction): var parity = hex.row & 1 var dir = istiqamətləri qaytarmaq Hex(hex.col + dir.col, hex.row + dir.row)


Cüt-r
var istiqamətləri = [ [ 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) ] ] funksiyası ofset_neighbor(hex, direction): var parity = hex.row & 1 var dir = istiqamətləri qaytarmaq Hex(hex.col + dir.col, hex.row + dir.row)


Cüt (EVEN) və tək (TƏK) cərgələr üçün şəbəkə

Tək-q
var istiqamətləri = [ [ 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) ] ] funksiyası ofset_neighbor(hex, direction): var parity = hex.col & 1 var dir = istiqamətləri qaytarmaq Hex(hex.col + dir.col, hex.row + dir.row)


Cüt-q
var istiqamətləri = [ [ 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) ] ] funksiyası ofset_neighbor(hex, direction): var parity = hex.col & 1 var dir = istiqamətləri qaytarmaq Hex(hex.col + dir.col, hex.row + dir.row)


Cüt (EVEN) və tək (TƏK) sütunlar üçün şəbəkə

Diaqonallar

Hex koordinatlarında "diaqonal" məkanda hərəkət etmək üç kub koordinatından birini ±2, digər ikisini isə ∓1 dəyişir (cəm 0 qalmalıdır).

Var diaqonalları = [ Kub(+2, -1, -1), Kub(+1, +1, -2), Kub(-1, +2, -1), Kub(-2, +1, +1 ), Cube(-1, -1, +2), Cube(+1, -2, +1) ] funksiyası kub_diaqonal_neighbor(hex, istiqamət): qaytar kub_əlavə(hex, diaqonallar)
Əvvəlki kimi, biz üç koordinatdan birini atmaqla bu koordinatları ox koordinatlarına çevirə və ya əvvəlcə nəticələri hesablayaraq onları ofset koordinatlarına çevirə bilərik.


Məsafələr

Kub koordinatları

Kub koordinat sistemində hər altıbucaq üçölçülü fəzada bir kubdur. Bitişik altıbucaqlılar altıbucaqlı şəbəkədə bir-birindən 1, kublar şəbəkəsində isə 2 məsafədə yerləşir. Bu, məsafələrin hesablanmasını asanlaşdırır. Kvadratlar şəbəkəsində Manhetten məsafələri abs(dx) + abs(dy) dir. Kublar şəbəkəsində Manhetten məsafələri abs(dx) + abs(dy) + abs(dz) təşkil edir. Altıbucaqlı şəbəkədəki məsafə onların yarısına bərabərdir:

Funksiya kub_məsafə(a, b): qaytarma (abs(a.x - b.x) + abs(a.y - b.y) + abs(a.z - b.z)) / 2
Bu qeydin ekvivalenti üç koordinatdan birinin digər ikisinin cəmi olması lazım olduğunu söyləmək və sonra bunu məsafə kimi qəbul etmək olardı. Aşağıdakı yarılanma formasını və ya maksimum dəyər formasını seçə bilərsiniz, lakin onlar eyni nəticəni verir:

Funksiya kub_məsafəsi(a, b): qayıdış max(abs(a.x - b.x), abs(a.y - b.y), abs(a.z - b.z))
Şəkildə maksimum dəyərlər rənglə vurğulanır. Onu da qeyd edək ki, hər bir rəng altı "diaqonal" istiqamətdən birini təmsil edir.

GIF


Eksenel koordinatlar

Eksenel sistemdə üçüncü koordinat gizli şəkildə ifadə edilir. Məsafəni hesablamaq üçün ekseneldən kuba çevirək:

Funksiya hex_distance(a, b): var ac = hex_to_cube(a) var bc = hex_to_cube(b) return kub_distance(ac, bc)
Əgər kompilyator inline (daxili) hex_to_cube və cube_distance sizin vəziyyətinizdədirsə, o zaman belə kod yaradacaq:

Onaltılıq_məsafə(a, b) funksiyası: qayıdış (abs(a.q - b.q) + abs(a.q + a.r - b.q - b.r) + abs(a.r - b.r)) / 2
Altıbucaqlılar arasındakı məsafələri eksenel koordinatlarda yazmağın bir çox fərqli yolu var, lakin yazı üsulundan asılı olmayaraq eksenel sistemdə altıbucaqlılar arasındakı məsafə kub sistemindəki Manhetten məsafəsindən çıxarılır. Məsələn, təsvir edilən "fərqlər fərqi" a.q + a.r - b.q - b.r kimi a.q - b.q + a.r - b.r yazılaraq və kub_distance bisection forması əvəzinə maksimum dəyər formasından istifadə etməklə əldə edilir. Kub koordinatları ilə əlaqəni görsəniz, hamısı oxşardır.

Ofset koordinatları

Eksenel koordinatlarda olduğu kimi, ofset koordinatlarını kub koordinatlarına çeviririk və sonra kub məsafəsindən istifadə edirik.

Funksiya ofset_distance(a, b): var ac = offset_to_cube(a) var bc = offset_to_cube(b) return kub_distance(ac, bc)
Bir çox alqoritmlər üçün eyni nümunədən istifadə edəcəyik: altıbucaqlılardan kublara çevirin, alqoritmin kub versiyasını işlədin və kub nəticələrini altıbucaqlı koordinatlara çevirin (oxlu və ya ofset koordinatları).

Xətlərin çəkilməsi

Bir altıbucaqlıdan digərinə necə xətt çəkmək olar? Xətləri çəkmək üçün xətti interpolyasiyadan istifadə edirəm. Xətt N+1 nöqtələrində bərabər şəkildə seçilir və bu nümunələrin hansı altıbucaqlılarda olduğu hesablanır.

GIF


  1. Əvvəlcə N-ni hesablayırıq ki, bu da son nöqtələr arasında altıbucaqlılarda məsafə olacaq.
  2. Daha sonra biz A və B nöqtələri arasında bərabər şəkildə N+1 nöqtələrini seçirik. Xətti interpolyasiyadan istifadə edərək müəyyən edirik ki, i-nin 0-dan N-ə qədər olan qiymətləri üçün onlar da daxil olmaqla, hər bir nöqtə A + (B - A) * 1.0/N * olacaqdır. i . Şəkildə bu nəzarət nöqtələri mavi rənglə göstərilmişdir. Nəticə üzən nöqtə koordinatlarıdır.
  3. Hər bir nəzarət nöqtəsini (float) yenidən altıbucaqlılara (int) çevirək. Alqoritm cube_round adlanır (aşağıya bax).
A-dan B-yə bir xətt çəkmək üçün hər şeyi birləşdirin:

lerp(a, b, t) funksiyası: // float üçün a + (b - a) * t funksiyası cube_lerp(a, b, t): // altıbucaqlılar üçün Cube(lerp(a.x, b.x, t) qaytarılır), lerp(a.y, b.y, t), lerp(a.z, b.z, t)) funksiyası cube_linedraw(a, b): var N = kub_məsafə(a, b) var nəticələr = hər 0 ≤ i ≤ N üçün: results.append( cube_round(cube_lerp(a, b, 1.0/N * i))) nəticələri qaytar
Qeydlər:

  • cube_lerp tam olaraq iki altıbucaqlının kənarında olan nöqtəni qaytardığı hallar var. Sonra cube_round onu bu və ya digər istiqamətdə hərəkət etdirir. Xətlər bir istiqamətə köçürülsə, daha yaxşı görünür. Bu, döngəyə başlamazdan əvvəl bir və ya hər iki son nöqtəyə "epsilon"-altıbucaqlı Kub (1e-6, 1e-6, -2e-6) əlavə etməklə edilə bilər. Bu, xəttin kənarlara dəyməməsi üçün bir istiqamətə "düşürüləcək".
  • Kvadrat torlarda DDA xətti alqoritmi N-ni hər bir ox boyunca maksimum məsafəyə bərabərləşdirir. Eyni şeyi kubik məkanda edirik, bu da altıbucaqlı şəbəkədəki məsafəyə bənzəyir.
  • cube_lerp funksiyası float koordinatları olan bir kub qaytarmalıdır. Əgər statik olaraq yazılmış dildə proqramlaşdırırsınızsa, siz Cube tipindən istifadə edə bilməyəcəksiniz. Bunun əvəzinə siz FloatCube növünü təyin edə bilərsiniz və ya başqa bir növü müəyyən etmək istəmirsinizsə, xətt çəkmə kodunuzda funksiyanı daxil edə bilərsiniz.
  • Siz kodu daxili cube_lerp ilə optimallaşdıra və sonra dövrə xaricində B.x-A.x, B.x-A.y və 1.0/N hesablaya bilərsiniz. Vurma təkrar toplamaya çevrilə bilər. Nəticə DDA xətti alqoritmi kimi bir şey olacaq.
  • Xətlər çəkmək üçün eksenel və ya kub koordinatlarından istifadə edirəm, lakin ofset koordinatları ilə işləmək istəyirsinizsə, yoxlayın.
  • Xətləri çəkmək üçün bir çox variant var. Bəzən "üst örtük" tələb olunur. Mənə altıbucaqlılarda super örtülü xətlər çəkmək üçün kod göndərildi, amma hələ ona baxmamışam.

Hərəkətli diapazon

Koordinat diapazonu

Altıbucaqlı mərkəzi və N diapazonunu nəzərə alsaq, hansı altıbucaqlılar ondan N addımlıq məsafədədir?

Altıbucaqlılar arasındakı məsafə düsturundan tərsini edə bilərik məsafə = max(abs(dx), abs(dy), abs(dz)) . N daxilində bütün altıbucaqlıları tapmaq üçün bizə max(abs(dx), abs(dy), abs(dz)) ≤ N lazımdır. Bu o deməkdir ki, hər üç dəyər lazımdır: abs(dx) ≤ N və abs(dy) ≤ N və abs(dz) ≤ N . Mütləq qiyməti çıxararaq -N ≤ dx ≤ N və -N ≤ dy ≤ N və -N ≤ dz ≤ N alırıq. Kodda bu iç-içə döngə olacaq:

Var nəticələri = hər biri üçün -N ≤ dx ≤ N: hər biri üçün -N ≤ dy ≤ N: hər biri üçün -N ≤ dz ≤ N: əgər dx + dy + dz = 0: results.append(cube_add(center, Cube(dx) , dy, dz)))
Bu dövr işləyəcək, lakin kifayət qədər təsirsiz olacaq. Döngə etdiyimiz bütün dz dəyərlərindən yalnız biri dx + dy + dz = 0 kub şərtini təmin edir. Bunun əvəzinə şərti təmin edən dz dəyərini birbaşa hesablayacağıq:

Var nəticələri = hər biri üçün -N ≤ dx ≤ N: hər max(-N, -dx-N) üçün ≤ dy ≤ min(N, -dx+N): var dz = -dx-dy results.append(cube_add() mərkəz, Kub(dx, dy, dz)))
Bu dövr yalnız tələb olunan koordinatlar boyunca keçir. Şəkildə hər diapazon bir cüt xəttdir. Hər bir xətt bərabərsizlikdir. Altı bərabərsizliyi təmin edən bütün altıbucaqlıları götürürük.

GIF


Üst-üstə düşən diapazonlar

Bir neçə diapazonda olan altıbucaqlıları tapmaq lazımdırsa, altıbucaqlıların siyahısını yaratmazdan əvvəl aralıqları kəsə bilərsiniz.

Bu problemə cəbr və ya həndəsə baxımından yanaşa bilərsiniz. Cəbri olaraq hər bir bölgə -N ≤ dx ≤ N formasının bərabərsizlik şərtləri ilə ifadə edilir və bu şərtlərin kəsişməsini tapmaq lazımdır. Həndəsi olaraq, hər bölgə 3D məkanında bir kubdur və biz 3D məkanında kuboid almaq üçün iki kubu 3D məkanda kəsəcəyik. Sonra altıbucaqlıları əldə etmək üçün onu yenidən x + y + z = 0 müstəvisinə proyeksiya edirik. Mən bu problemi cəbri yolla həll edəcəyəm.

Əvvəlcə -N ≤ dx ≤ N şərtini x min ≤ x ≤ x max daha ümumi formada yenidən yazırıq və x min = center.x - N və x max = center.x + N götürürük. Eyni şeyi y və z üçün də edək, nəticədə əvvəlki bölmədən kodun ümumi forması yaranır:

Var nəticələri = hər xmin ≤ x ≤ xmax üçün: hər max(ymin, -x-zmax) üçün ≤ y ≤ min(ymax, -x-zmin): var z = -x-y results.append(Cube(x, y,) z))
İki a ≤ x ≤ b və c ≤ x ≤ d diapazonunun kəsişməsi max(a, c) ≤ x ≤ min(b, d) dir. Altıbucaqlıların sahəsi x, y, z üzərində diapazonlar kimi ifadə edildiyindən, biz x, y, z diapazonlarının hər birini ayrıca kəsə bilərik və sonra kəsişmədə altıbucaqlıların siyahısını yaratmaq üçün iç içə döngədən istifadə edə bilərik. Altıbucaqlıların bir sahəsi üçün x min = H.x - N və x max = H.x + N götürürük, eynilə y və z üçün. İki altıbucaqlı bölgənin kəsişməsi üçün x min = max(H1.x - N, H2.x - N) və x max = min(H1.x + N, H2.x + N) götürürük, eynilə y və z . Eyni nümunə üç və ya daha çox sahənin kəsişməsi üçün işləyir.

GIF


Maneələr

Maneələr varsa, ən asan yol məsafə məhdudiyyəti ilə doldurmaqdır (en-ilk axtarış). Aşağıdakı şəkildə özümüzü dörd hərəkətlə məhdudlaşdırırıq. Kodda fringes[k] k addımda əldə edilə bilən bütün altıbucaqlıların massividir. Hər dəfə əsas döngədən keçəndə k-1 səviyyəsini k səviyyəsi ilə genişləndiririk.

cube_reachable(start, hərəkət) funksiyası: var visited = set() hər 1 üçün ziyarət edilənlərə başlanğıc əlavə et var fringes = fringes.append()< 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

Dönür

Altıbucaqlı vektoru (iki altıbucaqlı arasındakı fərq) nəzərə alsaq, onu başqa altıbucaqlıya işarə etməsi üçün fırlatmaq lazım gələ bilər. 1/6 dairəvi fırlanmaya sadiq qalsanız, kub koordinatları ilə bunu etmək asandır.

Sağa 60° fırlanma hər koordinatı bir mövqedən sağa aparır:

[ x, y, z] ilə [-z, -x, -y] arasında
Sola 60° fırlanma hər koordinatı bir mövqe sola aparır:

[ x, y, z] ilə [-y, -z, -x] arasında



Diaqramla "oynayan" [orijinal məqalədə] hər fırlanmanın 60° olduğunu görə bilərsiniz. dəyişikliklər işarələyir və koordinatları fiziki olaraq “fırladır”. 120° fırlanmadan sonra işarələr yenidən eyni olur. 180° fırlanma işarələri dəyişir, lakin koordinatlar orijinal vəziyyətinə qayıdır.

Budur, P mövqeyinin mərkəzi C mövqeyi ətrafında tam fırlanma ardıcıllığı, nəticədə yeni R mövqeyi:

  1. P və C mövqelərini kub koordinatlarına çevirin.
  2. Mərkəzin çıxarılması ilə vektorun hesablanması: P_from_C = P - C = Cube(P.x - C.x, P.y - C.y, P.z - C.z) .
  3. P_from_C vektorunu yuxarıda göstərildiyi kimi fırladın və son vektora R_from_C təyinatını təyin edin.
  4. Mərkəz əlavə etməklə vektoru yenidən mövqeyə çevirmək: R = R_from_C + C = Cube(R_from_C.x + C.x, R_from_C.y + C.y, R_from_C.z + C.z) .
  5. R kub mövqeyini yenidən istədiyiniz koordinat sisteminə çevirir.
Transformasiyanın bir neçə mərhələsi var, lakin onların hər biri olduqca sadədir. Dönüşü birbaşa eksenel koordinatlarda təyin etməklə bu addımların bəzilərini qısaltmaq mümkündür, lakin hex vektorlar ofset koordinatları ilə işləmir və mən ofset koordinatları üçün addımları necə qısaltacağımı bilmirəm. Fırlanma hesablanmasının digər yolları üçün stackexchange haqqında müzakirəyə də baxın.

Üzüklər

Sadə üzük

Verilmiş altıbucaqlının verilmiş radiuslu halqaya aid olub-olmadığını öyrənmək üçün bu altıbucaqlıdan mərkəzə qədər olan məsafəni hesablamaq və onun radiusa bərabər olub-olmadığını öyrənmək lazımdır. Bütün bu cür altıbucaqlıların siyahısını əldə etmək üçün mərkəzdən radius addımları atmalı və sonra halqa boyunca yol boyunca fırlanan vektorları izləməlisiniz.

cube_ring(mərkəz, radius) funksiyası: var nəticələr = # bu kod radius üçün işləmir == 0; niyə başa düşürsən? var kub = kub_add(mərkəz, kub_miqyas(kub_istiqaməti(4), radius)) hər 0 ≤ i üçün< 6: for each 0 ≤ j < radius: results.append(cube) cube = cube_neighbor(cube, i) return results
Bu kodda kub diaqramın mərkəzindən küncünə qədər böyük bir ox ilə göstərilən bir üzükdən başlayır. Başlamaq üçün 4 bucağı seçdim, çünki o, istiqamət nömrələrimin hərəkət etdiyi yola uyğun gəlir. Fərqli bir başlanğıc bucağına ehtiyacınız ola bilər. Daxili döngənin hər mərhələsində kub bir altıbucaqlı halqanın ətrafında hərəkət edir. 6 * radiuslu addımlardan sonra başladığı yerə çatır.


Spiral üzüklər

Halqaları spiral şəklində keçərək, üzüklərin daxili hissələrini doldura bilərik:

cube_spiral(mərkəz, radius) funksiyası: var nəticələr = hər 1 ≤ k ≤ radius üçün: nəticələr = nəticələr + kub_ring(mərkəz, k) nəticələri qaytarır



Böyük altıbucaqlının sahəsi bütün dairələrin cəminə üstəgəl mərkəz üçün 1-ə bərabərdir. Sahəni hesablamaq üçün bu düsturdan istifadə edin.

Altıbucaqlıların bu şəkildə keçməsi hərəkət diapazonunu hesablamaq üçün də istifadə edilə bilər (yuxarıya bax).

Görmə sahəsi

Müəyyən bir məsafədə müəyyən bir mövqedən nə görünür və maneələrlə bağlanmır? Bunu müəyyən etməyin ən sadə yolu verilmiş diapazonda hər altıbucaqlıya xətt çəkməkdir. Xətt divarlara uyğun gəlmirsə, onda altıbucaqlı görürsən. Bu altıbucaqlılara və xətlərin kəsişdiyi divarlara xətlərin necə çəkildiyini görmək üçün siçanınızı altıbucaqlıların üzərində [orijinal məqalədəki diaqramda] hərəkət etdirin.

Bu alqoritm böyük ərazilərdə yavaş ola bilər, lakin onu həyata keçirmək asandır, ona görə də ondan başlamağı məsləhət görürəm.

GIF



Görünüşün müxtəlif tərifləri var. Orijinalın mərkəzindən başqa altıbucaqlının mərkəzini görmək istəyirsiniz? Orijinalın mərkəzindən başqa altıbucaqlının hər hansı bir hissəsini görmək istəyirsiniz? Bəlkə başqa bir altıbucaqlının hər hansı bir hissəsi başlanğıcın hər hansı bir nöqtəsindən? Görünüşünüzə mane olan maneələr tam altıbucaqlıdan daha kiçikdir? Əhatə dairəsi ilk baxışda göründüyündən daha çətin və müxtəlif anlayışdır. Ən sadə alqoritmlə başlayaq, amma gözləyin ki, o, layihənizdə cavabı mütləq düzgün hesablayacaq. Hətta elə hallar olur ki, sadə alqoritm məntiqsiz nəticələr verir.

Gələcəkdə bu təlimatı genişləndirmək istəyirəm. mənim varımdır



Təsadüfi məqalələr

Yuxarı