[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: MGL and 8bpp



鈴木(康)です。
<200003081039.TAA01885@ninja.hpc.bs1.fc.nec.co.jp>の記事において
suz@hpc.bs1.fc.nec.co.jpさんは書きました。
  | 一番小さい周期は、暗い->赤っぽい
  | それをいくつか合わせた 2番目の周期は、暗い->緑
  | 全体では、暗い->青くて明るい
  | 
  | ようには見えますが、
  | 
  | だからといって
  | 
  | 	Bx6x6+ Gx6+ R + n 
  | 
  | という単純な形ではないように思います。
  | 
  | # いくら見てもどんなルールかゼンゼンわからないです。
  | 
  | どなたか解明していただけないでしょうか?

プログラムにで、"改行" 入れてみました。

6 つのブロックが 見えます。
形は不規則ですが、6 ブロック全体では左右に対象です。

左3 つのブロックは、綺麗にグラデーションが見えますが、
3 つともおなじ色配分のように見えます。( 微妙にちがうような気もするけど)

右の3 つのプロックも同様の傾向がありますが、壊れているような見え方です。

あなたには、何が見えますか?


# ここは、どんなメーリングリストだ!

------ ここから
#include <sys/types.h>
#include <sys/mman.h>

#ifndef NULL
#define NULL    (void *)0
#endif

main() {
    int fd;
    int i,j,c,cc,x,y;
    char *p;

    fd = open("/dev/ttyE0",2);
    if (fd < 0) {
            perror("open\n");
            exit(1);
    }
    p = mmap(NULL, 1024* 240, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0);
    if (p == (void *)(-1)) {
           perror("mmap\n");
           exit(1);
    }
    cc=0;
    for (c=0; c<256; c++,cc++) {
    if ( c == 1 || c == 7
     || c == 29 || c == 33 || c == 39 || c == 45 || c == 51 || c == 57
     || c == 60 || c == 66 || c == 72 || c == 78 || c == 84 || c == 90
     || c == 95 || c == 101 || c == 107 || c == 112 || c == 118 || c == 123
     || c == 128 || c == 133 || c == 138 || c == 144 || c == 149 || c == 155
     || c == 161 || c == 166 || c == 172 || c == 178 || c == 184 || c == 190
     || c == 196 || c == 199 || c == 205 || c == 211 || c == 217 || c == 223
     || c == 227 || c == 233 )
                    cc = (cc + 7) & ~7;
            x = (cc / 8) * 10;
            y = (cc % 8) * 16;
            for (i=0; i<10; i++) for (j=0; j<16; j++) {
                    p[ (y + j)*1024 + x + i] = c;
            }
    }
    printf("drawing done\n");
    munmap(p,1024*256);
    close(fd);
    exit(0);
}
----- ここまで
--
					鈴木 康司 @NEC
					suz@hpc.bs1.fc.nec.co.jp
					TEL 0423-33-5381