ホームページ  >  記事  >  ウェブフロントエンド  >  八卦グラフを描画するための 12 行の JavaScript コード_JavaScript スキル

八卦グラフを描画するための 12 行の JavaScript コード_JavaScript スキル

WBOY
WBOYオリジナル
2016-05-16 16:06:031918ブラウズ

一文の説明: 限られたコードを使用して 1024*1024 のカラー マトリックスを構築し、プログラミングと芸術的な美しさを誇示します

stackexchange での質問に由来し、より多くのプログラミング言語をサポートし、コード長の制限を緩和するためにここでわずかに拡張されました。
ルール

ターゲット:
テンプレートに関数 get_color_at(x, y) を実装することで、1024*1024 のキャンバスにできるだけ「面白い」パターンを描画します。

パラメータ:
int x、int y、値は0~1023で、キャンバス上の座標点に対応し、左上隅が開始点(0,0)となります

戻る:
int r、int g、int b、int alpha、対応する色の RGBA コンポーネントの範囲はすべて 0 ~ 255 です。

注:
アルファ コンポーネントの定義は言語ごとに異なる場合がありますが、テンプレートによって一律に 0 ~ 255 に変換されます。値が大きいほど、透明度が高くなります。

要件:
編集できるのは、テンプレートの get_color_at(x, y) 関数本体の // {{code start}} ~ // {{code end}} の間のコードのみです。 コードの合計文字数は 1024 文字を超えることはできず、可読性が高くなければなりません。

if(typeof f_c=="undefined"){
  f_c=function(x,y,px,py,r){
    return Math.sqrt(Math.pow(x-px,2)+Math.pow(y-py,2))<=r;
  };
}
var x0=x-512,y0=y-512;
r=g=b=128;
if(f_c(x0,y0,0,0,512)) r=g=b=(x0>0)&#63;255:0;
if(f_c(x0,y0,0,256,256)&&x0<=0) r=g=b=255;
if(f_c(x0,y0,0,-256,256)&&x0>0) r=g=b=0;
if(f_c(x0,y0,0,256,64)) r=g=b=0;
if(f_c(x0,y0,0,-256,64)) r=g=b=255;
以上がこの記事の全内容です。皆さんに気に入っていただければ幸いです。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。