Go wallpapers

General conversations about Go belong here.
User avatar
Shedal
Beginner
Posts: 14
Joined: Sun Aug 08, 2010 1:08 am
Rank: KGS 3 dan
GD Posts: 0
KGS: Shedal
IGS: Shedal
Has thanked: 1 time
Been thanked: 42 times
Contact:

Go wallpapers

Post by Shedal »

I took some pictures of the Go board yesterday, and also a couple pics two years ago. Thought I'd share these with everyone in wallpaper format:

Image

Image

Image

Image

Image
User avatar
wineandgolover
Lives in sente
Posts: 866
Joined: Sun Jul 25, 2010 6:05 am
GD Posts: 0
Has thanked: 318 times
Been thanked: 345 times

Re: Go wallpapers

Post by wineandgolover »

Very nice!

Any chance for iPhone proportions?
- Brady
Want to see videos of low-dan mistakes and what to learn from them? Brady's Blunders
User avatar
Shedal
Beginner
Posts: 14
Joined: Sun Aug 08, 2010 1:08 am
Rank: KGS 3 dan
GD Posts: 0
KGS: Shedal
IGS: Shedal
Has thanked: 1 time
Been thanked: 42 times
Contact:

Re: Go wallpapers

Post by Shedal »

wineandgolover wrote:Very nice!

Any chance for iPhone proportions?

Thanks!

Which iPhone? They have different screen proportions.
User avatar
wineandgolover
Lives in sente
Posts: 866
Joined: Sun Jul 25, 2010 6:05 am
GD Posts: 0
Has thanked: 318 times
Been thanked: 345 times

Re: Go wallpapers

Post by wineandgolover »

Well, since you're asking, I have an iPhone 4s and an iPad retina screen.

But, seriously don't feel the need to make them for me. Maybe somebody else will chime in. :tmbup:
- Brady
Want to see videos of low-dan mistakes and what to learn from them? Brady's Blunders
User avatar
Shedal
Beginner
Posts: 14
Joined: Sun Aug 08, 2010 1:08 am
Rank: KGS 3 dan
GD Posts: 0
KGS: Shedal
IGS: Shedal
Has thanked: 1 time
Been thanked: 42 times
Contact:

Re: Go wallpapers

Post by Shedal »

wineandgolover wrote:Well, since you're asking, I have an iPhone 4s and an iPad retina screen.

But, seriously don't feel the need to make them for me. Maybe somebody else will chime in. :tmbup:

Yeah, someone could resize the pics I published to iPhone resolution. But 1920x1200 is not enough to resize for iPad retina.

Anyways, I happen to have the same devices as you have, so I played around with cropping for two of the pics:

http://dl.dropboxusercontent.com/u/5504 ... ne4s_1.jpg
http://dl.dropboxusercontent.com/u/5504 ... ne4s_2.jpg
http://dl.dropboxusercontent.com/u/5504 ... tina_1.jpg
http://dl.dropboxusercontent.com/u/5504 ... tina_2.jpg

http://dl.dropboxusercontent.com/u/5504 ... hone4s.jpg
http://dl.dropboxusercontent.com/u/5504 ... retina.jpg
User avatar
wineandgolover
Lives in sente
Posts: 866
Joined: Sun Jul 25, 2010 6:05 am
GD Posts: 0
Has thanked: 318 times
Been thanked: 345 times

Re: Go wallpapers

Post by wineandgolover »

Applied. Thanks!
- Brady
Want to see videos of low-dan mistakes and what to learn from them? Brady's Blunders
Martin1974
Dies in gote
Posts: 24
Joined: Wed Jun 19, 2013 2:07 am
Rank: DGS 25 kyu
GD Posts: 0
Universal go server handle: Martin1974
Has thanked: 8 times
Been thanked: 5 times

Re: Go wallpapers

Post by Martin1974 »

Very nice! Thanks!
User avatar
EdLee
Honinbo
Posts: 8859
Joined: Sat Apr 24, 2010 6:49 pm
GD Posts: 312
Location: Santa Barbara, CA
Has thanked: 349 times
Been thanked: 2070 times

Post by EdLee »

Hi Shedal, thanks. Which camera did you use for those photos ? :)
User avatar
Shedal
Beginner
Posts: 14
Joined: Sun Aug 08, 2010 1:08 am
Rank: KGS 3 dan
GD Posts: 0
KGS: Shedal
IGS: Shedal
Has thanked: 1 time
Been thanked: 42 times
Contact:

Re:

Post by Shedal »

EdLee wrote:Which camera did you use for those photos ? :)

Nikon D90 and Nikon D800.
User avatar
AKaios
Dies in gote
Posts: 35
Joined: Thu Jul 19, 2012 4:14 pm
Rank: 13k
GD Posts: 0
KGS: AKaios
IGS: AKaios
Kaya handle: AKaios
Online playing schedule: KGS about 20:00-3:00 (UTC -7)
Location: Utah, USA
Has thanked: 1 time
Been thanked: 3 times
Contact:

Re: Go wallpapers

Post by AKaios »

Oh my god these are gorgeous. I think you should do another set of these. :mrgreen:

Really excited to use these as backgrounds. Thank you for sharing!
Image
Image
Image
Image
pobe
Beginner
Posts: 9
Joined: Sun Aug 04, 2013 3:57 am
GD Posts: 0
Universal go server handle: pobe
Online playing schedule: rarely
Has thanked: 1 time
Been thanked: 6 times

Re: Go wallpapers

Post by pobe »

I took this with my iPhone (4). Looks good enough for a phone background, imho... :)

Image
Go wallpaper by pobe, on Flickr
pobe
Beginner
Posts: 9
Joined: Sun Aug 04, 2013 3:57 am
GD Posts: 0
Universal go server handle: pobe
Online playing schedule: rarely
Has thanked: 1 time
Been thanked: 6 times

Re: Go wallpapers

Post by pobe »

When I get into something, I tend to geek out... Here's another one I made for my netbook. I could post this in higher resolution if anyone is interested. ;)

Image
Another go wallpaper by pobe, on Flickr
pobe
Beginner
Posts: 9
Joined: Sun Aug 04, 2013 3:57 am
GD Posts: 0
Universal go server handle: pobe
Online playing schedule: rarely
Has thanked: 1 time
Been thanked: 6 times

Go wallpapers

Post by pobe »

Reviving this old thread with my latest hack... I wrote a small script that reads an SGF file and updates my wallpaper every 20 seconds. Looks like this on my linux netbook:

Image
User avatar
Redbeard
Lives with ko
Posts: 269
Joined: Fri Apr 23, 2010 10:56 am
Rank: AGA 12k
GD Posts: 292
KGS: RedBeard
DGS: Akahige
Location: Seattle
Has thanked: 127 times
Been thanked: 123 times
Contact:

Re: Go wallpapers

Post by Redbeard »

Cool! Care to share the script?
pobe
Beginner
Posts: 9
Joined: Sun Aug 04, 2013 3:57 am
GD Posts: 0
Universal go server handle: pobe
Online playing schedule: rarely
Has thanked: 1 time
Been thanked: 6 times

Re: Go wallpapers

Post by pobe »

Sure, it's not exactly code to brag about but it works :) I'm pretty sure one could optimize it or write something much better. The life-checking function does redundant testing in some conditions, but I haven't bothered to tweak it.

It's perl, uses perlmagick for creating and saving the image and feh to set the background. There was a few comments in there, but they were my notes in swedish so I removed them.

Code: Select all

#!/usr/bin/perl

use Image::Magick;

$sleeptime = 20;
$imgfile = '/tmp/sgfwallpaper.png';
$lines = 19;
$width = 1024;
$height = 600;
$yoffset = $height / 12;
$gridsize = ($height - $yoffset * 2) / ($lines - 1);
$xoffset = ($width - (($lines - 1) * $gridsize)) / 2;
$bg = '#ba6'; # background color
$lc = '#333'; # lines and hoshi
$bc = '#111'; # black stones
$wc = '#eff'; # white stones
$lw = $height / 500; # stroke width (lines & hoshi)

$gb = Image::Magick->new(size=>$width.'x'.$height);
$gb->ReadImage("canvas:$bg");

@goban = ();
@checked = ();
for ($i = 0; $i < $lines; $i++) {
    for ($j = 0; $j < $lines; $j++) {
   $goban[$i][$j] = 0;
   $checked[$i][$j] = 0;
    }
}

# draw_hoshi(x, y)
sub draw_hoshi{
    my $x = $_[0] - 1;
    my $y = $_[1] - 1;
    $x = $xoffset + $x * $gridsize;
    $y = $yoffset + $y * $gridsize;
    $r = $y + $lw * 2;
    $gb->Draw(primitive=>'circle',points=>"$x,$y $x,$r",fill=>$lc);
}

# draw_stone(color, x, y, x-off, y-off)
sub draw_stone{
    my $f = $_[0];
    my $x = $_[1];
    my $y = $_[2];
    my $xoff = $_[3];
    my $yoff = $_[4];
    $x = $xoffset + $x * $gridsize + $xoff;
    $y = $yoffset + $y * $gridsize + $yoff;
    $r = $y + ($gridsize / 2.1);
    $gb->Draw(primitive=>'circle',points=>"$x,$y $x,$r",fill=>$f);
}

# liberties(x, y, color)
sub liberties{
    my $x = $_[0];
    my $y = $_[1];
    my $f = $_[2];
    my $lib = 0;

    if ($checked[$x][$y]) {
   return 0;
    }

    $checked[$x][$y] = 1;
    if ($x > 0 and !$goban[$x - 1][$y]) {
   $lib++;
    }
    if ($x < $lines - 1 and !$goban[$x + 1][$y]) {
   $lib++;
    }
    if ($y > 0 and !$goban[$x][$y - 1]) {
   $lib++;
    }
    if ($y < $lines - 1 and !$goban[$x][$y + 1]) {
   $lib++;
    }
    if ($lib < 4) {
   if ($y < $lines - 1 and $goban[$x][$y + 1] =~ /^$f/) {
       $lib += liberties($x, $y + 1, $f);
   }
   if ($y > 0 and $goban[$x][$y - 1] =~ /^$f/) {
       $lib += liberties($x, $y - 1, $f);
   }
   if ($x < $lines - 1 and $goban[$x + 1][$y] =~ /^$f/) {
       $lib += liberties($x + 1, $y, $f);
   }
   if ($x > 0 and $goban[$x - 1][$y] =~ /^$f/) {
       $lib += liberties($x - 1, $y, $f);
   }
    }
    $checked[$x][$y] = 0;
    return $lib;
}

# remove_stone(x, y, color)
sub remove_stone{
    my $x = $_[0];
    my $y = $_[1];
    my $f = $_[2];

    $goban[$x][$y] = 0;
    if ($y < $lines - 1 and $goban[$x][$y + 1] =~ /^$f/) {
   remove_stone($x, $y + 1, $f);
    }
    if ($y > 0 and $goban[$x][$y - 1] =~ /^$f/) {
   remove_stone($x, $y - 1, $f);
    }
    if ($x < $lines - 1 and $goban[$x + 1][$y] =~ /^$f/) {
   remove_stone($x + 1, $y, $f);
    }
    if ($x > 0 and $goban[$x - 1][$y] =~ /^$f/) {
   remove_stone($x - 1, $y, $f);
    }
}

# check_stone(x, y, color)
sub check_stone{
    my $x = $_[0];
    my $y = $_[1];
    my $f = $_[2];
    if (!liberties($x, $y, $f)) {
   remove_stone($x, $y, $f);
    }
}

# check_life(last_move_color, last_move_x, last_move_y)
sub check_life{
    my $f = $_[0];
    my $fm;
    my $x = $_[1];
    my $y = $_[2];
    if ($f eq $bc) {
   $fm = $wc;
    } elsif ($f eq $wc) {
   $fm = $bc;
    }
    if ($y < $lines - 1 and $goban[$x][$y + 1] =~ /^$fm/) {
   check_stone($x, $y + 1, $fm);
    }
    if ($y > 0 and $goban[$x][$y - 1] =~ /^$fm/) {
   check_stone($x, $y - 1, $fm);
    }
    if ($x < $lines - 1 and $goban[$x + 1][$y] =~ /^$fm/) {
   check_stone($x + 1, $y, $fm);
    }
    if ($x > 0 and $goban[$x - 1][$y] =~ /^$fm/) {
   check_stone($x - 1, $y, $fm);
    }
    check_stone($x, $y, $f);
}

# redraw()
sub redraw{
    my $s;

    $gb->Draw(primitive=>'rectangle', points=>"0,0 $width,$height", fill=>$bg);
    for ($i = 0; $i < $lines; $i++) {
   $ax = $xoffset + $i * $gridsize;
   $ay = $yoffset;
   $bx = $ax;
   $by = $yoffset + ($lines - 1) * $gridsize;
   $gb->Draw(primitive=>'line', points=>"$ax,$ay $bx,$by", stroke=>$lc, strokewidth=>$lw);
    }
    for ($i = 0; $i < $lines; $i++) {
   $ax = $xoffset;
   $ay = $yoffset + $i * $gridsize;
   $bx = $width - $xoffset;
   $by = $ay;
   $gb->Draw(primitive=>'line', points=>"$ax,$ay $bx,$by", stroke=>$lc, strokewidth=>$lw);
    }
    draw_hoshi(4, 4);
    draw_hoshi(4, 10);
    draw_hoshi(4, 16);
    draw_hoshi(10, 4);
    draw_hoshi(10, 10);
    draw_hoshi(10, 16);
    draw_hoshi(16, 4);
    draw_hoshi(16, 10);
    draw_hoshi(16, 16);
   
    for ($i = 0; $i < $lines; $i++) {
   for ($j = 0; $j < $lines; $j++) {
       if ($goban[$i][$j]) {
      @s = split(':', $goban[$i][$j]);
      draw_stone($s[0], $i, $j, $s[1], $s[2]);
       }
   }
    }
}


$f = $bc;

while (<>) {
    @sgf = split(';');
    foreach (@sgf) {
   if ($f) {
       redraw();
       $gb->Write($imgfile);
       system("feh --bg-center $imgfile");
       sleep($sleeptime);      
   }
   $f = 0;
   if (/\[[a-w]{2}\]/) {
       if (/^B\[/ or /^AB\[/) {
      $f = $bc;
       } elsif (/^W\[/ or /^AW\[/) {
      $f = $wc;
       }
       if ($f) {
      $xoff = rand($lw * 2) - $lw;
      $yoff = rand($lw * 2) - $lw;
      s/[^\[]*\[//;
      s/\].*//;
      @k = split('');
      $x = ord($k[0]) - ord('a');
      $y = ord($k[1]) - ord('a');
      $goban[$x][$y] = "$f:$xoff:$yoff";
      check_life($f, $x, $y);
       }
   }
    }
}
Post Reply