2017-01-01から1ヶ月間の記事一覧

jsdo.it に登録

嫌味の一つもいいたくなるよなぁ〜

[OKWave][JavaScript][教えてgoo][JavaScript]に回答した。 もちろんオブジェクト指向的な書き方で。雑な書き方だから理解しやすいだろうか。 仕事の関係で書類の作成と準備が迫っている。PCの前に座っている方が楽なんだけど…。

SELECT要素の複数連動。その2(iOS Safari(iPad, iPhone, iTouch)で動作可)jQueryなんて使わない。Ajaxも使わない

ちょっと改良した。 option,optgroup は、htmlで定義した順に表示されるようにした。 option,optgroup は、混在できる。 optgroup を指定する value値を拡張できるようにした カンマで区切るとoptgroupを複数指定できる。 * を指定するとすべて表示する /^te…

SELECT要素の連動(いくつでも可能&iOS Safariで動作可)

連動させると指数関数的に増えるのも理解できる Ajaxを推めるのも理解できる しかし、小さいならこれでも吉とするかな。 optgroupに対してdisplay:noneが効くのならもっと簡単なのに。 iPadとかiPhoneのsafariに対応させるために面倒だったなと愚痴をこぼす…

球面上にN個の点を均等に配置したい。その9(立方体を細かく分割)

立方体の個々の面を4分割して球に近づけてみた 綺麗になるかと思ったら形が歪になった。これは失敗。 ワイヤーフレームも描くhttp://jsdo.it/babu_babu_baboo/YQEj <meta charset="UTF-8"> <title>N個の点を持つ球体を描画する</title> <style> </style> <body> <canvas width="600" height="600"></canvas> <script> /* //https://www.jstage.jst.go.jp/article/geoinform</body></meta>…

球面上にN個の点を均等に配置したい。その8(正二十面体を細かく分割)

正二十面体を細かく分解してみた。なにげに綺麗に分散された。 しかし、座標計算に時間がかかるようで微妙だ。 点の他にワイヤーフレームもつけてみた。 <meta charset="UTF-8"> <title>N個の点を持つ球体を描画する</title> <style> </style> <body> <canvas width="600" height="600"></canvas> <script> /* //https://www.jstage.jst.go.jp/article/geoinformatics/12/1</body></meta>…

球面上にN個の点を均等に配置したい。その6 / 「多数の点を球面上に一様に分布させるソフトウェア」(山路敦)を JavaScriptに移植(コアな部分だけ)してみる

理論とか面倒なことは理解できないのだが、それにしても Pascal言語が理解しづらい。 そしてこんな理論を考えられる人が、なんで配列の操作を0からではなく1から始めたのかわからない なので、Javascriptらしく書き直す予定。 iPad でも動くよ。下の5種類は…

球面上にN個の点を均等に配置したい。その7(正二十面体を細かく分割)

正二十面体を細かく分割して球体にしてみる 分割処理は正三角形を一度に4等分割するので、3回行うと 20 * 4^3 = 1280 個の三角形ができるのだが(頂点はダブっているぞ!)、5回の分割だと Core i7 でもぎりぎり。 プログラム的には命名がおかしいけど、…

フィボナッチ数を求める関数

求める公式があったとは… 一般的な再帰による求め方をする必要がないのでよいのかもしれない。 マイナスの引数にも対処してみた。 (function () { // フィボナッチ関数 var round = Math.round; var pow = Math.pow; var sqrt5 = Math.sqrt (5); var goldR =…

球面上にN個の点を均等に配置したい。その5(フィボナッチ数個)そしてマウスのドラッグで回転もできる

もちろんこれは、夏に向けての花火の種となる <meta charset="UTF-8"> <title>N個の点を持つ球体を描画する</title> <style> body,canvas { background : black; } </style> <body> <canvas width="1000" height="1000"></canvas> <script> (function () { var INIT_QUATERNION = [1, 0, 0, 0]; function RotationController (element) { this…</body></meta>

Bスプライン曲線を復習する

滑らかな曲線を描く発生器が欲しくなったので再び考える 最終的な目的は、始点が(0,0)で終点が(1,1)、中に2点で全部で4つ。 高速に動作する。もちろんある程度短いことにこしたことはない。 で基本から。 <meta charset="utf-8"> <title>B-spline</title> <body> <canvas width="500" height="500"></canvas> <script> function B_Spline_Generator (point)</body></meta>…

canvasで完全二分木を描画したいのですが

canvas の部分は、外側にしろとあれほど・・・ <meta charset="utf-8"> <title>n木分</title> <body> <canvas width="1000" height="300"></canvas> <script> (function () { // NTreeは Nodeというオブジェクトを木の枝のように、親と子(配列)お持つ function Node (parent) { this.parent = parent; this.child = new Array (); } //_________ // 元とい</body></meta>…