Wikiversity
betawikiversity
https://beta.wikiversity.org/wiki/Main_Page
MediaWiki 1.47.0-wmf.9
first-letter
Media
Special
Talk
User
User talk
Wikiversity
Wikiversity talk
File
File talk
MediaWiki
MediaWiki talk
Template
Template talk
Help
Help talk
Category
Category talk
TimedText
TimedText talk
Module
Module talk
Translations
Translations talk
Event
Event talk
User talk:AtUkr
3
26142
385185
384796
2026-07-01T19:41:49Z
Leaderbot
53095
/* Notice of expiration of your sysop right */ new section
385185
wikitext
text/x-wiki
== Test wiki custodian ? ==
Hi, it seems like you are a test wiki custodian but you are deleting random pages from different projects. In my understanding only sysop can do that, but as a test-sysop if you do this it is misuse. Please explain your recent actions. Thanks. -- [[User:ꠢꠣꠍꠘ ꠞꠣꠎꠣ|ꠢꠣꠍꠘ ꠞꠣꠎꠣ]] ([[User talk:ꠢꠣꠍꠘ ꠞꠣꠎꠣ|talk]]) 06:19, 28 August 2024 (UTC)
:Hi, just checked and apparently I ''am'' a test wiki custodian. The point is, believe it or not, I wasn't aware of this. I asked for temporary rights on ''all'' test wikis, as you can see from [[Wikiversity:Candidates for Custodianship]]. But instead I was only made a test sysop. So I guess I missed it when I obtained the rights. We should ask {{ping|Crochet.david}} to clear up the confusion.
:So I apologize if my actions seem inappropriate, but at the same time I don't believe they are. The latest batch of my deletions is English-language pages which have mostly been copied to English Wikiversity, a few empty pages, unneeded templates, some spam etc. I'm fairly certain that my intervention into test wikis other than Ukrainian is (at the moment) quite minuscule. Of course, this theoretically isn't part of a test sysop's remit, but I think those pages ought to have been deleted a long time ago anyway, they're not "random" as you stated. In any case, I'm not shirking the responsibility for my actions, and I'm willing to explain my reasoning to anyone authorized to judge. [[User:AtUkr|AtUkr]] ([[User talk:AtUkr|talk]]) 12:58, 28 August 2024 (UTC)
== Deletion of page මුල් පිටුව ==
You have deleted the page: [[මුල් පිටුව]], and then removed it from the language list on the main page, claiming it is a test page; right? That was the landing page for Sinhala language beta wikiversity page; wasn't it? Do you think the action was correct? -- [[User:Lee|Lee]] ([[User talk:Lee|talk]]) 04:55, 18 July 2025 (UTC)
:I am aware that it was supposed to be the Sinhala testwiki main page. However, here is the entire wikicode of that deleted page:
<pre>{{:මුල් පිටුව /ඉහළ}}{{රාමුව|විකිසරසවිය:දැන්වීම්/si}}__NOTOC__
== විකි සරසවිය යනු කුමක්ද? ==
විකි සරසවිය යනු [[විකිමාධ්ය පදනම|විකිමාධ්ය පදනමෙහි]] ව්යාපෘතියකි.
[[Category:SI]]
</pre>
:So two templates and a single sentence stating that Wikiversity is a project of the Wikimedia Foundation. That is simply useless. The only effect that page had was maintaining the illusion that a Sinhala test wiki really existed, while in reality it was only that stub of a main page and its templates. So yes, I considered it a test, more of an attempt than a real, useful page.
:I see that you're a Sinhala speaker yourself. In that case, I invite you to translate the project's [[Main Page]] into your language. (Click "Translate this page" at the top) That will provide a real starting point for Sinhala speakers to understand what Beta Wikiversity is. [[User:AtUkr|AtUkr]] ([[User talk:AtUkr|talk]]) 05:12, 18 July 2025 (UTC)
== Notice of expiration of your interface-admin right ==
<div dir="ltr">Hi, as part of [[:m:Special:MyLanguage/Global reminder bot|Global reminder bot]], this is an automated reminder to let you know that your permission "interface-admin" (Interface administrators) will expire on 2025-10-16 14:29:00. Please renew this right if you would like to continue using it. <i>In other languages: [[:m:Special:MyLanguage/Global reminder bot/Messages/default|click here]]</i> [[User:Leaderbot|Leaderbot]] ([[User talk:Leaderbot|talk]]) 19:43, 9 October 2025 (UTC)</div>
== Notice of expiration of your sysop right ==
<div dir="ltr">Hi, as part of [[:m:Special:MyLanguage/Global reminder bot|Global reminder bot]], this is an automated reminder to let you know that your permission "sysop" (Custodians) will expire on 2025-10-16 14:29:34. Please renew this right if you would like to continue using it. <i>In other languages: [[:m:Special:MyLanguage/Global reminder bot/Messages/default|click here]]</i> [[User:Leaderbot|Leaderbot]] ([[User talk:Leaderbot|talk]]) 19:43, 9 October 2025 (UTC)</div>
== Linking in edit summaries ==
Please note that bare URLs like "<nowiki>https://w.wiki/HeQU</nowiki>" are ''not'' autolinked in edit summaries the way they are in regular wiki pages (here I have suppressed the autolinking by using 'nowiki'), so those references in your latest page deletion edit summaries are not very convenient for readers. In this case, you could have used "<code><nowiki>[[Special:PermanentLink/381479]]</nowiki></code>" (rendered as [[Special:PermanentLink/381479]] in edit summaries as well as on normal pages). The slightly shorter "Permalink" can also be used instead of "PermanentLink". - [[User:Dcljr|dcljr]] ([[User talk:Dcljr|talk]]) 01:41, 30 January 2026 (UTC)
: Understood, thank you. [[User:AtUkr|AtUkr]] ([[User talk:AtUkr|talk]]) 13:14, 30 January 2026 (UTC)
== Protecting pages ==
Hi. Can you protect [[Trang Chính]]? This is a main page of Vietnamese, which is a highly visible page, so it shouldn't be edited by logged-out editors to prevent vandalism. [[User:Nvdtn19|Nvdtn19]] ([[User talk:Nvdtn19|{{int:talkpagelinktext}}]]) 07:49, 31 January 2026 (UTC)
: {{done}} [[User:AtUkr|AtUkr]] ([[User talk:AtUkr|talk]]) 14:12, 31 January 2026 (UTC)
== Імейл повідомлення ==
Привіт, тільки зараз прочитав ваш імейл. Ці сторінки про що ви згадали швидше за все більше не потрібні. Адже інформація на них насправді вже стара) Все одно сподіваюсь, що коли-небудь повернусь до цього проєкту, просто наразі не вистачає енергії. [[User:Vogone|Vogone]] ([[User talk:Vogone|talk]]) 20:25, 31 March 2026 (UTC)
: Hi, thanks for the reply. (Not sure which language I should use now, lol) Anyways, those pages make up much of the LT test project, so I'll be deleting them in order to clear up the real situation. Much obliged. [[User:AtUkr|AtUkr]] ([[User talk:AtUkr|talk]]) 20:32, 31 March 2026 (UTC)
== Notice of expiration of your translationadmin right ==
<div dir="ltr">Hi, as part of [[:m:Special:MyLanguage/Global reminder bot|Global reminder bot]], this is an automated reminder to let you know that your permission "translationadmin" (Translation administrators) will expire on 2026-04-11 21:48:21. Please renew this right if you would like to continue using it. <i>In other languages: [[:m:Special:MyLanguage/Global reminder bot/Messages/default|click here]]</i> [[User:Leaderbot|Leaderbot]] ([[User talk:Leaderbot|talk]]) 19:41, 5 April 2026 (UTC)</div>
== Deletion of [[Dvidešimtainė skaičiavimo sistema]] ==
Deleted [[Dvidešimtainė skaičiavimo sistema]] in lithuanian. Can you give more detailed explanation? Thank you. --[[User:Kusurija|Kusurija]] ([[User talk:Kusurija|talk]]) 15:47, 23 June 2026 (UTC)
: [[Kursas:Kaip redaguoti puslapį/viktorina]] dtto, and all pages in lithuanian... ? --[[User:Kusurija|Kusurija]] ([[User talk:Kusurija|talk]]) 16:21, 23 June 2026 (UTC)...22 April 2026--[[User:Kusurija|Kusurija]] ([[User talk:Kusurija|talk]]) 16:23, 23 June 2026 (UTC)
::21:26, 22 April 2026 AtUkr talk contribs deleted page Pagrindinis puslapis (Abandoned resource (via JWB)) ??--[[User:Kusurija|Kusurija]] ([[User talk:Kusurija|talk]]) 16:28, 23 June 2026 (UTC)
:* [[Dvidešimtainė skaičiavimo sistema]] and other pages in [[:Category:Skaičiavimo sistemos]] were simply lists of numbers converted to different numeral systems. Those could've worked as appendices for a proper course, but not as standalone educational resources. Not to mention those pages were more than 10 years old and yet not made use of in any way.
:* [[Kursas:Kaip redaguoti puslapį/viktorina]] was marked as a work in progress, except no work was being done there for those same 10 years.
: The rest consisted mostly of pages dedicated to courses offered by the Vilnius University. Now Wikiversity is not meant to host such materials, but even if it was, the pages included the name of a course, the amount of ECTS credits assigned, and a link to the course's webpage on the university's website - and very rarely anything else. Plus many links were already broken. All in all, the final conclusion was that the test wiki had no viable educational content, and there was no hope of fixing it as no users had worked on it for more than 10 years. As such, it was deleted entirely, main page included.
: Of course, if you want the pages you created to be restored, I'm not at all opposed to having them moved to your user space. But they're not suitable for a proper test project. [[User:AtUkr|AtUkr]] ([[User talk:AtUkr|talk]]) 19:05, 23 June 2026 (UTC)
::Yes, restore them, and those I had edited too to my userspace. --[[User:Kusurija|Kusurija]] ([[User talk:Kusurija|talk]]) 21:03, 23 June 2026 (UTC)
::: {{done}} [[User:AtUkr|AtUkr]] ([[User talk:AtUkr|talk]]) 21:26, 23 June 2026 (UTC)
== Notice of expiration of your sysop right ==
<div dir="ltr">Hi, as part of [[:m:Special:MyLanguage/Global reminder bot|Global reminder bot]], this is an automated reminder to let you know that your permission "sysop" (Custodians) will expire on 2026-07-08 18:17:00. Please renew this right if you would like to continue using it. <i>In other languages: [[:m:Special:MyLanguage/Global reminder bot/Messages/default|click here]]</i> [[User:Leaderbot|Leaderbot]] ([[User talk:Leaderbot|talk]]) 19:41, 1 July 2026 (UTC)</div>
2ouv58qdahoounjcvk9gtchensrig5s
Играта Хей Дей/Селскостопански животни
0
37260
385179
384654
2026-07-01T17:02:55Z
~2026-37720-24
55663
385179
wikitext
text/x-wiki
==Общо==
Селскостопанските животни са важна част от фермата. Хранят се със специфичен фураж.
Животните могат да бъдат облечени или голи. Дрехите за животни могат да бъдат получени от платения ред на пропуска. Някои дрехи се получават безплатно. Съществуват сезонно облекло. Шапките биват:
*розова шапка за рожден ден
*зелена вълнена шапка
*розова каубойска шапка
*императорска шапка
*кафява алпийска шапка
*заешки уши
*шапка с въртолет
*парти шапка за рожден ден
*бежова каубойска шапка
*зелена алпийска шапка
*шапка с пухена топка
*кафява каубойска шапка
*червена вълнена шапка
*червена елфска шапка
*синя императорска шапка
*бейзболна шапка
*зелен цилиндър
*шапка с чадърче
*пътническа шапка с пухена топка
*звездовидна шапка от балон
*кокошкообразна шапка от балон
*моряшка шапка с пухена топка
*коркова твърда шапка
*шапка за катарама
*шапка-прилеп
*шапка с ръце
*зелена елфска шапка
*полицейска шапка
*дъгоцветна корона
*шлем с крила
*канотие с перо
*шапка-пиле
*колоездачна каска
*шапка за рожден ден с пухена топка
*рибарска шапка
*шапка-рак
*зелено канотие
*коннишка шапка
*викингски шлем
*зимна шапка-снежен човек
*зимна шапка-ушанка
*празнична шапка за рожден ден
*разноцветна шапка за рожден ден
*диадема със сърчица
*шапка с детелина
*морковена шапка
*шапка на вълшебника
*цветна шапка
*модна перука
*сламена шапка
*лавров венец
*сива алпийска шапка
*диадема с прилепи
*шапка с пуйка
*парадна шапка
*диадема със снежинки
*шапка с изкуствена кожа
*шапка с цветя
*диадема с пеперуди
*шапка-жаба
*диадема за Деня на земята
*цветна диадема
*хипарска шапка
*цветен венец
*кожена каубойска шапка
*слонска шапка
*градинска шапка
*мексиканска шапка
*станиолова шапчица
*зимен венец
*плетена шапка
*шапка за сауна
*диадема с кутийка сърчице
*шапка за Международен ден на жената
*шапка-черупка
*цилиндър с цвят
*шапка в стил кънтри
*шапка от Дивия запад
==Кокошки (''Gallus gallus domesticus'')==
Отключват се още в началото на играта. Дават яйца. Има целогодишна ограда в раздел за украшения.
==Крави (''Bos primigenius taurus'')==
Отключват се в шесто ниво. Дават мляко. Има целогодишна ограда в раздел за украшения.
==Прасета (''Sus scrofa domestica'')==
Отключват се в десето ниво. Дават бекон.
==Овце (''Ovis orientalis aries'')==
Отключват се в шестнадесето ниво. Дават вълна.
==Агнета (''Ovis orientalis aries'')==
Отключват се в двадесет и пето ниво. Дават агнешки ребърца.
==Кози (''Capra aegagrus hircus'')==
Отключват се в тридесет и второ ниво. Дават козе мляко.
[[Category:Хей Дей]]
[[Category:BG]]
79pqhukcebspxplq1qh0hvnsr8ppnk6
Играта Хей Дей/Кораб
0
37263
385182
380769
2026-07-01T17:11:35Z
~2026-37720-24
55663
385182
wikitext
text/x-wiki
Корабът е един от продавалниците във ферма. Отключва се в седемнадесето ниво.
==Поръчки==
Първоначално има шест поръчки за три различни стоки (по две за една стока). Не се предлагат пчелни пити, продукти от мелница за фураж, рудник, работница за куки, машина за правене на мрежи, бижутерия, екстрактор на мед и бонбониера.
==Помощ==
Най-много три поръчки могат да бъдат запълнени от други играчи. Четвъртата поръчка за помощ се изпълнява само от членовете на присъединения квартал.
==Завършване==
Ако се завършва корабът, определя се какъв е ваучерът, който ще се получи. В специални случаи се получава едно парче пъзел. След завършване се изчаква четири часа.
==Дестинации==
Дестинациите биват закътено заливче, замръзнала земя, стар фар. За пътуване се използват компаси.
[[Category:Хей Дей]]
[[Category:BG]]
f60rifu1nke6lnw1ty4emozy3lmebae
385184
385182
2026-07-01T17:24:22Z
~2026-37720-24
55663
385184
wikitext
text/x-wiki
Корабът е един от продавалниците във ферма. Отключва се в седемнадесето ниво.
==Поръчки==
Първоначално има шест поръчки за три различни стоки (по две за една стока). Не се предлагат пчелни пити, продукти от мелница за фураж, рудник, работница за куки, машина за правене на мрежи, бижутерия, екстрактор на мед и бонбониера.
==Помощ==
Най-много три поръчки могат да бъдат запълнени от други играчи. Четвъртата поръчка за помощ се изпълнява само от членовете на присъединения квартал.
==Завършване==
Ако се завършва корабът, определя се какъв е ваучерът, който ще се получи. В специални случаи се получава едно парче пъзел. След завършване се изчаква четири часа.
==Дестинации==
Дестинациите биват закътено заливче, замръзнала земя, стар фар, празно пристанище. За пътуване се използват компаси.
[[Category:Хей Дей]]
[[Category:BG]]
mmskoboesa6fb8fi83s34bf51zxcr5a
Играта Хей Дей/Любимци
0
37266
385183
384653
2026-07-01T17:23:22Z
~2026-37720-24
55663
/* Алпаки (Lama pacos) */
385183
wikitext
text/x-wiki
Любимците са домашни животни, които не дават животински продукти. Купуват с ваучери. Именуват се.
==Кучета (''Canis lupus familiaris'')==
Хранят се с бекон.
*Ретрийвър (двадесето ниво)
*Пинчер (двадесет и второ ниво)
*Хъски (двадесет и четвърто ниво)
*Маламут (двадесет и пето ниво)
*Хрътка (тридесето ниво)
==Котки (''Felis sylvestris cattus'')==
Хранят се с мляко.
*Таби (двадесет и първо ниво)
*Трицветна котка (двадесет и трето ниво)
*Двуцветна котка (тридесет и първо ниво)
==Алпаки (''Lama pacos'')==
Хранят с ябълки
*Алпака хуакая (тридесет и четвърто ниво)
*Алпака сури (четиридесет и четвърто ниво)
*Бебе алпака хуакая
*Бебе алпака сури
==Кученца (''Canis lupus familiaris'')==
Хранят се с бекон.
*Кученце ретрийвър (тридесет и пето ниво)
*Малко хъски (четвърто ниво)
*Маламутче (петдесето ниво)
*Кученце пинчер (петдесето ниво)
*Хрътчица (петдесет и четвърто ниво)
==Котенца (''Felis sylvestris cattus'')==
Хранят се с мляко.
*Котенце таби (четиридесет и девето ниво)
*Трицветно котенце (петдесет и шесто ниво)
*Двуцветно котенце (шестдесето ниво)
==Зайци (''Oryctolagus cuniculus domesticus'')==
Хранят се с моркови.
*Бял заек (тридесет и първо ниво)
*Черен заек (тридесет и осмо ниво)
*Пухкав заек (четиридесет и първо ниво)
==Коне (''Equus ferus caballus'')==
Хранят се с моркови.
*Кафяв кон (двадесет и седмо ниво)
*Паломино (тридесет и второ ниво)
*Петнист кон (тридесет и четвърто ниво)
*Андалуски кон (четиридесето ниво)
*Липицанер (четиридесет и седмо ниво)
*Шетландско пони (петдесето ниво)
*Фиордово пони (петдесето и второ ниво)
*Апалуза (шестдесет и първо ниво)
==Магарета (''Equus africanus asinus'')==
Хранят се с моркови.
*Провансалско магаре (четиридесет и трето ниво)
*Анатолийско магаре (петдесет и второ ниво)
*Андалуско магаре (петдесет и пето ниво)
==Морски свинчета (''Cavia porcellus'')==
Хранят се с моркови.
*Плюшено свинче (шестдесето ниво)
*Свинче шеба (шестдесет и четвърто ниво)
*Копринено свинче (седемдесет и първо ниво)
==Птици==
Храни с различна храна. Купуват се със специални ваучери заедно с друг вид. Отключват се в двадесето ниво.
*Пауни (''Pavo cristatus'')
**син паун
**кафяв паун
**бял паун
*Тукани
**плоскоклюн тукан (''Andigena laminirostris'')
**ръбестоклюн тукан (''Ramphastos sulfuratus'')
**тукан токо (''Ramphastos toco'')
*Какадута
**розово какаду (''Eolophus roseicapilla'')
**жълтокачулато какаду (''Cacatua galerita'')
**какаду инка (''Cacatua leadbeateri'')
*Чапли
**агамия (''Agamia agami'')
**южноамериканска чапла (''Pilherodius pileatus'')
**трицветна чапла (''Egretta tricolor'')
*Пеликани
**кафяв пеликан (''Pelecanus occidentalis'')
**австралийски пеликан (''Pelecanus conspicillatus'')
**къдроглав пеликан (''Pelecanus crispus'')
*Фламинги
**андско фламинго (''Phoenicoparrus andinus'')
**американско фламинго (''Phoenicopterus ruber'')
**розово фламинго (''Phoenicopterus roseus'')
*Лебеди
**черен лебед (''Cygnus atratus'')
**черношиест лебед (''Cygnus melancoryphus'')
**поен лебед (''Cygnus cygnus'')
*Ари
**червена ара (''Ara macao'')
**хиацинтова ара (''Anodorhynchus hyacinthinus'')
**синьо-жълта ара (''Ara ararauna'')
[[Category:Хей Дей]]
[[Category:BG]]
hj4jlzo2btygw7qfqflds2btc63fml5
Играта Хей Дей/Долина
0
40170
385181
384652
2026-07-01T17:06:39Z
~2026-37720-24
55663
/* Видове магазини */
385181
wikitext
text/x-wiki
Има достъп с камион до долината, когато е залепен плакатът на таблото и върви сезонът. Отключва се двадесет и пето ниво.
==Дневни задачи==
Дневните задачи се извършва само в територията на долината. На един ден са поставени четири задачи.
Дневните задачи биват:
*събиране на няколко жетона със специфичен цвят;
*завършване на няколко поръчки в долина;
*каране през спирки или при сградите;
*помощ в дружествена поръчка;
*завъртане на колелото за набавяне на гориво
*неколкократно доставяне
*посещение на някои сгради от един вид
*ремонт на закъсали камиони (остаряла)
*събиране на кокошки или прибиране на животните.
С няколко завършени задачи има късметлийски набавки. Една късметлийска набавка има три рунда. Всеки рунд има награди и поне една бомба. Ако не се докосне бомбата ще бъдат спечели награди. Ако се получи бомба, всички награди ще се изгубят. За продължаване на рунда се използват диаманти.
==Презареждане на камиона==
Всеки ден дава безплатно гориво. За набавяне на гориво, трябва да се завърти колелото. Трябва да се завършват най-малко три слънчеви действия за деня, за да се отключи едно завъртане на колелото. Повтарят се след завършването им. След току-що се отключи завъртането продължават да се събират слънцата. Следващото завъртане струва диаманти.
Слънчевите действия биват:
*посаждане на земеделски култури;
*хранене на животни;
*завършване на поръчки за камиона;
*хващане на няколко риби;
*залагане на мрежи и капани за омари и патици;
*завършване на дерби задачи.
==Сгради и спирки==
Всяка спирка харчи един обем гориво.
Сградите се делят на четири вида: къщи, обществени сгради, горивници и зоопаркове.
Когато пътувате до желана сграда, пътьом се събират кокошки или се приберат диви животни или се поправят закъсали камиони.
В някои случаи дивите животни могат да избягат от камиона.
Съществува специален вид сгради - горивница, където камионите са зареждат с гориво.
==Магазин==
===Жетони===
Жетоните са валути с различни цветове и различни форми. Има ограничение в склада.
При изпълнение на поръчки част от жетони отиват в касичката. Касичката се отваря в края на сезона. Неизползваните жетони се прехвърлят в касичка като резерв за следващия сезон.
===Видове магазини===
Обикновеният магазин е целовременен. Има секции, който се отключват поетапно.
Сезонният магазин се отключва, когато се събират няколко десетки кокошки или се прибират няколко десетки диви животни в зоопаркове. В изпитание в този магазин се предлагат сезонни украшения, парчета от пъзел, разрешителни. Предлагат се диаманти, украшения и ускорители.
Поредица „Транспортни средства“:
*кола
*влак
*лодка
*самолет
*тротинетка
*балон
Поредица „Животни с роли“
*прасе турист
*крава капитан
*коза на ролери
*кокошка гмуркач
*овца на скейтборд
*прасе сърфист
*кокошка подводен гмуркач
*кокошка изследовател
*овца скиор
Поредица „Обиколи света“
*златен слон
*крава с брецел
*пустинно куче
*прасешка кула
*дамска статуя
*овца-лос
*желязна кула
*коза изпълнител
*перната статуя
*скъпоценна корона
*пещерни рисунки
*цветни кули
*каменна стена
*златни стълбове
*късметлийска овца
*мирна вятърна мелница
*фонтан с риба
*изрисуван кон
*фонтан с катерица
*свински колос
*каменен храм
*златна топка
*русал Грег
*място на разкопките
*пъстроцветен петел
*езерце със статуя на трол
*коза с панфлейта
*пустинен пазар
*крава със сирене
*глуха камбана
*пчелна безметежност
*ездач на кучета
*пазители на планината
*коза вампир
*майка родина
*еленска колибка
*кафе със себе си
*фенове на ръгби
*народен танц
*патици с кошници
*моторикша на Грег
*вълнени близнаци
*дърво с гривни
*коза футболистка
*улични търговци
*ремонт на часовници
*ярки килими
*овца на скала
*алпийски връх
*коралов риф
*хранене на папагали
*гнездо на комина
*каменни лемури
*пресни сирена
*пъстроцветен гоблен
*уютна юрта
*разноцветни маски
*храм на спокойствието
*пъстроцветна колибка
*бране на малинки
*продавач на боб
*паметник на жътварите
*термален басейн
*слънчеви макове
*блестящ оратор
*дружелюбен дракон
*страшен тигър
==Пейзажи==
*кокоша долина - изпитателен (нулев), първи, втори, трети, четвърти, пети, седми, девети, единадесети, тринадесети, петнадесети, седемнадесети, деветнадесети сезон и т.н.
*зоопарк - шести, осми, десети, дванадесети, четиринадесети, шестнадесети, осемнадесети, двадесети сезон и т.н.
==Времетраене==
По принцип сезон на долината трае три седмици. Петдесет и деветият сезон е една седмица по-къс.
Сезонът започва в четвъртото число от месеца и свършва в двадесет и петото число от месеца. Изключения правят първите двадесет сезона и петдесет и деветият сезон.
[[Category:Хей Дей]]
[[Category:BG]]
kdjwdmpf4rtj417enmsyyrmg0013dsp
Играта Хей Дей/Колекционерство
0
51860
385180
384655
2026-07-01T17:06:01Z
~2026-37720-24
55663
/* Списък */
385180
wikitext
text/x-wiki
Колекционерството е начин за събиране на украшения.
==Колекции==
Колекциите са група от украшения по тема, достъпно в определен период от време. Ако всички украшения навреме са събрани, ще се спечели награда. Има награди, които се печелят в праговете.
==Списък==
*рокендрол рожден ден (юни 2024) - единадесет украшения
*надпис Хей Дей (юни 2024) - шест украшения
*летен базар (юли 2024) - десет украшения
*басейн (юли 2024) - десет украшения
*летни шампиони (август 2024) - дванадесет украшения
*летни игри (август 2024) - шест украшения
*аквариум (август 2024) - пет украшения
*уютна есен (септември 2024) - дванадесет украшения
*посрещане на есента (септември 2024) - седем украшения
*Октоберфест (септември 2024) - осем украшения
*призрачен пейзаж (октомври 2024) - десет украшения
*Хелоуин (октомври 2024) - тринадесет украшения
*зимата идва (ноември 2024) - девет украшения
*вечеря в Деня на благодарността (ноември 2024) - шест украшения
*пир в Деня на благодарността (ноември 2024) - девет украшения
*зимни празници (декември 2024) - девет украшения
*празнично веселие (декември 2024) - шест украшения
*празнична атмосфера (декември 2024) - девет украшения
*зимни забави (януари 2025) - шест украшения
*съзерцание и хармония (януари 2025) - шест украшения
*Година на змията (януари 2025) - шест украшения
*Милион червени рози (февруари 2025) - шест украшения
*сладки сърца (февруари 2025) - девет украшения
*голям карнавал (февруари 2025) - шест украшения
*пролетно настроение (март 2025) - девет украшения
*пролетни цветя (март 2025) - девет украшения
*търсене на шоколадови яйца (април 2025) - дванадесет украшения
*Ден на Земята (април 2025) - девет украшения
*златна седмица (април 2025) - девет украшения
*ква-ква (април 2025) - дванадесет украшения
*пищно цъфтене (май 2025) - дванадесет украшения
*плет Хей Дей (май 2025) - шест украшения
*пчелно събитие (май 2025) - шест украшения
*тринадесет рожден ден (юни 2025) - тринадесет украшения
*хипарско парти (юни 2025) - четиринадесет украшения
*поход с Грег (юни 2025) - девет украшения
*уестърн (юли 2025) - девет украшения
*почивка в Дивия запад (юли 2025) - шест украшения
*тропическо настроение (юли 2025) - шест украшения
*грижа за животни (август 2025) - дванадесет украшения
*лятно веселие (август 2025) - девет украшения
*събиране на реколта (август 2025) - девет украшения
*селски живот (септември 2025) - девет украшения
*беритба на ябълките (септември 2025) - шест украшения
*призрачен Хелоуин (октомври 2025) - дванадесет украшения
*пакост или лакомство (октомври 2025) - шест украшения
*страшни признаци (октомври 2025) - шест украшения
*Хелоуин с призраци (октомври 2025) - специална колекция - единадесет признака
*Ден на мъртвите (октомври-ноември 2025) - шест украшения
*към Луната (ноември 2025) - дванадесет украшения
*огнище и жътва (ноември 2025) - шест украшения
*празничен сезон (декември 2025) - дванадесет украшения
*в леда (декември 2025) - девет украшения
*празничен лай (декември 2025) - специална колекция - десет кучета (пет хъскита и пет маламута)
*ново начало (януари 2026) - дванадесет украшения
*заснежени дървета (януари 2026) - девет украшения
*снежна безметежност (януари 2026) - шест украшения
*във въздуха витае любовта (февруари 2026) - дванадесет украшения
*сила на любовта (февруари 2026) - девет украшения
*Година на коня (февруари 2026) - шест украшения
*лунна нощ в пустиня (февруари 2026) - девет украшения
*жени в историята (март 2026) - девет украшения
*фестивал на боите (март 2026)- шест украшения
*символи (март 2026) - шест украшения
*пролетни букви (март 2026) - шест украшения
*шоколадови зайци (април 2026) - девет украшения
*мила охота за яйца (април 2026) - дванадесет украшения
*нашествие на пиленца (април 2026) - специална колекция - седем пиленца
*нашествие на големи пиленца (април 2026) - десет украшения
*спокоен ручей (април 2026) - дванадесет украшения
*Ден на земята (април 2026) - девет украшения
*мечти под глицинията (май 2026) - шест украшения
*златен фестивал (май 2026) - шест украшения
*гладни агнета (май 2026) - шест украшения
*мирни пасища (май 2026) - девет украшения
*разноцветни дървета (май 2026) - девет украшения
*кънтри фестивал (юни 2026) - дванадесет украшения
*поход за природата (юни 2026) - девет украшения
*Гората на Грийн Гейм Джем (юни 2026) - девет украшения
*вълнести алпаки (юни 2026) - шест украшения
*уютен химн (юни 2026) - тринадесет украшения
*Див запад (юли 2026) - дванадесет украшения
*разширение на плажа (юли 2026) - дванадесет украшения
*мини-голф (юли 2026) - девет украшения
[[Category:Хей Дей]]
[[Category:BG]]
4doyr70jsha2w555y4y3jtkt2dqqy9u
Рэндэрынг мноства Мандэльброта на C++
0
55805
385187
385176
2026-07-02T09:14:59Z
Aokoroko
55658
/* Зыходны код C++ */
385187
wikitext
text/x-wiki
{{Language|be}} <span style="font-size:90%; color:#54595d;">Мовы курса:</span> [https://ru.wikiversity.org/wiki/Рендеринг_множества_Мандельброта_на_C%2B%2B 🇷🇺 Русский] • '''🇧🇾 Беларуская''' • [[Рендеринг множини Мандельброта на C++|🇺🇦 Українська]]
{| class="wikitable" style="float: right; margin: 0 0 1em 1em; width: 300px;"
|-
! colspan="2" | Курс «Рэндэрынг мноства Мандэльброта на C++»
|-
| '''Факультэт:''' || Інфармацыйныя тэхналогіі
|-
| '''Прэрэквізіты:''' || Веданне сінтаксісу C++ і камплексных лікаў
|-
| '''Патрабаванні пасля:''' || Навыкі аптымізацыі рэндэрынгу фракталаў
|-
| '''Выкладчык:''' || [[User:Aokoroko]]
|}
== Уводзіны ==
Дадзены практыкум змяшчае арыгінальны зыходны код на C++ для высокадакладнага рэндэрынгу фрагментаў мноства Мандэльброта з выкарыстаннем алгарытмаў аптымізацыі (уключаючы тэорыю абурэнняў) і глыбокага згладжвання (8x8 SSAA). Аўтар алгарытму і выяў: [[User:Aokoroko]].
== Ключавыя асаблівасці ==
* Разлік апорнай траекторыі на 5000 біт усяго адзін раз.
* Рэактыўны разлік мільярда пікселяў на апаратным double.
* Пры выкарыстанні лікаў з плаваючай коскай двайной дакладнасці (парадку 10⁻¹⁵) тэорыя абурэнняў дазваляе наблізіцца да ўзроўню 10⁻³⁰⁸ - не далей.
* Рэвалюцыйны алгарытм Reference Reset to Zero.
* Сапраўдны SSAA 8x8 для ідэальна згладжанага малюнка без аліасінгу.
* Паралелізм OpenMP для высокахуткаснага шматпаточнага рэндэрынгу.
== Зыходны код C++ ==
Ніжэй прадстаўлены зыходны код праграмы, які выкарыстоўваўся для генерацыі 100-мегапіксельных выбраных выяў на Вікісховішчы.
<syntaxhighlight lang="cpp">
#include <iostream>
#include <fstream>
#include <vector>
#include <cmath>
#include <cstdint>
#include <string>
#include <atomic>
#include <omp.h>
#include <cstdio>
#include <iomanip>
#include <gmp.h>
#include <mpfr.h>
using namespace std;
const double PI = 3.14159265358979323846;
const mpfr_prec_t MPFR_BITS = 5000;
#pragma pack(push, 1)
struct BMPHeader {
uint16_t type{0x4D42};
uint32_t size{0};
uint16_t reserved1{0};
uint16_t reserved2{0};
uint32_t offBits{54};
uint32_t structSize{40};
int32_t width{0};
int32_t height{0};
uint16_t planes{1};
uint16_t bitCount{24};
uint32_t compression{0};
uint32_t sizeImage{0};
int32_t xpelsPerMeter{2834};
int32_t ypelsPerMeter{2834};
uint32_t clrUsed{0};
uint32_t clrImportant{0};
};
#pragma pack(pop)
struct ComplexDouble {
double re;
double im;
};
int main() {
string absc_str, ordi_str, size_str;
absc_str = "-1.7491311840575335110236048528001036247123430447933925298694915282522178938437759580179";
ordi_str = "-0.0001996960702541036804654299663680287246637758588467627907752429037173153157138373325";
size_str = "2.84e-82";
const int targetW = 2160;
const int targetH = 2160;
const int scale = 8;
const int rawW = targetW * scale;
const int rawH = targetH * scale;
const int frame = 140;
cout << "Step 1: Calculating Reference Orbit using Perturbation..." << endl;
mpfr_t rx, ry, zr, zi, zr2, zi2, tmp, sz, st;
mpfr_inits2(MPFR_BITS, rx, ry, zr, zi, zr2, zi2, tmp, sz, st, NULL);
mpfr_set_str(rx, absc_str.c_str(), 10, MPFR_RNDN);
mpfr_set_str(ry, ordi_str.c_str(), 10, MPFR_RNDN);
mpfr_set_str(sz, size_str.c_str(), 10, MPFR_RNDN);
mpfr_div_ui(st, sz, rawW, MPFR_RNDN);
double step_d = mpfr_get_d(st, MPFR_RNDN);
vector<ComplexDouble> ref_orbit_double(50005);
mpfr_set_ui(zr, 0, MPFR_RNDN);
mpfr_set_ui(zi, 0, MPFR_RNDN);
mpfr_set_ui(zr2, 0, MPFR_RNDN);
mpfr_set_ui(zi2, 0, MPFR_RNDN);
uint32_t ref_i = 0;
bool escaped = false;
while (ref_i < 50000) {
ref_orbit_double[ref_i].re = mpfr_get_d(zr, MPFR_RNDN);
ref_orbit_double[ref_i].im = mpfr_get_d(zi, MPFR_RNDN);
mpfr_mul(tmp, zr, zi, MPFR_RNDN);
mpfr_mul_ui(zi, tmp, 2, MPFR_RNDN);
mpfr_add(zi, zi, ry, MPFR_RNDN);
mpfr_sub(zr, zr2, zi2, MPFR_RNDN);
mpfr_add(zr, zr, rx, MPFR_RNDN);
mpfr_mul(zr2, zr, zr, MPFR_RNDN);
mpfr_mul(zi2, zi, zi, MPFR_RNDN);
if (escaped) {
ref_i++;
break;
}
mpfr_add(tmp, zr2, zi2, MPFR_RNDN);
if (mpfr_cmp_d(tmp, 4.0) >= 0) {
escaped = true;
}
ref_i++;
}
ref_orbit_double[ref_i].re = mpfr_get_d(zr, MPFR_RNDN);
ref_orbit_double[ref_i].im = mpfr_get_d(zi, MPFR_RNDN);
uint32_t max_valid_ref_iter = ref_i;
mpfr_clears(rx, ry, zr, zi, zr2, zi2, tmp, sz, st, NULL);
uint8_t pal[256][3];
for (int a = 0; a < 255; ++a) {
pal[a][0] = (uint8_t)round(127.0 + 127.0 * cos(2.0 * PI * a / 255.0)); // Blue
pal[a][1] = (uint8_t)round(127.0 + 127.0 * sin(2.0 * PI * a / 255.0)); // Green
pal[a][2] = (uint8_t)round(127.0 + 127.0 * sin(2.0 * PI * a / 255.0)); // Red
}
pal[255][0] = 255; pal[255][1] = 255; pal[255][2] = 255;
cout << "Step 2: Stream rendering Mandelbrot140.bmp (" << targetW << "x" << targetH << ")..." << endl;
int rowSize = (targetW * 3 + 3) & ~3;
BMPHeader header;
header.width = targetW;
header.height = targetH;
header.sizeImage = rowSize * targetH;
header.size = header.sizeImage + 54;
ofstream f("Mandelbrot140.bmp", ios::binary);
f.write(reinterpret_cast<char*>(&header), 54);
vector<uint8_t> rowBuffer(rowSize);
for (int y = 0; y < targetH; ++y) {
#pragma omp parallel for schedule(dynamic)
for (int x = 0; x < targetW; ++x) {
uint32_t rSum = 0, gSum = 0, bSum = 0;
const ComplexDouble* ref_ptr = ref_orbit_double.data();
for (int j = 0; j < scale; ++j) {
size_t b = (size_t)y * scale + j;
double delta_imc = (double)((long long)b - (rawH / 2)) * step_d;
for (int i = 0; i < scale; ++i) {
size_t a = (size_t)x * scale + i;
double delta_rec = (double)((long long)a - (rawW / 2)) * step_d;
uint32_t index = 0;
double delta_re = 0.0;
double delta_im = 0.0;
double z_re = 0.0;
double z_im = 0.0;
uint32_t iter = 0;
while (iter < max_valid_ref_iter) {
if ((z_re * z_re + z_im * z_im) >= 40000.0) {
break;
}
if ((z_re * z_re + z_im * z_im) < (delta_re * delta_re + delta_im * delta_im)) {
index = 0;
delta_re = z_re;
delta_im = z_im;
}
for (int k = 0; k < 2; ++k) {
double Ur = ref_ptr[index].re;
double Ui = ref_ptr[index].im;
double next_delta_im = 2.0 * Ur * delta_im + 2.0 * Ui * delta_re + 2.0 * delta_re * delta_im + delta_imc;
delta_re = 2.0 * Ur * delta_re - 2.0 * Ui * delta_im + delta_re * delta_re - delta_im * delta_im + delta_rec;
delta_im = next_delta_im;
index++;
}
z_re = ref_ptr[index].re + delta_re;
z_im = ref_ptr[index].im + delta_im;
iter += 2;
}
int final_t = 50000 - iter;
uint8_t t = (final_t == 0) ? 255 : (uint8_t)(final_t % 254);
int colorIdx = (t == 255) ? 255 : (t - frame + 255) % 255;
bSum += pal[colorIdx][0];
gSum += pal[colorIdx][1];
rSum += pal[colorIdx][2];
}
}
int outIdx = x * 3;
rowBuffer[outIdx + 0] = (uint8_t)(bSum >> 6);
rowBuffer[outIdx + 1] = (uint8_t)(gSum >> 6);
rowBuffer[outIdx + 2] = (uint8_t)(rSum >> 6);
}
f.write(reinterpret_cast<const char*>(rowBuffer.data()), rowSize);
if ((y + 1) % 10 == 0 || y == targetH - 1) {
cout << "Progress: " << (y + 1) << "/" << targetH << "\r" << flush;
}
}
f.close();
cout << "\nDone! Mandelbrot140.bmp successfully saved." << endl;
return 0;
}
</syntaxhighlight>
== Прыклады выяў ==
<gallery mode="packed" heights="200">
File:Mandelbrot Set Image 107.png|Фрагмент мноства, тэорыя абурэнняў. Адрознівальная здольнасць 10000 x 10000 пікселяў.
File:Mandelbrot Set Image 108.png|Фрагмент мноства, тэорыя абурэнняў. Адрознівальная здольнасць 10000 x 10000 пікселяў.
File:Mandelbrot Set Image 109.png|Фрагмент мноства, тэорыя абурэнняў. Адрознівальная здольнасць 10000 x 10000 пікселяў.
File:Mandelbrot Set Image 110.png|Фрагмент мноства, тэорыя абурэнняў. Адрознівальная здольнасць 10000 x 10000 пікселяў.
</gallery>
== Спасылкі ==
* [https://github.com/Divetoxx/Mandelbrot Афіцыйны рэпазіторый праекта Mandelbrot CLI на GitHub] — зыходны код, дакументацыя і гатовыя рэлізы праграмы рэндэрынгу.
* [https://rosettacode.org/wiki/Mandelbrot_set#Perturbation_Theory Прыклады аптымізацыі на Rosetta Code] — рэалізацыя тэорыі абурэнняў на C++ у глабальнай базе праграмных рашэнняў.
[[Category:be:Computer science]]
[[Category:BE]]
gjdinpjncuphn5rqxo34j0luttmo2ea
Рендеринг множини Мандельброта на C++
0
55806
385186
385177
2026-07-02T09:14:19Z
Aokoroko
55658
/* Вихідний код C++ */
385186
wikitext
text/x-wiki
{{Language|uk}} <span style="font-size:90%; color:#54595d;">Мови курсу:</span> [https://ru.wikiversity.org/wiki/Рендеринг_множества_Мандельброта_на_C%2B%2B 🇷🇺 Русский] • [[Рэндэрынг мноства Мандэльброта на C++|🇧🇾 Беларуская]] • '''🇺🇦 Українська'''
{| class="wikitable" style="float: right; margin: 0 0 1em 1em; width: 300px;"
|-
! colspan="2" | Курс «Рендеринг множини Мандельброта на C++»
|-
| '''Факультет:''' || Інформаційні технології
|-
| '''Пререквізити:''' || Знання синтаксису C++ та комплексних чисел
|-
| '''Постреквізити:''' || Навички оптимізації рендерингу фракталів
|-
| '''Викладач:''' || [[User:Aokoroko]]
|}
== Вступ ==
Даний практикум містить оригінальний вихідний код на C++ для високоточного рендерингу фрагментів множини Мандельброта з використанням алгоритмів оптимізації (включаючи теорію збурень) та глибокого згладжування (8x8 SSAA). Автор алгоритму та зображень: [[User:Aokoroko]].
== Ключові особливості ==
* Розрахунок опорної траєкторії на 5000 біт усього один раз.
* Реактивний розрахунок мільярда пікселів на апаратному double.
* При використанні чисел із плаваючою комою подвійної точності (порядку 10⁻¹⁵) теорія збурень дозволяє наблизитися до рівня 10⁻³⁰⁸ - не далі.
* Революційний алгоритм Reference Reset to Zero.
* Справжній SSAA 8x8 для ідеально згладженого зображення без аліасингу.
* Паралелізм OpenMP для високошвидкісного багатопотокового рендерингу.
== Вихідний код C++ ==
Ниже представлений вихідний код програми, що використовувався для генерації 100-мегапіксельних вибраних зображень на Вікісховищі.
<syntaxhighlight lang="cpp">
#include <iostream>
#include <fstream>
#include <vector>
#include <cmath>
#include <cstdint>
#include <string>
#include <atomic>
#include <omp.h>
#include <cstdio>
#include <iomanip>
#include <gmp.h>
#include <mpfr.h>
using namespace std;
const double PI = 3.14159265358979323846;
const mpfr_prec_t MPFR_BITS = 5000;
#pragma pack(push, 1)
struct BMPHeader {
uint16_t type{0x4D42};
uint32_t size{0};
uint16_t reserved1{0};
uint16_t reserved2{0};
uint32_t offBits{54};
uint32_t structSize{40};
int32_t width{0};
int32_t height{0};
uint16_t planes{1};
uint16_t bitCount{24};
uint32_t compression{0};
uint32_t sizeImage{0};
int32_t xpelsPerMeter{2834};
int32_t ypelsPerMeter{2834};
uint32_t clrUsed{0};
uint32_t clrImportant{0};
};
#pragma pack(pop)
struct ComplexDouble {
double re;
double im;
};
int main() {
string absc_str, ordi_str, size_str;
absc_str = "-1.7491311840575335110236048528001036247123430447933925298694915282522178938437759580179";
ordi_str = "-0.0001996960702541036804654299663680287246637758588467627907752429037173153157138373325";
size_str = "2.84e-82";
const int targetW = 2160;
const int targetH = 2160;
const int scale = 8;
const int rawW = targetW * scale;
const int rawH = targetH * scale;
const int frame = 140;
cout << "Step 1: Calculating Reference Orbit using Perturbation..." << endl;
mpfr_t rx, ry, zr, zi, zr2, zi2, tmp, sz, st;
mpfr_inits2(MPFR_BITS, rx, ry, zr, zi, zr2, zi2, tmp, sz, st, NULL);
mpfr_set_str(rx, absc_str.c_str(), 10, MPFR_RNDN);
mpfr_set_str(ry, ordi_str.c_str(), 10, MPFR_RNDN);
mpfr_set_str(sz, size_str.c_str(), 10, MPFR_RNDN);
mpfr_div_ui(st, sz, rawW, MPFR_RNDN);
double step_d = mpfr_get_d(st, MPFR_RNDN);
vector<ComplexDouble> ref_orbit_double(50005);
mpfr_set_ui(zr, 0, MPFR_RNDN);
mpfr_set_ui(zi, 0, MPFR_RNDN);
mpfr_set_ui(zr2, 0, MPFR_RNDN);
mpfr_set_ui(zi2, 0, MPFR_RNDN);
uint32_t ref_i = 0;
bool escaped = false;
while (ref_i < 50000) {
ref_orbit_double[ref_i].re = mpfr_get_d(zr, MPFR_RNDN);
ref_orbit_double[ref_i].im = mpfr_get_d(zi, MPFR_RNDN);
mpfr_mul(tmp, zr, zi, MPFR_RNDN);
mpfr_mul_ui(zi, tmp, 2, MPFR_RNDN);
mpfr_add(zi, zi, ry, MPFR_RNDN);
mpfr_sub(zr, zr2, zi2, MPFR_RNDN);
mpfr_add(zr, zr, rx, MPFR_RNDN);
mpfr_mul(zr2, zr, zr, MPFR_RNDN);
mpfr_mul(zi2, zi, zi, MPFR_RNDN);
if (escaped) {
ref_i++;
break;
}
mpfr_add(tmp, zr2, zi2, MPFR_RNDN);
if (mpfr_cmp_d(tmp, 4.0) >= 0) {
escaped = true;
}
ref_i++;
}
ref_orbit_double[ref_i].re = mpfr_get_d(zr, MPFR_RNDN);
ref_orbit_double[ref_i].im = mpfr_get_d(zi, MPFR_RNDN);
uint32_t max_valid_ref_iter = ref_i;
mpfr_clears(rx, ry, zr, zi, zr2, zi2, tmp, sz, st, NULL);
uint8_t pal[256][3];
for (int a = 0; a < 255; ++a) {
pal[a][0] = (uint8_t)round(127.0 + 127.0 * cos(2.0 * PI * a / 255.0)); // Blue
pal[a][1] = (uint8_t)round(127.0 + 127.0 * sin(2.0 * PI * a / 255.0)); // Green
pal[a][2] = (uint8_t)round(127.0 + 127.0 * sin(2.0 * PI * a / 255.0)); // Red
}
pal[255][0] = 255; pal[255][1] = 255; pal[255][2] = 255;
cout << "Step 2: Stream rendering Mandelbrot140.bmp (" << targetW << "x" << targetH << ")..." << endl;
int rowSize = (targetW * 3 + 3) & ~3;
BMPHeader header;
header.width = targetW;
header.height = targetH;
header.sizeImage = rowSize * targetH;
header.size = header.sizeImage + 54;
ofstream f("Mandelbrot140.bmp", ios::binary);
f.write(reinterpret_cast<char*>(&header), 54);
vector<uint8_t> rowBuffer(rowSize);
for (int y = 0; y < targetH; ++y) {
#pragma omp parallel for schedule(dynamic)
for (int x = 0; x < targetW; ++x) {
uint32_t rSum = 0, gSum = 0, bSum = 0;
const ComplexDouble* ref_ptr = ref_orbit_double.data();
for (int j = 0; j < scale; ++j) {
size_t b = (size_t)y * scale + j;
double delta_imc = (double)((long long)b - (rawH / 2)) * step_d;
for (int i = 0; i < scale; ++i) {
size_t a = (size_t)x * scale + i;
double delta_rec = (double)((long long)a - (rawW / 2)) * step_d;
uint32_t index = 0;
double delta_re = 0.0;
double delta_im = 0.0;
double z_re = 0.0;
double z_im = 0.0;
uint32_t iter = 0;
while (iter < max_valid_ref_iter) {
if ((z_re * z_re + z_im * z_im) >= 40000.0) {
break;
}
if ((z_re * z_re + z_im * z_im) < (delta_re * delta_re + delta_im * delta_im)) {
index = 0;
delta_re = z_re;
delta_im = z_im;
}
for (int k = 0; k < 2; ++k) {
double Ur = ref_ptr[index].re;
double Ui = ref_ptr[index].im;
double next_delta_im = 2.0 * Ur * delta_im + 2.0 * Ui * delta_re + 2.0 * delta_re * delta_im + delta_imc;
delta_re = 2.0 * Ur * delta_re - 2.0 * Ui * delta_im + delta_re * delta_re - delta_im * delta_im + delta_rec;
delta_im = next_delta_im;
index++;
}
z_re = ref_ptr[index].re + delta_re;
z_im = ref_ptr[index].im + delta_im;
iter += 2;
}
int final_t = 50000 - iter;
uint8_t t = (final_t == 0) ? 255 : (uint8_t)(final_t % 254);
int colorIdx = (t == 255) ? 255 : (t - frame + 255) % 255;
bSum += pal[colorIdx][0];
gSum += pal[colorIdx][1];
rSum += pal[colorIdx][2];
}
}
int outIdx = x * 3;
rowBuffer[outIdx + 0] = (uint8_t)(bSum >> 6);
rowBuffer[outIdx + 1] = (uint8_t)(gSum >> 6);
rowBuffer[outIdx + 2] = (uint8_t)(rSum >> 6);
}
f.write(reinterpret_cast<const char*>(rowBuffer.data()), rowSize);
if ((y + 1) % 10 == 0 || y == targetH - 1) {
cout << "Progress: " << (y + 1) << "/" << targetH << "\r" << flush;
}
}
f.close();
cout << "\nDone! Mandelbrot140.bmp successfully saved." << endl;
return 0;
}
</syntaxhighlight>
== Приклади зображень ==
<gallery mode="packed" heights="200">
File:Mandelbrot Set Image 107.png|Фрагмент множини, теорія збурень. Роздільна здатність 10000 x 10000 пікселів.
File:Mandelbrot Set Image 108.png|Фрагмент множини, теорія збурень. Роздільна здатність 10000 x 10000 пікселів.
File:Mandelbrot Set Image 109.png|Фрагмент множини, теорія збурень. Роздільна здатність 10000 x 10000 пікселів.
File:Mandelbrot Set Image 110.png|Фрагмент множини, теорія збурень. Роздільна здатність 10000 x 10000 пікселів.
</gallery>
== Посилання ==
* [https://github.com/Divetoxx/Mandelbrot Офіційний репозиторій проєкту Mandelbrot CLI на GitHub] — вихідний код, документація та готові релізи програми рендерингу.
* [https://rosettacode.org/wiki/Mandelbrot_set#Perturbation_Theory Приклади оптимізації на Rosetta Code] — реалізацыя теорії збурень на C++ у глобальній базі програмних рішень.
[[Category:uk:Computer science]]
[[Category:UK]]
eu97fsf8j18osra9pk3dkjsg4uu56b2