このメニューの一番下、つまりこの行の上!、 には、「以前のチャットに戻す」がある それをクリックすると、いろいろ言われるが、 Okを押せば、無事に元の、すっきり画面に戻れる PCユーザにはやはり古い画面はいいと思う人が少なくないだろう |
Wednesday, July 30, 2014
How to toggle Gmail Chat User Interface to the old one チャットの画面を古いものに戻す方法
Friday, July 25, 2014
Study Memo of ROOT - Gradient Merge of Two Images 学習メモ
Original Image 1 |
Original Image 2 |
Gradient Merge |
#include "TImage.h"
#include "TCanvas.h"
#include "TArrayD.h"
#include "TROOT.h"
#include "TColor.h"
#include "TAttImage.h"
#include "TEnv.h"
void imgProc02()
{
TImage *img1 = TImage::Open("IMGP4782.png");
TImage *imgG = img1->Clone("img2");
TImage *img2 = TImage::Open("IMGP4783.png");
imgG->Gradient();
img1->Merge(imgG, "tint");
imgG->Gradient(0, "#000000 #FFFFFF");
img2->Merge(imgG, "tint");
img1->Merge(img2, "lighten");
img1->WriteImage("GradientMerge.png");
}
Study Memo of ROOT - TImage::CopyARea 学習メモ
Original Image 1 |
Original Image 2 |
Composite Image in mosaic tiles |
Source code is as below.
#include "TImage.h"
#include "TCanvas.h"
#include "TArrayD.h"
#include "TROOT.h"
#include "TColor.h"
#include "TAttImage.h"
#include "TEnv.h"
void imgProc01()
{
TImage *img1 = TImage::Open("IMGP4782.png");
TImage *img2 = TImage::Open("IMGP4783.png");
int w = img1->GetWidth();
int h = img1->GetHeight();
int gridX = 3;
int gridY = 3;
int tileW = w/gridX;
int tileH = h/gridY;
for (int i=0; i<gridY; i++) {
for (int j=0; j<gridX; j++) {
if ((j%2 == 0 && i%2 == 0) || (j%2 == 1 && i%2 == 1)) {
img1->CopyArea(img2, i*tileW, j*tileH, tileW, tileH, i*tileW, j*tileH);
}
}
}
img2->WriteImage("MregeFunOverlay.png");
}
The same result can be achieved by the following code too, using FillRectangle and Merge.
#include "TImage.h"
#include "TCanvas.h"
#include "TArrayD.h"
#include "TROOT.h"
#include "TColor.h"
#include "TAttImage.h"
#include "TEnv.h"
void imgProc01()
{
TImage *img1 = TImage::Open("IMGP4782.png");
TImage *img2 = TImage::Open("IMGP4783.png");
int w = img1->GetWidth();
int h = img1->GetHeight();
int gridX = 3;
int gridY = 3;
int tileW = w/gridX;
int tileH = h/gridY;
for (int i=0; i<gridY; i++) {
for (int j=0; j<gridX; j++) {
if ((j%2 == 0 && i%2 == 0) || (j%2 == 1 && i%2 == 1)) {
img1->FillRectangle("#FFFFFF", i*tileW, j*tileH, tileW, tileH);
}
if ((j%2 == 0 && i%2 == 1) || (j%2 == 1 && i%2 == 0)) {
img2->FillRectangle("#FFFFFF", i*tileW, j*tileH, tileW, tileH);
}
}
}
img2->Merge(img1, "tint");
img2->WriteImage("Mrege-Overlay-tile-sub.png");
}
The Merge Function of TImage - Study Memo of ROOTの学習メモ
Original Image 1 |
Original Image 2 |
op="Add" |
op="allanon" |
op="alphablend" |
op="colorize" |
op="darken" |
op="diff" |
op="dissipate" |
op="hue" |
op="lighten" |
op="overlay" |
op="saturate" |
op="screen" |
op="sub" |
op="tint" |
op="value" |
#include "TImage.h"
#include "TCanvas.h"
#include "TArrayD.h"
#include "TROOT.h"
#include "TColor.h"
#include "TAttImage.h"
#include "TEnv.h"
void imgProc()
{
TImage *img1 = TImage::Open("IMGP4782.png");
TImage *img2 = TImage::Open("IMGP4783.png");
img2->Merge(img1, "value");
img2->WriteImage("MregeValue.png");
//img2->Draw();
}
Thursday, July 24, 2014
Selective Colorization with GIMP で指定領域だけの色を残す方法
Tuesday, July 22, 2014
A Memo on ROOT by CERN ルートのメモ
Wikipediaによると、「ROOT(ルート)は、CERNによって開発が行われている、データ解析環境および関連するライブラリ群である。グラフ作成のみならず、ヒストグラムの操作、4元ベクトルの扱い、実験データの可視化など、高エネルギー物理学の研究に不可欠な要素が組み込まれている。開発当初は素粒子実験のデータ解析用ソフトウェアとして構築されたが、近年では高エネルギー宇宙物理学や天文学といった分野でも使用されている。」
英語の説明は、「CERN maintained a program library written in FORTRAN for many years; development and maintenance were discontinued in 2003 in favour of ROOT, written in C++. ROOT development was initiated by René Brun and Fons Rademakers in 1994.」
ROOT指南書はKAKUKEN2006 川村広和氏によるROOTの入門書です。
ROOT講習は山形大学・理学部・物理学科・フォーク核物理学グループ・宮地研究室による簡単なチュートリアルです。
ROOT 初心者用チュートリアルは東京大学によるものです。
全て英語ですが、CERNによるROOTのドキュメントはこちらです。その中に、チュートリアルというリンクがあり、学習向けの詳細な情報はあります。
英語の説明は、「CERN maintained a program library written in FORTRAN for many years; development and maintenance were discontinued in 2003 in favour of ROOT, written in C++. ROOT development was initiated by René Brun and Fons Rademakers in 1994.」
ROOT指南書はKAKUKEN2006 川村広和氏によるROOTの入門書です。
ROOT講習は山形大学・理学部・物理学科・フォーク核物理学グループ・宮地研究室による簡単なチュートリアルです。
ROOT 初心者用チュートリアルは東京大学によるものです。
全て英語ですが、CERNによるROOTのドキュメントはこちらです。その中に、チュートリアルというリンクがあり、学習向けの詳細な情報はあります。
Thursday, July 10, 2014
Puzzle Game 2048 パズルゲームのコツ・必勝法
ハマる数値パズルゲーム「2048」攻略のコツによると、
北イタリアに住む1994年生まれの Gabriele Cirulli 氏によって開発されたそうです。
頭脳系パズルゲーム【2048】攻略法!によると、以下の2つのコツがあるそうです。
個人的に、コツとして実践したのは、以下の通りです。
並び順がみだらて、「大小大」のような「穴」ができてしまう時に、すかさずそれを埋めなければ、一貫の終わりです。
後は、算数の問題ですが、タイルの数値を4で割っての合計は、タイルを移動する最大のステップ数です。「最大」と言っているのは、新規のタイルは時には4もあるので、その数分を減らす必要はあります。
原理はすこぶる簡単で、上のコツさえ守ればクリアできるはずです。但し、新規タイルの位置がランダムだから、時には都合の悪い組み合わせがあります。
- 大きい数字は端っこに集める
- 1方向の移動を禁止して、3方向のみで勝負する。右の列は常に4つのタイルが埋まっているようにする
- [2]を消すことを優先する
北イタリアに住む1994年生まれの Gabriele Cirulli 氏によって開発されたそうです。
頭脳系パズルゲーム【2048】攻略法!によると、以下の2つのコツがあるそうです。
- 「左スワイプを封印」してひたすら右側にタイルを寄せ続ける
- 上下スワイプで組み合わせ可能なタイルの出現を待つ
個人的に、コツとして実践したのは、以下の通りです。
- 3方向だけ動かす。たとえば、左右、下。
- 大きい数字を一遍に置く(固定層と呼ぶ)。上の例では下。
- 大きい数字を隅に、また降順(左角にある場合右に向かって降順)で作る
- 大小交じりの「層」を作らない。上の例では、層は左右方向で、下に向かって必ず昇順で作る
- 固定層(上の例では下)は常に隙間なく埋めておく
並び順がみだらて、「大小大」のような「穴」ができてしまう時に、すかさずそれを埋めなければ、一貫の終わりです。
後は、算数の問題ですが、タイルの数値を4で割っての合計は、タイルを移動する最大のステップ数です。「最大」と言っているのは、新規のタイルは時には4もあるので、その数分を減らす必要はあります。
原理はすこぶる簡単で、上のコツさえ守ればクリアできるはずです。但し、新規タイルの位置がランダムだから、時には都合の悪い組み合わせがあります。
マイ・基本ルール 下への移動を禁止 最大のタイルを(例えば左上)隅に 大きいタイルから降順に 辺に沿った「階層」も降順 |
コツを考えずに出したマイ・ハイスコア 並び順が乱れて、「穴」だらけ |
これも失敗例 並び順を考えたが、途中でちょっとだけの乱れで 穴ができてしまい、大きいタイル作りの足場が狭くなり 最後、穴がどんどん増えて、とうとうスペースゼロになる |
2048を達成時の画面 2048ができてもまだ続けられる 次のゴールは4096! |
これはよりコンパクトに2048達成例 これなら、4096を狙える位置だ |
4096へチャレンジしたが、 High Scoreを32936まで伸ばせても、見事挫折 2層目の逆順はどうしても直せなくて、苦しかった この並び方だと、右への移動はいつもドキドキする 問題の行の左側が埋められるかは心配! |
Fractal Graphics Gallery フラクタル画像集
Gorilla in Burning Ship xnew=x*x-y*y-px ynew=2|x*y|-py -0.33<x<0.33; -0.25<y<0.25 -0.33 maxLoop=120, explosion threshold=8 |
the head of the gorilla -0.06<x<0.06; 0.059<y<0.15 |
"Hole" in the center of the gorilla's chest -0.0052<x<0.0052; 0.0610<y<0.0750 |
A "frog" -1.2<x<1.2; -1.3<y<1.3 4; Px=-0.45; Py= 0.70 loop=150; explosion threshold=8 |
Alzheimer Brain -2<x<2; -2.2<y<2.2; Px=0.75; Py=0.9 loop=120; explosion threshold=120 |
Mandelbrot; Znew=Z*Z*Z+c (c=-1.801+0.089i) |
Julia set: Dendrite (1) |
Julia set: Dauady's Rabbit Fractal (-0.123+0.745i) |
Julia set: San Marco Fractal (-0.75) |
Julia set: Siegel Disk (-0.391-0.587i) |
Znew=1/Z*Z+c Julia set at (-0.71, 0.1) |
Znew=1/Z*Z+c Julia set at (-0.71, 0.1) Fix c, Z0=(Pixel position) |
Newton with disturn of P(0.1, 0) Znew=z-F(z)/(F'(z)+P) F(z)=Z*Z*Z-2*Z-5 |
Newton Secant Method; The "Ghost"! Znew=Z-F(z)/(F'(z)+P) F'(z)=(F(z+h)-F(z))/h range: x(-0.7, 0), y(-0.4, 0.4), P(0, 0) |
Newton Method; Complex Cubic; Pink Mask f(z)=(z-1)(z-c+0.5)(z+c+0.5) range (-0.361324, 0.586676), (-0.638263,0.625737 ) |
Subscribe to:
Posts (Atom)