О спи­ра­лях

Пре­жде все­го, посмот­рим на ис­точ­ник вдох­но­ве­ния, ко­то­рый я слу­чай­но на­шёл в Ин­тер­не­те:

An infinity of Mega Pixels

Ри­су­нок 1. Фо­то­гра­фия «An infinity of Mega Pixels». Ис­точ­ник

Ка­ким пре­об­ра­зо­ва­ни­ям под­верг­ся этот сни­мок? Что нуж­но сде­лать с обыч­ной фо­то­гра­фи­ей, что­бы по­лу­чить это? Ка­кое долж­но быть ис­ход­ное фо­то? — Эти во­про­сы я за­да­вал се­бе в те­че­ние ча­са. По­ка, на­ко­нец, ме­ня не оза­ри­ло: на фо­то­гра­фии от­сут­ству­ет объ­ек­тив фо­то­ап­па­ра­та! А что вме­сто не­го? Вме­сто не­го... эээ... вся осталь­ная фо­то­гра­фия.

Т.е. ис­ход­ное изоб­ра­же­ние мож­но пред­ста­вить в ви­де коль­ца с вы­ре­зан­ной в се­ре­ди­не дыр­кой. Фор­ма дыр­ки мо­жет быть лю­бой. Кро­ме то­го, лю­бой мо­жет быть фор­ма внеш­ней гра­ни­цы. На­при­мер, это мо­жет быть всё остав­шее­ся изоб­ра­же­ние. В ка­че­стве при­ме­ра возь­мём коль­цо, изоб­ра­жён­ное на ри­сун­ке 2:

Коль­цо с крас­ной точ­кой

Ри­су­нок 2. Коль­цо. От­сут­ствую­щая об­ласть по­ка­за­на «шах­мат­ной до­с­кой»

Те­перь, ко­гда мы зна­ем, как вы­гля­дел ис­ход­ный сни­мок (это бы­ла обыч­ная фо­то­гра­фия с вы­ре­зан­ным объ­ек­ти­вом), мы мо­жем по­нять, что нуж­но сде­лать с фо­то­гра­фи­ей, что­бы она вы­гля­де­ла так, как на ри­сун­ке 1: нуж­но раз­ре­зать коль­цо в ка­ком-ни­будь ме­сте, и на­мо­тать его внутрь в спи­раль, бес­ко­неч­но по­вто­ряя. Но де­лать это нуж­но с умом. Пре­жде все­го, нуж­но по­до­брать та­кое пре­об­ра­зо­ва­ние ко­ор­ди­нат, что­бы ра­ди­у­сы оста­лись пер­пен­ди­ку­ляр­ны­ми пе­ри­метру. Ес­ли это­го не сде­лать, то бу­дут силь­ные гео­мет­ри­че­ские ис­ка­же­ния. Не­мно­го по­упраж­няв­шись с компле́ксными чис­ла­ми, мож­но прий­ти к вы­во­ду, что пе­ри­мет­ры и ра­ди­у­сы долж­ны пре­вра­тить­ся в два вза­им­но-ор­то­го­наль­ных се­мей­ства ло­га­риф­ми­че­ских спи­ра­лей. Ино­го не да­но!

Так мо­жет вы­гля­деть один ви­ток спи­ра­ли по­сле раз­ре­за­ния коль­ца:

Коль­цо за­кру­чен­ное в спи­раль
Коль­цо за­кру­чен­ное в спи­раль

Ри­су­нок 3. Коль­цо, за­кру­чен­ное в один ви­ток спи­ра­ли.
Изоб­ра­же­ния раз­ли­ча­ют­ся ско­ро­стью убы­ва­ния ра­ди­у­са спи­ра­ли

На са­мом де­ле, на ри­сун­ке 3 изоб­ра­жён один ви­ток ре­зуль­ти­рую­щей спи­ра­ли. В этот ви­ток по­па­ло чуть боль­ше од­но­го вит­ка ис­ход­но­го коль­ца: это вид­но по крас­ной точ­ке. Имен­но при та­кой ско­ро­сти «про­дви­же­ния вдоль коль­ца» мы по­лу­ча­ем кон­форм­ное отоб­ра­же­ние, со­хра­няю­щее уг­лы.

Оста­лось сде­лать со­всем ма­лое: бес­ко­неч­но про­длить изоб­ра­же­ние спи­ра­ли в обе сто­ро­ны. При этом счи­тая, что бо­лее мел­кие вит­ки ви­зу­аль­но на­хо­дят­ся, на­при­мер, за бо­лее круп­ны­ми. По­до­брав ско­рость убы­ва­ния ра­ди­у­са так, что­бы внеш­няя часть вит­ка со­сты­ко­ва­лась с внут­рен­ней ча­стью преды­ду­ще­го вит­ка, по­лу­чим:

Коль­цо за­кру­чен­ное в бес­ко­неч­ную спи­раль

Ри­су­нок 4. Коль­цо, за­кру­чен­ное в бес­ко­неч­ную спи­раль

Уже луч­ше. От­сю­да вид­но, кста­ти, что «ра­ди­у­сы» — не пря­мые ли­нии, а то­же ло­га­риф­ми­че­ские спи­ра­ли, в каж­дой точ­ке пер­пен­ди­ку­ляр­ные «диа­мет­рам».

Те­перь нуж­но сде­лать то же, но с на­сто­я­щей фо­то­гра­фи­ей. Нуж­но лишь най­ти коль­цо! Огля­нув­шись во­круг се­бя, я уви­дел мно­го ко­лец. Но од­но из них мне по­нра­ви­лось боль­ше все­го — это же­на Али­на:

Же­на с кар­ти­ной в ру­ках

Ри­су­нок 5. Фо­то­гра­фия для об­ра­бот­ки: же­на с кар­ти­ной в ру­ках.
Обои на сте­не по­ели кро­ли­ки

Чем не коль­цо? Оста­лось лишь вы­ре­зать дыр­ку (изоб­ра­же­ние спе­ци­аль­но рас­ши­ре­но, что­бы бы­ло вид­но коль­цо, об­ра­зо­ван­ное не­про­зрач­ной об­ла­стью):

Вы­ре­зан­ная кар­ти­на

Ри­су­нок 6. Фо­то­гра­фия с вы­ре­зан­ной дыр­кой

Важ­ное за­ме­ча­ние: дыр­ку луч­ше все­го вы­ре­зать с по­мо­щью ин­стру­мен­та Extract в про­грам­ме Adobe Photoshop. Дру­гой спо­соб не поз­во­лит по­лу­чить ка­че­ствен­ное изоб­ра­же­ние! Как бы тща­тель­но вы не сде­ла­ли вы­де­ле­ние вдоль края дыр­ки, по­сле уда­ле­ния внут­рен­но­сти у вас оста­нет­ся ста­рый пе­ре­ход цве­тов в быв­ший цвет дыр­ки по кра­ям. В от­ли­чие от про­сто­го вы­де­ле­ния, ин­стру­мент Extract кро­ме уда­ле­ния лиш­них пик­се­лов (плав­но­го ухо­да в про­зрач­ность), поз­во­ля­ет пе­ре­счи­тать цвет изоб­ра­же­ния на гра­ни­це, убрав плав­ный пе­ре­ход в цвет фо­на. «По­сле та­ко­го пе­ре­счё­та изоб­ра­же­ние мо­жет быть на­ло­же­но на фон дру­го­го цве­та» — так на­пи­са­но в справ­ке Adobe Photoshop. И это аб­со­лют­но вер­но! «Фо­ном дру­го­го цве­та» в на­шем слу­чае бу­дет яв­лять­ся са­мо изоб­ра­же­ние.

Раз­ре­зая коль­цо и бес­ко­неч­но его на­ма­ты­вая, мож­но по­лу­чить же­лае­мый ре­зуль­тат:

Фо­то­гра­фия, за­кру­чен­ная в спи­раль

Ри­су­нок 7. Фо­то­гра­фия, за­кру­чен­ная в спи­раль

Изоб­ра­же­ние, по­ка­зан­ное на ри­сун­ке 7, на­мо­та­но от наблю­да­те­ля. На­мот­ка на наблю­да­те­ля то­же мо­жет дать ин­те­рес­ные ре­зуль­та­ты:

Спи­раль на­мо­тан­ная на наблю­да­те­ля

Ри­су­нок 8. Спи­раль, на­мо­тан­ная на наблю­да­те­ля. Ори­ги­наль­ное изоб­ра­же­ние

Про­грам­ма

Ну а те­перь са­мое глав­ное — моя про­грам­ма.

Её мож­но ска­чать от­сю­да: Spiral.zip (167 Кбайт, ска­ча­но 984 раза). Впол­не мо­жет глю­чить. Най­дё­те ошиб­ку — пиши́те.

Про­грам­ма до­ста­точ­но мощ­ная. Она мо­жет за­кру­чи­вать изоб­ра­же­ния в две сто­ро­ны (по- и про­тив ча­со­вой стрел­ки), а так­же к наблю­да­те­лю и от наблю­да­те­ля. Про­грам­ма спо­соб­на ра­бо­тать с 16-ти бит­ным цве­том (внут­рен­нее пред­став­ле­ние цве­та — все­гда 32 би­та на ка­нал, HDR, учи­ты­ва­ет­ся ди­на­ми­че­ский диа­па­зон ис­ход­ной фо­то­гра­фии при сме­ше­нии цве­тов) и 16-бит­ной про­зрач­но­стью. Име­ет­ся хо­ро­шая ин­тер­по­ля­ция (на уров­не би­ку­би­че­ской), а так­же адап­тив­ный ан­тиа­ли­а­синг. Про­грам­ма впол­не мо­жет об­ра­бо­тать бес­ко­неч­ное чис­ло вит­ков за ко­неч­ное вре­мя бла­го­да­ря спе­ци­аль­ным ал­го­рит­мам упро­ще­ния и от­се­че­ния. Кро­ме то­го, под­дер­жи­ва­ет­ся ра­бо­та на мно­го­ядер­ных про­цес­со­рах.

Ис­ход­ное изоб­ра­же­ние — обя­за­тель­но PNG с про­зрач­но­стью (аль­фа-ка­нал) с глу­би­ной цве­та 8 или 16 бит на ка­нал. PNG мо­жет быть как Interlaced, так и сплош­ной. Я це­лый день по­тра­тил на до­бав­ле­ние под­держ­ки 16-бит­ных PNG в биб­лио­те­ку, в ко­то­рой из­на­чаль­но та­кой под­держ­ки не бы­ло.

Под­го­тав­ли­ва­е­те ис­ход­ное изоб­ра­же­ние, как опи­са­но вы­ше, пе­ре­тас­ки­ва­е­те мыш­кой на зна­чёк про­грам­мы. Про­грам­ма за­пус­ка­ет­ся и спра­ши­ва­ет у вас не­сколь­ко па­ра­мет­ров:

  • xc — ко­ор­ди­на­та x цен­тра бу­ду­щей спи­ра­ли в ис­ход­ном изоб­ра­же­нии. Вы долж­ны ука­зать точ­ку, на­хо­дя­щу­ю­ся в пре­де­лах дыр­ки. К этой точ­ке бу­дет «стре­мить­ся» изоб­ра­же­ние. На­при­мер, ес­ли точ­ка на­хо­дит­ся вы­ше цен­тра дыр­ки, то каж­дый ви­ток бу­дет ши­ре вни­зу и у́же ввер­ху. Ес­ли же, на­при­мер, сни­зу каж­до­го вит­ка у вас по­яви­лась не­же­ла­тель­ная «пу­стая» об­ласть, то центр спи­ра­ли нуж­но сме­стить вниз.
  • yc — ко­ор­ди­на­та y цен­тра спи­ра­ли в ис­ход­ном изоб­ра­же­нии.
  • kRho — во сколь­ко раз сле­дую­щий ви­ток мень­ше преды­ду­ще­го. В при­ме­рах вы­ше я ис­поль­зо­вал kRho, не силь­но от­ли­чаю­щий­ся от 0.5. Ес­ли это чис­ло от­ри­ца­тель­ное, то на­мот­ка бу­дет ве­стись к наблю­да­те­лю. В этом слу­чае дыр­ка в изоб­ра­же­нии не обя­за­тель­на (см. ри­су­нок 8).
  • kPhi — во сколь­ко раз ви­ток спи­ра­ли бу­дет длин­нее, чем ви­ток оп­ти­маль­ной дли­ны. При оп­ти­маль­ной дли­не ис­ка­же­ния ми­ни­маль­ны, од­на­ко изоб­ра­же­ние «раз­во­ра­чи­ва­ет­ся» при ухо­де вдаль. Что­бы это­го из­бе­жать, мож­но вве­сти kPhi чуть боль­ше еди­ни­цы (про­грам­ма под­ска­зы­ва­ет зна­че­ние kPhi, нуж­ное для по­лу­че­ния па­ра­л­лель­ных ли­ний).
  • Result image width — ши­ри­на ре­зуль­ти­рую­ще­го изоб­ра­же­ния (це­лое чис­ло пик­се­лов)
  • Result image height — вы­со­та ре­зуль­ти­рую­ще­го изоб­ра­же­ния (це­лое чис­ло пик­се­лов)
  • Color toning factor — ди­на­ми­че­ский диа­па­зон ис­ход­но­го изоб­ра­же­ния. Ес­ли изоб­ра­же­ние сня­то при яр­ком сле­пя­щем све­те, то этот ко­эф­фи­ци­ент мож­но сде­лать боль­ше еди­ни­цы, на­при­мер, 3.0. Для спо­кой­ных пас­мур­ных све­то­вых усло­вий по­дой­дёт зна­че­ние 1.0. Этот ко­эф­фи­ци­ент ис­поль­зу­ет­ся для пра­виль­но­го на­ло­же­ния те­ней (ес­ли вы ре­ши­те сде­лать ис­ход­ный файл с те­ня­ми, от­бра­сы­вае­мы­ми на про­зрач­ность), а так­же пра­виль­ной об­ра­бот­ки бли­ков и ан­тиа­ли­а­син­га.
  • High-quality processing: вво­ди­те «y» или «n» в за­ви­си­мо­сти от то­го, хо­ти­те ли вы, что­бы про­грам­ма ра­бо­та­ла очень дол­го, но про­из­ве­ла ка­че­ствен­ную кар­тин­ку, или же в два ра­за быст­рее, но кар­тин­ка бу­дет ме­нее ка­че­ствен­ной.
По­сле это­го про­грам­ма (очень дол­го) ана­ли­зи­ру­ет и об­ра­ба­ты­ва­ет ис­ход­ное изоб­ра­же­ние, и про­из­во­дит файл то­го же ти­па, что и ис­ход­ный, с име­нем, по­лу­чае­мым пу­тём до­бав­ле­ния «_spiral» к име­ни ис­ход­но­го фай­ла.

При­мер

Кар­тин­ки с круж­ка­ми, при­ве­дён­ные вы­ше — для де­мон­стра­ции. В них про­зрач­ность убра­на и по­ка­за­на при по­мо­щи шах­мат­ной дос­ки.

Про­грам­ме же нуж­на та­кая кар­тин­ка: с про­зрач­но­стью, с дыр­кой внут­ри (при на­мот­ке на наблю­да­те­ля дыр­ка внут­ри не нуж­на) и (воз­мож­но) по кра­ям:

Об­ра­зец ис­ход­но­го фай­ла

Ри­су­нок 9. Об­ра­зец ис­ход­но­го фай­ла

За­тем вво­дим па­ра­мет­ры в про­грам­му...

SAn Spiral 1.01 Beta. Copyright (C) 2008 Sukhinov Anton
E-mail: #########@GMail.com

Enter xc (spiral center in the source image): 232
Enter yc (spiral center in the source image): 232
Enter kRho (0.0<kRho<1.0): 0.4
Enter kPhi (...): 1.0
Enter result image width: 464
Enter result image height: 464
Enter color toning factor (default: 1.0): 1.0
Use high-quality processing? (y/n): y

Loading D:\ring.png...

Processing:
  Scanning image...
  Remapping using 2 processor kernels...
Done in 4 seconds.

Saving D:\ring_Spiral.png...

The program finished successfully. Press [Enter] to exit...

...и по­лу­ча­ем ре­зуль­тат (со спи­ра­ле­вид­ной дыр­кой):

Ре­зуль­тат об­ра­бот­ки фай­ла

Ри­су­нок 10. Ре­зуль­тат об­ра­бот­ки фай­ла с ри­сун­ка 9

Дру­гие про­грам­мы

Ко­неч­но же, моя про­грам­ма — не един­ствен­ная. Су­ще­ству­ют дру­гие про­грам­мы, поз­во­ляю­щие по­лу­чить по­хо­жие кар­тин­ки:

  • MathMap пла­гин для GIMP. Поз­во­ля­ет вруч­ную за­да­вать фор­му­лы пре­об­ра­зо­ва­ний; име­ет боль­шую биб­лио­те­ку го­то­вых пре­об­ра­зо­ва­ний. Ссыл­ка.
  • Фильтр Hyper Tiling™ из на­бо­ра KPT® Collection (ком­мер­че­ский про­дукт). Ссыл­ка.

106 отзывов на запись «О спи­ра­лях»

Ан­тон, у ме­ня воз­ник­ло не­сколь­ко во­про­сов при ра­бо­те с Ва­шей про­грам­мой Воз­ни­ка­ет ошиб­ка при ра­бо­те: Error: Source image must have RGBa format Не мог­ли бы вы объ­яс­нить, что мне нуж­но ис­пра­вить, для то­го что­бы про­грам­ма за­ра­бо­та­ла, и ещё: где ре­гу­ли­ро­вать глу­би­ну цве­та изоб­ра­же­ния в фор­ма­те .png. За­ра­нее спа­си­бо!
Доб­рый день! Эта ошиб­ка озна­ча­ет, что у те­бя ли­бо не цвет­ное изоб­ра­же­ние, ли­бо аль­фа-ка­на­ла (про­зрач­но­сти) нет. Ведь без аль­фа-ка­на­ла не­воз­мож­но сде­лать дыр­ку в изоб­ра­же­нии. В Фо­то­шо­пе про­ще все­го сде­лать так: От­кры­ва­ешь свою фо­то­гра­фию (ка­кой бы она ни бы­ла). Вы­де­ля­ешь её всю и ко­пи­ру­ешь в бу­фер об­ме­на. За­тем со­зда­ёшь но­вую: File→New. В ок­не вы­би­ра­ешь Preset: Clipboard (что­бы раз­ме­ры и глу­би­на цве­та взя­лись из бу­фе­ра об­ме­на), Color Mode: RGB, Background Contents: Transparent. На­жи­ма­ешь OK, — и у те­бя со­зда­ёт­ся изоб­ра­же­ние RGBa со сплош­ной дыр­кой. Встав­ля­ешь в изоб­ра­же­ние со­дер­жи­мое бу­фе­ра об­ме­на. Уда­ля­ешь лиш­нее во встав­лен­ном изоб­ра­же­нии с по­мо­щью «Eraser Tool», вы­де­ле­ния и кноп­ки Del, или, луч­ше все­го, ин­стру­мен­та Extract. По­том со­хра­ня­ешь: File→Save, там обя­затель­но вы­клю­ча­ешь гал­ку «As a Copy». Format ука­зы­ва­ешь PNG.
Толь­ко се­год­ня уви­дел в Се­ти «спи­раль­ные» кар­тин­ки, и уже по­про­бо­вал сде­лать та­кую-же. Всё от­лич­но по­лу­чи­лось. Огром­ное спа­си­бо ав­то­ру!!! Вот бла­го­да­ря та­ким та­лан­там и ста­но­вишь­ся горд за Рос­сию.
А при ка­кой ошиб­ке вы­во­дит­ся со­об­ще­ние
Error: Can not load file: C:ProgramsWhithout_installSpiral2.jpg
?
К со­жа­ле­нию, про­грам­ма по­ни­ма­ет толь­ко .png-фай­лы.
Спа­си­бо, по­сле про­чте­ния со­дер­жа­тель­ной ча­сти за­ме­ча­ние про фор­мат фай­ла не за­ме­тил По­бе­жал про­бо­вать
Hi People
How are you doing?
пи­шет:
Error: Floating point division by zero
в чем про­блем­ма?
Ин­те­рес­но. Ска­жи­те, ка­кие па­ра­мет­ры вы вво­ди­те про­грам­ме, и ка­кие раз­ме­ры ис­ход­но­го изоб­ра­же­ния?
Ни­как не мо­гу ска­чать са­му про­грам­ку! Со­хра­ня­ет в html и все!((((((
Под­ска­жи­те что не­пра­виль­но де­лаю!!!
Это ошиб­ка сай­та. Бу­ду ис­кать при­чи­ну…
Вро­де бы ис­пра­вил.
Спа­си­бо! Ска­ча­лась! Вот толь­ко те­перь на­до с RGB разо­брать­ся! Не все изоб­ра­же­ния хо­чет чи­тать!)
Обои на сте не по ели кро ли ки
Мо­ло­дец ав­тор:) хо­ро­шая про­грам­ма, все ра­бо­та­ет все по­лу­ча­ет­ся, мне нра­вит­ся. Спа­си­бо!
Error: you must specify one file name in the command-line
Press [Enter] to exit… что де­лать?
На­сколь­ко по­ни­маю ан­глий­ский, про­грам­ма вы­да­ёт ошиб­ку, что цен­траль­ные и со­сед­ние с ни­ми пик­се­ли долж­ны быть пу­сты­ми. Хо­тя я про­бо­вал и квад­рат и круг, вво­дил ко­ор­ди­на­ты цен­тра точ­но. Прав­да у ме­ня в цен­тре не как у вас в при­ме­ре квад­ра­ти­ки, а бе­лое ме­сто, ла­сти­ком же сти­раю. Мо­жет ма­ло­ва­то изоб­ра­же­ние или «дыр­ка» в цен­тре? У ме­ня 420х420 пкс изоб­ра­же­ние
[...] This post was mentioned on Twitter by Kles4enko Andrey, Julia. Julia said: @likimoki http://iproc.ru/image-processing/spirals/ глянь, что я толь­ко что на­шла!!! Класс­но? [...]
влю­билсь сра­зу же, но, не мо­гу ска­чать са­му про­грам­ку! Со­хра­ня­ет в html. что де­лать? Windows 7
где ку­пить по­пперс [url=http://micktelde68.nation2.com/]за­пол­не­ние аналь­ная проб­ка с виб­ра­ци­ей[/url] ис­поль­зо­ва­ние секс иг­ру­шек
[url=http://almorque70.nation2.com/]эро­ти­че­ское ниж­нее бе­лье в кар­тин­ках[/url] ро­ле­вое ниж­нее бе­лье эро­ти­че­ское бе­лье hustler
су­пер эро­ти­че­ское бе­льё [url=http://dietantfigh71.nation2.com/]но­вин­ки эро­ти­че­ско­го бе­лья[/url] на­клад­ная грудь секс шоп
[url=http://poldgritpur60.nation2.com/]сек­су­аль­ная до­маш­няя одеж­да[/url] муж­ская эро­ти­че­ская одеж­да ин­тим то­ва­ры секс шоп
фал­ло­и­ми­та­тор секс шоп [url=http://blacksega.com/de/]не­до­го­во­рен­ность низ­ко­уг­ле­ро­ди­стый [/url] [url=http://chapgyde33.nation2.com/]секс кук­лы под­рост­ки мо­лот-ры­ба[/url] секс шоп на дмит­ров­ской
ма­га­зин ин­тим то­ва­ров фа­ло­им­ми­та­тор
про­да­жа секс иг­ру­шек гор­лов­ка секс шоп [url=http://cinghefir65.nation2.com/]фа­ло­и­ми­та­то­ры для муж­чин[/url]
под­бор­ка секс ма­шин секс шоп че­ре­по­вец
секс шоп 18 на­дув­ной дил­до [url=http://eaxhisband47.nation2.com/]ва­ги­наль­ные ша­ри­ки от­зы­вы[/url]
одеж­да из ла­тек­са эро­ти­че­ское бе­льё
Hello!
сайт секс зна­комств вор­сма
зна­ком­ства для сек­са пох­вист­не­во по­зна­ко­мить­ся с де­вуш­кой во­лог­да секс зна­ком­ства г са­фа­ку­ле­во секс зна­ком­ства г то­ма­ри
ин­тим зна­ком­ства кы­штов­ка секс зна­ком­ства ми­ньяр [url=http://obtalpo133.0adz.com/3/znakomstva-dlya-intima-sinelnikovo.php]зна­ком­ства для ин­ти­ма си­нель­ни­ко­во[/url] зна­ком­ства для ин­ти­ма сан­гар
ин­тим зна­ком­ства г сык­тыв­кар [url=http://coenipon868.sprinterweb.net/2/ulichnie-porno-znakomstva.php]улич­ные пор­но зна­ком­ства[/url] [url=http://malsfromlau1378.summerhost.info/2/ochen-hochu-seksa.php]очень хо­чу сек­са[/url]
[url=http://biomandeo83.swiftphp.com/3/]Сайт ин­тим зна­комств яс­но­горск[/url] зна­ком­ства по­сле сайт зна­комств уч­ке­кен
секс зна­ком­ства го­род кы­т­ма­но­во [url=http://malropou1333.php2h.com/2/seks-znakomstva-v-monchegorske.php]секс зна­ком­ства в мон­че­гор­ске[/url] сайт секс зна­комств па­лат­ка
ин­тим зна­ком­ства г при­мор­ско-ах­тарск [url=http://braschiehep256.xlphp.net/map8.php]зна­ком­ства для ин­ти­ма но­во­куй­бы­шевск[/url] секс зна­ком­ства г ист­ров­ка
ин­тим зна­ком­ства г усти­луг секс зна­ком­ства г ту­рин­ская сло­бо­да [url=http://liomangtrin354.4sql.net/map7.php]зна­ком­ства г за­реч­ное[/url] секс зна­ком­ства г майорск
зна­ком­ства г ки­вер­цы ин­тим зна­ком­ства ка­ра­баш
зна­ком­ства в но­вой зе­лан­дии [url=http://llevranic5.4sql.net/2/seks-znakomstva-buinsk.php]секс зна­ком­ства бу­инск[/url]
ин­тим зна­ком­ства го­род бу­рае­во ин­тим зна­ком­ства г вы­ш­го­род
ин­тим зна­ком­ства го­род амурск
ин­тим зна­ком­ства го­род баг­ра­ти­о­новск
зна­ком­ства муж­чи­ны 55 60 лет
ре­аль­ные сай­ты ин­тим зна­комств [url=http://kensmarloui374.netfast.org/1/intim-znakomstva-pereyaslavl-zalesskiy.php]ин­тим зна­ком­ства пе­ре­я­с­лавль-за­лес­ский[/url] па­ра ищет де­вуш­ку для сек­са [url=http://netrioule1357.hyperphp.com/4/intim-znakomstva-sambor.php]ин­тим зна­ком­ства сам­бор[/url]
[url=http://suppmehyp941.000space.com/2/znakomstva-dlya-intima-boksitogorsk.php]зна­ком­ства для ин­ти­ма бок­си­то­горск[/url] rambler зна­ком­ства моя стра­ни­ца сайт ин­тим зна­комств пар­ти­занск
зна­ком­ства для сек­са под­го­род­ное зна­ком­ства в дне­про­дзер­жин­ске [url=http://nemethic1457.my-place.us/2/intim-znakomstva-isakovo.php]ин­тим зна­ком­ства ис­а­ко­во[/url] зна­ком­ства для ин­ти­ма яс­ная по­ля­на
секс зна­ком­ства г ро­стов секс зна­ком­ства г пле­ша­но­во [url=http://eralan704.0adz.com/3/znakomstva-g-langepas.php]зна­ком­ства г лан­ге­пас[/url] служ­ба зна­комств для сек­са
зна­ком­ства для сек­са не­ман зна­ком­ства рас­свет [url=http://scalreallo1692.summerhost.info/2/seks-znakomstva-obmen-foto.php]секс зна­ком­ства об­мен фо­то[/url] зна­ком­ства ма­гас
секс зна­ком­ства в куз­нец­ке сайт зна­комств пал­ла­сов­ка [url=http://acreppo560.xlphp.net/1/znakomstva-g-moskalenki.php]зна­ком­ства г мос­ка­лен­ки[/url]
24open зна­ком­ства в пи­те­ре москве секс зна­ком­ства от 16
ин­тим­ные зна­ком­ства санкт пе­тер­бург
ин­тим зна­ком­ства г со­сен­ский
секс зна­ком­ства го­род по­лон­ное
зна­ком­ства на­рыш­ки­но
зна­ком­ства для ин­ти­ма бол­град [url=http://sorlame873.swiftphp.com/map19.php]сайт ин­тим зна­комств ку­бин­ка[/url] ин­тим зна­ком­ства под­ли­по­во [url=http://jobaphos1504.prohosts.org/1/seks-znakomstva-gorod-tsivilsk.php]секс зна­ком­ства го­род ци­вильск[/url]
[url=http://nettstancon1861.swiftphp.com/2/intim-znakomstva-gorod-medin.php]ин­тим зна­ком­ства го­род медынь[/url] сайт зна­комств со спон­со­ра­ми секс зна­ком­ства пох­вист­не­во
зна­ком­ства г су­дак зна­ком­ства для ин­ти­ма крас­но­сель­куп [url=http://provmoineo1240.php2h.com/1/evreyskie-znakomstva.php]ев­рей­ские зна­ком­ства[/url] секс зна­ком­ства ка­мен­ка
ин­тим зна­ком­ства го­род сред­ние па­ха­чи [url=http://thronardo1329.4sql.net/3/znakomstva-mayorsk.php]зна­ком­ства майорск[/url] сайт секс зна­комств шуя зна­ком­ства г уне­ча [url=http://yperil1695.prophp.org/1/znakomstva-g-mozdok.php]зна­ком­ства г моз­док[/url] зна­ком­ства г чал­тырь
секс зна­ком­ства г ар­се­ньев сайт секс зна­комств пе­ре­я­с­лавль-за­лес­ский [url=http://sumloorsfest1633.zaghost.com/1/sayt-znakomstv-orsk.php]сайт зна­комств орск[/url] [url=http://radlere1487.0adz.com/3/intim-znakomstva-g-nozhay-yurt.php]ин­тим зна­ком­ства г но­жай-юрт[/url]
секс зна­ком­ства про­хо­ров­ка
секс зна­ком­ства дно
сайт зна­комств г ар­ма­вир
зна­ком­ства верх­няя ту­ра
секс зна­ком­ства юж­но са­ха­линск [url=http://giomora1957.xlphp.net/1/bryansk-znakomstva-porno.php]брянск зна­ком­ства пор­но[/url] секс зна­ком­ства го­род му­ром­це­во
ин­тим зна­ком­ства го­род вох­ма [url=http://nettstancon1861.swiftphp.com/1/intim-znakomstva-gorod-zaozersk.php]ин­тим зна­ком­ства го­род за­озёрск[/url]
[url=http://diatarfa1913.php2h.com/1/znakomstva-andreapol.php]зна­ком­ства ан­дреа­поль[/url] зна­ком­ства на­и­мо­во
dating ru москва зна­ком­ства [url=http://poudnocal1679.my-php.net/map3.php]ин­тим зна­ком­ства го­род зве­нье­вое[/url] секс зна­ком­ства го­род ниж­ний нов­го­род
хо­чу де­вуш­ку на час [url=http://narita157.sprinterweb.net/2/intim-znakomstva-g-zbarazh.php]ин­тим зна­ком­ства г зба­раж[/url] ин­тим зна­ком­ства г коч­ки
сайт зна­комств ро­ма­нов­ская зна­ком­ства для ин­ти­ма секс зна­ком­ства без смс [url=http://skynintee1682.lhosting.info/2/intim-kogalim.php]ин­тим ко­га­лым[/url] ин­тим зна­ком­ства г мо­стов­ской
сайт зна­комств илан­ский зна­ком­ства в но­риль­ске секс ин­тим зна­ком­ства ве­ли­кий нов­го­род
зна­ком­ства для ин­ти­ма боль­шое со­ро­ки­но [url=http://lerscellgoog666.kwikphp.com/1/sayt-intim-znakomstv-tayga.php]сайт ин­тим зна­комств тай­га[/url]
сайт секс зна­комств пав­лов­ский по­сад секс зна­ком­ства в алей­ске
сайт секс зна­комств бе­лая ка­лит­ва
зна­ком­ства сур­гут
Hello!
Hello!
Hello!
Hello!
Hello!
Hello!
Hello!
Hello!
Hello!
Hello!
Hello!
Hello!
Hello!
Hello!
Hello!
Hello!
Hello!
You are my inspiration, I possess few web logs and rarely run out from to brand.
A delivery truck was high-jacked: The police are looking for two ‘hardened criminals’.
This design is wicked! You certainly know how to keep a
reader amused. Between your wit and your videos, I was almost moved to
start my own blog (well, almost…HaHa!) Great job. I really enjoyed what
you had to say, and more than that, how you presented it.
Too cool!
Thanks for one’s marvelous posting! I truly enjoyed reading it,
you happen to be a great author. I will make sure to bookmark your
blog and will come back later in life. I want to encourage yourself to continue your great job,
have a nice afternoon!
I like what you guys tend to be up too. This kind of clever work and
coverage! Keep up the amazing works guys I’ve incorporated you guys to my own blogroll.
Hi it’s me, I am also visiting this site on a regular basis,
this web site is actually fastidious and the people are actually
sharing pleasant thoughts.
I’m truly enjoying the design and layout
of your site. It’s a very easy on the eyes which makes it
much more pleasant for me to come here and visit more
often. Did you hire out a designer to create
your theme? Exceptional work!
Simply desire to say your article is as amazing. The clarity in your submit is simply great and i can suppose you’re knowledgeable in this subject.
Fine along with your permission allow me to clutch your feed to stay up to date with impending post.
Thank you a million and please continue the gratifying work.
I do not even know how I ended up right here, however I believed this post
was once great. I don’t realize who you might be however certainly you are going
to a famous blogger when you aren’t already. Cheers!
Great blog right here! Additionally your web site so much up fast! What web host are you the use of? Can I get
your associate hyperlink on your host? I want
my website loaded up as quickly as yours lol
Wow! This blog looks exactly like my old one! It’s on a totally different subject but it has pretty much the same layout and design. Great choice of colors!
I’m curious to find out what blog platform you have been utilizing?
I’m having some minor security problems with my latest blog and I would like to
find something more risk-free. Do you have any recommendations?
Superb, what a blog it is! This webpage presents useful data to us, keep it up.
It’s remarkable to go to see this web site and reading the views
of all mates about this piece of writing, while I
am also zealous of getting experience.
The other day, while I was at work, my cousin stole my iphone and tested
to see if it can survive a 30 foot drop, just so
she can be a youtube sensation. My apple ipad is now
broken and she has 83 views. I know this is entirely off topic but I
had to share it with someone!
Hi! Would you mind if I share your blog with my zynga group?
There’s a lot of people that I think would really appreciate your
content. Please let me know. Thank you
Hi there, its nice paragraph concerning media print, we
all know media is a great source of facts.
Actually when someone doesn’t know afterward its up to other viewers that
they will assist, so here it takes place.
I know this if off topic but I’m looking into starting my own blog and was
curious what all is required to get setup? I’m assuming having
a blog like yours would cost a pretty penny? I’m not very internet smart so I’m not 100% positive.
Any suggestions or advice would be greatly appreciated.
Appreciate it
Wow that was unusual. I just wrote an extremely long
comment but after I clicked submit my comment
didn’t appear. Grrrr… well I’m not writing all that over again. Anyhow, just wanted to say
fantastic blog!
for women: Why doesn’t it exist?
I have been browsing on-line more than 3 hours as of late, but I by no means discovered any interesting article like yours.
It is lovely worth sufficient for me. In my opinion, if all website
owners and bloggers made good content material as you did, the net will likely be much more helpful than ever before.
Hello there, just became alert to your blog through Google,
and found that it’s really informative. I’m gonna watch out for brussels.
I will appreciate if you continue this in future.
Many people will be benefited from your writing.
Cheers!
you are actually a excellent webmaster. The web site loading pace is incredible.
It seems that you are doing any unique trick. Moreover, The contents are masterwork.
you’ve performed a great activity in this topic!
It’s appropriate time to make some plans for the future and
it is time to be happy. I have read this post and
if I could I wish to suggest you few interesting things or
suggestions. Maybe you could write next articles referring
to this article. I desire to read even more things about it!
It’s actually a nice and useful piece of information. I’m glad that you shared
this helpful info with us. Please stay us up to date like this.
Thank you for sharing.
If you are going for finest contents like me, only pay
a visit this web site every day as it provides
feature contents, thanks my homepage — mink lashes bad kitty
Spot on with this write-up, I actually believe that this amazing site needs far more attention. I’ll probably be returning to read through more, thanks for the info! Here is my page … silk lash extensions london
We’re a group of volunteers and opening a new
scheme in our community. Your website offered us with valuable info to work on. You’ve
done a formidable job and our whole community will be thankful to you.
Hey very interesting blog!
Fine way of explaining, and nice paragraph to get data concerning
my presentation subject matter, which i am going to convey in college.
Do you mind if I quote a few of your posts as long as I provide credit and sources back to your website?
My blog site is in the very same area of interest as yours and my visitors
would really benefit from a lot of the information you provide here.
Please let me know if this okay with you. Appreciate it!
We stumbled over here coming from a different page
and thought I may as well check things out. I like what I
see so i am just following you. Look forward to checking out your web
page repeatedly. my weblog :: cs go skins trade up
Hi there everybody, here every one is sharing such know-how, thus it’s pleasant to
read this blog, and I used to visit this weblog all the time. Feel free to surf to my blog post; video game tournaments
- http://esil.akm.online.kz,
Highly energetic blog, I liked that bit. Will there be a part 2? My web site :: madden mobile coins for sale instagram
I always emailed this weblog post page to all my friends, since if like to read it next
my links will too. My weblog — siberian mink lashes cruelty
Thank you for any other wonderful post. Where else may just anybody get that type of info in such a perfect method of writing?
I’ve a presentation subsequent week, and I am at the look for such information. my website … cs go skins for sale ebay
Very nice post. I just stumbled upon your blog and wished to say that I have really enjoyed surfing around
your blog posts. In any case I will be subscribing
to your feed and I hope you write again very soon! Here is my web-site :: home improvement jobs (http://www.stavelydentalcare.com)
I am truly grateful to the owner of this web site who has shared this impressive
article at here. Feel free to visit my web-site mink lashes kit
Terrific work! That is the type of information that are meant
to be shared across the net. Shame on the seek engines
for not positioning this post higher! Come on over and talk over with my website .
Thank you =)
Thanks very nice blog! Also visit my blog madden mobile coins free no verification
When I originally commented I clicked the «Notify me when new comments are added» checkbox and now each time a comment is added I get
several e-mails with the same comment. Is there any way you can remove me from that service?
Thank you! Look into my homepage diamond silk lashes wholesale
I always emailed this web site post page to
all my friends, since if like to read it then my friends will too. Feel free to surf to my web blog … buy fifa 17 coins reddit — http://www.rcee.org.vn,
What i do not understood is in fact how you’re now not
really a lot more neatly-liked than you may be now. You’re so intelligent.
You understand thus significantly relating to this subject, produced me individually
imagine it from so many various angles. Its like women and men don’t seem to
be interested until it is something to accomplish
with Lady gaga! Your individual stuffs outstanding.
Always handle it up! My site … fifa 17 coins generator xbox one (kermanshah.haj.ir)
Very good post. I will be dealing with some
of these issues as well.. Feel free to surf to my weblog — csgo skins price drop
Thanks for one’s marvelous posting! I quite enjoyed reading it, you may be a great author.I will be sure to bookmark your blog
and will eventually come back in the future. I want to encourage you to definitely continue your great
writing, have a nice afternoon! Take a look at my site — mink lash extensions vs.
synthetic (http://metintwo.net)
If you would like to obtain a good deal from this post then you have to apply such techniques to your won website. My site: csgo skins betting
We are a group of volunteers and opening a new scheme in our community.
Your web site provided us with valuable info to work on. You have done an impressive job and our entire community will be grateful to you.
You actually make it seem so easy together with your
presentation but I find this matter to be really one thing which I feel I would by no
means understand. It seems too complex and very wide for
me. I am having a look ahead on your next post, I’ll attempt to get the dangle of it! Have a look at my weblog — fifa 17 coins ps4 mmoga
You actually make it seem so easy with your presentation but I find this matter to be
really something that I think I would never understand. It seems too complex and very broad for me. I am looking
forward for your next post, I will try to get the hang
of it! Check out my blog post cs go weapon skin betting
Thank you, I’ve just been looking for info about this subject
for a long time and yours is the best I have came upon till
now. But, what in regards to the bottom line? Are you positive in regards
to the source? Also visit my website — mink lashes strip
I am really loving the theme/design of your site. Do you ever run into any browser compatibility issues?
A number of my blog visitors have complained about my site not operating correctly in Explorer but looks great in Firefox.
Do you have any solutions to help fix this issue? Stop by my weblog :: mink eyelash extensions nyc
Great blog you have here.. It’s hard to find high quality writing like yours these days.
I honestly appreciate individuals like you! Take care!! my web page … fifa 17 coins ps4 uk
You need to take part in a contest for one of the most useful websites
on the net. I most certainly will highly recommend this blog! My weblog; fifa coins buy 17; teen.saejoongang.com,
I am regular reader, how are you everybody? This piece of writing posted
at this web site is genuinely pleasant. My page; cs go skins price guide
Wow, awesome blog layout! How long have you ever been blogging
for? you made running a blog glance easy. The entire glance of
your site is magnificent, as well as the content material! Also visit my web-site — cs go skin trade hack
I have been surfing online more than 2 hours today, yet I never
found any interesting article like yours. It’s pretty worth enough for me. Personally, if all web owners and bloggers made good content as you
did, the net will be much more useful than ever before.
Hi, I wish for to subscribe for this blog to obtain newest updates, so where can i
do it please help out.
With havin so much content and articles do you ever run into any issues of
plagorism or copyright infringement? My blog
has a lot of completely unique content I’ve either created
myself or outsourced but it seems a lot of it is popping it up all over the web without my permission. Do
you know any methods to help stop content from being stolen? I’d certainly appreciate it.
I loved as much as you will receive carried out right here.
The sketch is attractive, your authored material stylish. nonetheless, you command get got an shakiness over that you wish be delivering the following.
unwell unquestionably come more formerly again since exactly the same nearly very often inside
case you shield this increase. My page … cs go skins trade up
Nice weblog here! Also your website so much up fast! What host are you using? Can I get your affiliate hyperlink to your host? I desire my site loaded up as fast as yours lol My web site fifa coins zone live chat
Wow! After all I got a weblog from where I can genuinely get valuable data concerning my study
and knowledge. Take a look at my site silk lash extensions adelaide
This is really attention-grabbing, You are an excessively professional blogger. I have joined your rss feed and sit up for in quest of extra of your great post. Also, I have shared your website in my social networks
I need to to thank you for this great read!! I absolutely enjoyed
every bit of it. I have you book-marked to look at new stuff you post…

Оставить отзыв

Жёлтые поля обязательны к заполнению

   

Можете использовать теги <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang=""> <div class=""> <span class=""> <br>