投稿

ラベル(C)が付いた投稿を表示しています

キーボード修理

イメージ
前回 調子が悪くなったと書きましたが、部品が手配できて時間が取れたので直しました。 茶軸のスイッチを購入 Cherryの茶軸は 10個で1,399- ということで購入。 本当は1個で充分なんだけど、仕方なく残りは予備部品として保管。 作業手順 キーボードの裏側ネジを3箇所外します。 左右と中央の丸シールの下。 左右はパッドを貼っているので、少しめくって外します。 (あとで綺麗に戻るので心配なしです) ケーブルが出ている方は、スッと外れ、手前(下側)は、内部に爪が有るので、ピックやカード、マイナスドライバなどで少し隙間を開けるようにして広げれば外れます。 自分は親指の爪で空きました。 今回は「E」が調子悪いので、該当のピン2箇所をハンダ吸いで綺麗に取り除いて、裏側から引き抜いて完了。 基板にしっかりとどのキーかがプリントされているので分かりやすいですねぇ 入手した新品の茶軸を差し込んでハンダ付けします。 この時点で動作確認が可能になるので、直したキーとその周辺が正しく入力できるのをチェック。 問題なく、無事に動作しました。 最後にカバーを取り付けて完了! 残ったのは9個の茶軸…。 今回の費用 Cherryの茶軸10個セット :1,399- キーキャップ引き抜き工具 : 475-  ちなみに10個セットには、簡易引き抜きがついてきますが、ちゃんとしたもののほうが楽に作業できます。(昔買ったのに、どこかに行ってしまったので再購入)  ということで、1900円ほどで完治しました。  手間賃考えると買ったほうが安いかも(笑)

アルゴリズムって難しい

最小包含球に関して 教えている専門学校生は、ゲーム制作を主として勉強しているのだけれども、前回講義が終わってから質問があった。当たり判定を行う上で、キャラクターのポリゴンを包むエリアを球で表したいけれども、その最小の球の中心と半径を求めたいとな…。 ふむふむ、当然、そういうケースも起こりうるわなぁと。 「で、今はどんな方法を?」 「とりあえず、頂点の平均値から中心を求めているが、当然最小ではなくて、他の方法を探しています」 「平面であれば外接円を求めることになるよね?」 「それは分かりますが、空間で行う場合のアルゴリズムが分からないので…」 調べましたがな… 即答するのには、こちらも手持ちのネタがない。 「1週間待ってくれ。ヒントぐらいはあげられる筈だから…」(本当か?)と思いつつ、調査することに。 いろいろな方法が有るんだけれども、ゲームということは実行時間が短く、メモリをあまり食わない方法が最適。この条件で良さそうなものを探すことに。見つけたのが、 「 点の集合を包含する球 」という文献。 ここにも、様々な方法が紹介されているものの、最後のものが良さそう。 ということで、実際にコーディングして確かめることに。 条件は変なデータはないという前提でエラーチェックも最低限にして…。 #include <math.h> #include <stdio.h> #define INPUT_FILE "stars-s.txt" #define DATANUM 30 typedef struct { double x, y, z; /* coordinates */ } pos; int n=DATANUM; pos point[DATANUM]; pos center; double distance(pos p,pos pp) {     double rr;     return((pp.x-p.x)*(pp.x-p.x)+(pp.y-p.y)*(pp.y-p.y)+(pp.z-p.z)*(pp.z-p.z)); } double solve_by_movement(void) {     int k,i,t;...