合計 昨日 今日

アバター
Dixq (管理人)
管理人
 
記事: 1457
登録日時: 2010年10月12日(火) 20:16
お住まい: 北海道札幌市
日記: 日記を見る (555)
日記
- 7月 2017
庭が崩壊 (3)
   2017年7月16日(日) 18:08
10年越しのお礼を実況動画で (0)
   2017年7月04日(火) 23:19
4Kディスプレイ (23)
   2017年7月02日(日) 23:31

+ 6月 2017
+ 5月 2017
+ 4月 2017
+ 3月 2017
+ 2月 2017
+ 1月 2017
+ 12月 2016
+ 11月 2016
+ 10月 2016
+ 9月 2016
+ 8月 2016
+ 7月 2016
+ 6月 2016
+ 5月 2016
+ 4月 2016
+ 3月 2016
+ 2月 2016
+ 1月 2016
+ 12月 2015
+ 11月 2015
+ 10月 2015
+ 9月 2015
+ 8月 2015
+ 7月 2015
+ 6月 2015
+ 5月 2015
+ 4月 2015
+ 3月 2015
+ 2月 2015
+ 1月 2015
+ 12月 2014
+ 11月 2014
+ 10月 2014
+ 9月 2014
+ 8月 2014
+ 7月 2014
+ 6月 2014
+ 5月 2014
+ 4月 2014
+ 3月 2014
+ 2月 2014
+ 1月 2014
+ 12月 2013
+ 11月 2013
+ 10月 2013
+ 9月 2013
+ 8月 2013
+ 7月 2013
+ 6月 2013
+ 5月 2013
+ 4月 2013
+ 3月 2013
+ 2月 2013
+ 1月 2013
+ 12月 2012
+ 11月 2012
+ 10月 2012
+ 9月 2012
+ 8月 2012
+ 7月 2012
+ 6月 2012
+ 5月 2012
+ 4月 2012
+ 3月 2012
+ 2月 2012
+ 1月 2012
+ 12月 2011
+ 11月 2011
+ 10月 2011
+ 9月 2011
+ 8月 2011
+ 7月 2011
+ 6月 2011
+ 5月 2011
+ 4月 2011
+ 3月 2011
+ 2月 2011
+ 1月 2011
+ 12月 2010
+ 11月 2010
+ 10月 2010
フォロー
カテゴリー
日常
1 記事
フィード
1つ前へ次へ

こんな時期にクライミング?

パーマリンクby Dixq (管理人) on 2011年3月20日(日) 23:05

たまには広い風呂でもいくか~と近場の銭湯に行きました。
すると偶然、よく遊びに行くメンバーの会社の先輩方がいました。

私:「今日どこか行ったんですか?」 
先輩Kさん:「クライミング行ってきたとこ。そうだ、次の休みあたりDixqも一緒に行こうぜ」
私:「いいですね~是非是非」

なんて脊髄で答えてしまいましたが、クライミングって・・
山じゃないよね・・?!
ゲーセンとかによくある室内の奴だよね?(汗

そんな不安がちょっとよぎりましたが、話を聞いてみるとどうも屋内っぽい。
いや~体力がウリの某Kさんの言う事だからちゃんと聞いてないと付いていけないことになりますw
日帰りで根室(下道1000キロ)行ってきたとか言ってたし尋常じゃない体力・・。

バイク好きなKさんとの話だから自然とバイクトークへ。そこへSさんも。

先輩Kさん:「新型隼買わんの?」
私:「いや~欲しいですけど新車はちょっと高くて買えないですよ~」
先輩Sさん:「あ、じゃ俺に売ってよ。全然バイク分からんのだけど隼っていくらくらい?十万なら買う」

10万って・・;
しかし(自称)全然バイクのこと分からんという状態で大型免許あるのがすごい・・。

私:「いやいや、仮にヤフオクに出品しても70万以下で終わりそうならキャンセルしますよw」
先輩Sさん:「じゃ70万なら売ってくれる?」

な・・
なんだと?!

先輩Kさんの体力も尋常じゃないが、先輩Sさんの金銭感覚も尋常じゃない・・。


あ~早くバイク乗りたいな~!

そろそろ隼君冬眠から起こしてあげないといけないですね~。
今年も走り回るぞ!
最後に編集したユーザー Dixq (管理人) [ 2011年3月21日(月) 17:30 ], 累計 1 回

コメント数: 2 閲覧数: 21774

PC雑誌に掲載

パーマリンクby Dixq (管理人) on 2011年3月19日(土) 22:18

昨日発売のwindows100%に四聖龍神録が掲載されましたヽ(´▽`)ノ

windows100%が今回で150号ということで
「殿堂入りフリーゲーム150選」というコーナーで紹介して頂きました。
今まで紹介してきたフリーゲームの総集編?みたいな感じでしょうか。

画像

何故このシーンなのかは不明・・w

しかしWindows100%って高校の頃よく読んでたけど何故150号なんだろう・・。

高校の時って何年前だっけ?
え・・10年位前・・?

お、恐ろしい:;

[追記]
1年に12冊発行されるんだから、150号で全く不思議はありませんでした。週刊で数えてました^^;
最後に編集したユーザー Dixq (管理人) [ 2011年3月19日(土) 22:42 ], 累計 2 回

コメント数: 6 閲覧数: 23102

誰か教えて・・ [解決!]

パーマリンクby Dixq (管理人) on 2011年3月17日(木) 22:17

今日計算している時に奇妙な現象に出会いました。

-1 × 10 ÷ 2

っていくらでしょう。
-5ですよね。
でも

コード[C++]: 全て選択
1
2
3
        unsigned int u = 10;
        int s1 = -1, s2 = 2;
        printf("%d\n", s1 * u / s2 );

出力結果:「2147483643」

になるんです。なんじゃこりゃ?
でも21億という数値はプログラマーならなじみのある数値。
符号ビットがおかしいのか、unsigned intと掛け算したから、unsignedに引っ張られたのかな。
なら、掛け算の時点で既におかしい値になってるはずだね。

コード[C++]: 全て選択
1
       printf("%d\n", s1 * u      ); // = -10

出力結果:「-10」

エ・・。正しい・・。
何?掛け算が終わった時点では、signedなの?
signedをsignedで割って何故unsignedになる・・。

まぁ最後s2の計算をするとunsignedになっちゃうだろう。
掛け算に変えて試してみよう。きっと21変な数になるはずだ。

コード[C++]: 全て選択
1
        printf("%d\n", s1 * u * s2 );

出力結果:「-20」

正しい・・。
意味わからん・・。
s2をマイナスにしたらどうなるんだ?

コード[C++]: 全て選択
1
        printf("%d\n", s1 * u / s2 );

出力結果:「0」

な・・!
何故0・・・。
もう分けがわかりませんorz

VisualC++、Ubuntu gcc、ARMで起こりましたが、アセンブラの振る舞いは異なりそうでした。
未定義動作ですかね。
明日アセンブラコード読んでみますか・・。
誰か原因知ってたら教えて下さい・・。

↓まとめ

コード[C++]: 全て選択
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <stdio.h>
int main(){
        unsigned int u = 10;
        int s1 = -1, s2 = 2;
        printf("%d\n", s1 * u / s2 ); // = 2147483643
        printf("%d\n", s1 * u      ); // = -10
        printf("%d\n",      u / s2 ); // = 5
        s2 = -2;      
        printf("%d\n", s1 * u / s2 ); // = 0
        printf("%d\n", s1 * u      ); // = -10
        printf("%d\n",      u / s2 ); // = 0
        return 0;
}


※unsignedとsignedをキャスト無しで混合させる事自体間違ってますが、まぁそれは承知の上ということで・・。
最後に編集したユーザー Dixq (管理人) [ 2011年3月17日(木) 23:02 ], 累計 4 回

コメント数: 4 閲覧数: 21969

東北地方太平洋沖地震 義援金募集

パーマリンクby Dixq (管理人) on 2011年3月13日(日) 00:17

東北地方で、3/11におきた地震により、甚大な被害が発生しました。
C言語何でも質問サイトでは、義援金を募集しております。

詳しくはこちらをご覧ください。
http://dixq.net/Gienkin/

金額は少しでも構いません。
もしよければ少しでもみんなで被災者の方々を助けましょう!

この件のトピックはこちら
viewtopic.php?f=3&t=8026

コメント数: 4 閲覧数: 23029

KinectとOpenNI

パーマリンクby Dixq (管理人) on 2011年3月09日(水) 23:12

kinectでやろうとしたことと全く同じ事をニコニコに先にうpされたので意気消沈してましたけど、勉強を引き続きやってます。

何がしんどいってkinectをハックして使うための参考書やら参考サイトがあるわけじゃないし、
あってもほとんど英語だから頑張って英語読むか、サンプルプログラムを見て理解するしかない・・。
そして行列計算やOpenGLのコードがわんさか出てきます。

それに最近帰るのが遅いから家に帰って夕飯食べて風呂入ったら寝る時間・・学ぶ時間が無い(T_T

とりあえず忘れないうちに覚え書き。

GLを使うとコードが長くなるので、CVで試してみました。
参考にしたサンプルプログラムから更に不要な部分を限界まで削った最小プログラムがこちら。

コード[C++]: 全て選択
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#include <cv.h>
#include <highgui.h>
#include <XnCppWrapper.h>
 
#pragma comment(lib,"C:/Program files/OpenNI/Lib/openNI.lib")
#define SAMPLE_XML_PATH "C:/Program Files/OpenNI/Data/SamplesConfig.xml"
using namespace cv;
using namespace xn;
 
int main(){
    Context context;
    context.InitFromXmlFile(SAMPLE_XML_PATH);
 
    DepthGenerator depth;
    context.FindExistingNode(XN_NODE_TYPE_DEPTH, depth);
   
    ImageGenerator image;
    context.FindExistingNode(XN_NODE_TYPE_IMAGE, image);
 
    DepthMetaData depthMD;
    ImageMetaData imageMD;
 
    Mat depthshow, show;
    int key = 0;
    while ( key != 'q' ){
        context.WaitAnyUpdateAll();
 
        image.GetMetaData(imageMD);
        depth.GetMetaData(depthMD);
               
        Mat imni(480,640,CV_8UC3,(uchar*)imageMD.WritableData());
        Mat depth16(480,640,CV_16SC1,(unsigned short*)depthMD.WritableData());
       
        cvtColor(imni,show,CV_RGB2BGR);    
        depth16.convertTo(depthshow,CV_8U,-255/4096.0,255);
 
        imshow("depth",depthshow);
        imshow("image",show);
        key = waitKey(33);
    }
    context.Shutdown();
    return 0;
}


まずコンテキストはXMLファイルから生成するようです。
本サンプルはメタデータとしてRGBデータと、depthデータを取ってきています。
InitFromXmlFileでコンテキストを生成したら、rgm imageとdepthをFindExistingNodeします。

この関数の実体を見てみると
XnStatus FindExistingNode(XnProductionNodeType type, ProductionNode& node) const
となっていました。ProductionNodeクラスをアドレス参照していることに注意。

WaitAnyUpdateAllで情報を更新します。

image.GetMetaData(imageMD);
depth.GetMetaData(depthMD);

でimage, depthそれぞれのメタデータを取得します。

Mat imni(480,640,CV_8UC3,(uchar*)imageMD.WritableData());
Mat depth16(480,640,CV_16SC1,(unsigned short*)depthMD.WritableData());

は、きっと取得したデータをCVで使える行列に変換しておるのでしょう。
CVのMatクラスは使った事無いので後で勉強しておくことにします。

depth16.convertTo(depthshow,CV_8U,-255/4096.0,255);

はメタデータを画像データに変換してるのかな?
どっちにしてもMatクラスを勉強しなきゃ
後は

imshow("depth",depthshow);
imshow("image",show);

で表示してるだけですね。
こんな短くスマートにかけるのはCVならではですね~。
実行したらこうなります。

画像

いや~綺麗にdepthが取れるものですね。

コメント数: 2 閲覧数: 20786

オンラインデータ

登録ユーザー: みけCAT, 沖 滉均, 結城紬