« 2010年11月 | トップページ | 2011年1月 »

2010年12月

2010.12.31

実機でアプリ起動 - 初心者のAndroidアプリ開発

_0016080




Xperiaの設定
設定 → アプリケーション → 開発 → USBデバッグ 項目チェック

Macの設定
特になし

プロジェクトの設定
下記Linkの3番、“デバッグしたいプロジェクトの AndroidManifest.xml にデバッグを有効にする記述を行う”を実行

実機でデバッグするには - 逆引きAndroid入門


以上の設定後にUSBにて接続し、プロジェクトを選択状態で、実行項目から、Androidアプリケーション選択で、プロジェクトが実機で動作する。実に簡単^^

| | コメント (0) | トラックバック (0)

2010.12.30

正月休みの課題? - 初心者のAndroidアプリ開発

Android_vector



せっかく携帯がAndroidになったので、正月休みを利用してアプリを一つ作る。
アイデアはないので、ジャイロの数値を出力する簡単なものを目指す。
今日は、エミュレーターの起動に成功。

001

| | コメント (0) | トラックバック (0)

2010.12.27

001

04_2

| | コメント (0) | トラックバック (0)

2010.12.26

野良無線LAN

亜洲モバイル人柱隊 ≫ 野良無線LANの是非を問う!

元々MacBookでAirMacを時たま使っているのですが、スマートフォンを買って常時AirMacの電源を入れるようになって、とても気になり、嫌です。しかし、上記のLinkのように意図的な人がいるのですね。

知らぬ間に他人のAPにアクセスするなんてとても気持ちが悪いので、セキュリティした方が良いと思うのだけどな。

| | コメント (0) | トラックバック (0)

2010.12.25

銀粘土 - 6作品目

_0016077



まだまだ修行が足りない。

| | コメント (0) | トラックバック (0)

2010.12.24

080315_05

| | コメント (0) | トラックバック (0)

2010.12.23

二次元配列のFloatBuffer生成(ダイレクト)

忘れっぽいのですぐに沢山のことを忘れる。忘れないためには日々続けること。
最近javaのソースを書いた試しがないので、こんな事も思いつくのに時間が掛かる。;_;


OpenGLにて、正二十面体を描画する事になり、今までの流れ通り配列を使うのですが、その配列が二次元配列になっており、FloatBuffer.put(配列)で使えないのです。
困った。ということで、一から配列について学びました。
とりあえず入れることは出来た。

  1. import java.nio.ByteBuffer;
  2. import java.nio.ByteOrder;
  3. import java.nio.FloatBuffer;
  4.  
  5.  
  6. public class bufferTest02 {
  7.  
  8.     static final float fBuffer2[][] = {
  9.         {0.1f, 0.2f, 0.3f}, {0.4f, 0.5f, 0.6f}, {0.7f, 0.8f, 0.9f}, {1.0f, 1.1f, 1.2f}
  10.     };
  11.  
  12.     public static void main(String[] args){
  13.  
  14.         ByteBuffer bb2 = ByteBuffer.allocateDirect(fBuffer2.length * fBuffer2[1].length * 4);
  15.  
  16.         bb2.order(ByteOrder.nativeOrder());
  17.  
  18.         FloatBuffer fb = bb2.asFloatBuffer();
  19.  
  20.         for(int i = 0; i < fBuffer2.length; i++){
  21.             fb.put(fBuffer2[i]);
  22.         }
  23.  
  24.         fb.position(0);
  25.  
  26.         for(int i = 0; i < fBuffer2.length * 3; i ++){
  27.  
  28.             System.out.println("get " + fb.get());
  29.         }
  30.     }
  31. }
  32.  



出力は、

get 0.1
get 0.2
get 0.3
get 0.4
get 0.5
get 0.6
get 0.7
get 0.8
get 0.9
get 1.0
get 1.1
get 1.2


Effective Java 第2版 (The Java Series) Effective Java 第2版 (The Java Series)

価格 : ¥ 3,780(税込み)

Javaプログラミング書籍の定本「Effective Java」の改訂版です。著者のGoogle, Sun Microsystemsにおけるソフトウェア開発で得た知識・経験をまとめた、JavaでプログラミングをするすべてのSE必読の書籍です。2001年の初版以降の追加項目、JavaSE6.0に対応

| | コメント (0) | トラックバック (0)

080315_07

| | コメント (0) | トラックバック (0)

java ByteBufferのメモ

OpenGLにて配列を使う際、gl.glVertexPointer()等を使用するのですが、その引数に配列のpointerを渡さなければならない。
これがよく分からず、ネットからコードを拝借することとした。コードはおおかた理解できたのだが、

ByteBuffer bb.order(ByteOrder.nativeOrder());

の一文が分からなかった。なので、下のコードのようなテストをしてみたところ、

no.01 java.nio.DirectByteBuffer[pos=0 lim=12 cap=12]
ByteOrder.nativeOrder() LITTLE_ENDIAN
no.02 java.nio.DirectByteBuffer[pos=0 lim=12 cap=12]
no.03 java.nio.DirectFloatBufferU[pos=0 lim=3 cap=3]
get.01 0.1
get.02 0.2

と出力を得る事が出来た。
はて、“LITTLE_ENDIAN”?
調べてみると、

2バイト以上のデータ量を持つ数値データを記録したり転送するときには1バイトごとに分割するが、その際の記録/転送を行う順番のこと。via.バイトオーダーとは

リトルエンディアンとは、最下位からのパターンだ。なるほど。

  1. import java.nio.ByteBuffer;
  2. import java.nio.ByteOrder;
  3. import java.nio.FloatBuffer;
  4.  
  5.  
  6. public class bufferTest {
  7.  
  8.     static final float fBuffer[] = { 0.1f, 0.2f, 0.3f };
  9.  
  10.     public static void main(String[] args){
  11.  
  12.         ByteBuffer bb = ByteBuffer.allocateDirect(fBuffer.length * 4);
  13.  
  14.         System.out.println("no.01  " + bb);//////////////////////
  15.  
  16.         System.out.println("ByteOrder.nativeOrder() " + ByteOrder.nativeOrder());
  17.         bb.order(ByteOrder.nativeOrder());
  18.  
  19.         System.out.println("no.02  " + bb);//////////////////////
  20.  
  21.         FloatBuffer fb = bb.asFloatBuffer();
  22.  
  23.         System.out.println("no.03  " + fb);//////////////////////
  24.  
  25.         fb.put(fBuffer);
  26.  
  27.         fb.position(0);
  28.  
  29.         System.out.println("get.01 " + fb.get());//////////////////////
  30.         System.out.println("get.02 " + fb.get());//////////////////////
  31.        
  32.     }
  33. }



はじめてのOpenGL はじめてのOpenGL
ライブラリを使った「3D‐CGプログラミング」の基本


価格 : ¥ 2,415(税込み)

「OpenGL」(Open Graphics Library)は、3Dグラフィックスを生成するためのライブラリで、さまざまな言語、プラットフォームで使うことができます。「開発環境」の設定から「関連ライブラリ」の使い方まで。OpenGLをまったく触ったことがない人でも、すぐ始められるように、OpenGLと3Dグラフィックスの概要から学んでいきます。

| | コメント (0) | トラックバック (0)

2010.12.22

つらつら、

capacityの中を、positionからlimitまで動ける。

動き方に癖があるけど・・

| | コメント (0) | トラックバック (0)

2010.12.21

memo

同じ目線に立つ。大事。

| | コメント (0) | トラックバック (0)

opengl

やっぱり、javaからやってるからpointerで苦戦する。

今の知識では2次元配列のpointerとかよくわからん。(-ε-)

| | コメント (0) | トラックバック (0)

2010.12.18

080315_03

| | コメント (0) | トラックバック (0)

2010.12.17

080313_04

| | コメント (0) | トラックバック (0)

2010.12.16

「ProcessingでOpenGLを使う」No.5 配列要素のリスト間接参照

001



牛歩並みに地道に進めているOpenGLの勉強。
GLSLの自作が目的なので、今はめまいがするほど先が長く、へばりそう。参考書が800ページもあるのが痛いなぁ。

前回まで配列を使うこと( glArrayElement() )に成功したのですが、その次のglDrawElements()が成功しない。なぜか画面が真っ黒くなってしまう。

参考書いわく、

「glDrawElements()を実行すると幾つかのステートが不確定のまま残る〜」

とあります。カラー情報とかって不確定になっちゃうって事?
そんな風に思っていたのですが、原因は簡単で、引数の型をbyteにしていました。
Cで書かれたコードをprocessingに書き換えながらやるからかな?小さな事で躓く。┐(´-`)┌


  1. package openGL;
  2.  
  3. import java.nio.ByteBuffer;
  4. import java.nio.ByteOrder;
  5. import java.nio.FloatBuffer;
  6. import java.nio.IntBuffer;
  7.  
  8. import processing.core.*;
  9. import processing.opengl.*;
  10. import javax.media.opengl.*;
  11.  
  12.  
  13. public class OpenGL_Array_Test_04 extends PApplet{
  14.  
  15.     private static final long serialVersionUID = 1L;
  16.  
  17.     PGraphicsOpenGL pgl;
  18.  
  19.     final int vertice[] = new int[]{25, 25, 100, 325, 175, 25, 175, 325, 250, 25, 325, 325};
  20.     final float color[] = new float[]{1.0f, 0.2f, 0.2f, 0.2f, 0.2f, 0.1f, 0.8f, 1.0f, 0.2f, 0.75f, 0.75f, 0.75f, 0.35f, 0.35f, 0.35f, 0.5f, 0.5f, 0.5f};
  21.     static int frontIndices[] = new int[]{4, 5, 6, 7};
  22.     static int rightIndices[] = new int[]{1, 2, 6, 5};
  23.     static int bottomIndices[] = new int[]{0, 1, 5, 4};
  24.     static int backIndices[] = new int[]{0, 3, 2, 1};
  25.     static int leftIndices[] = new int[]{0, 4, 7, 3};
  26.     static int topIndices[] = new int[]{2, 3, 7, 6};
  27.  
  28.     public void setup(){
  29.         size(400,400,OPENGL);
  30.         background(0);
  31.  
  32.         pgl = (PGraphicsOpenGL) g;
  33.         gl = pgl.gl;
  34.     }
  35.  
  36.     public void draw(){
  37.  
  38.         pgl.beginGL();
  39.  
  40.         gl.glEnableClientState(GL.GL_VERTEX_ARRAY);
  41.         gl.glEnableClientState(GL.GL_COLOR_ARRAY);
  42.         gl.glColorPointer(3, GL.GL_FLOAT, 0, makeFloatBuffer(color));
  43.         gl.glVertexPointer(2, GL.GL_INT, 0, makeFloatBuffer(vertice));
  44.  
  45.         gl.glDrawElements(GL.GL_QUADS, 4, GL.GL_UNSIGNED_INT, makeFloatBuffer(frontIndices));
  46.         gl.glDrawElements(GL.GL_QUADS, 4, GL.GL_UNSIGNED_INT, makeFloatBuffer(rightIndices));
  47.         gl.glDrawElements(GL.GL_QUADS, 4, GL.GL_UNSIGNED_INT, makeFloatBuffer(bottomIndices));
  48.         gl.glDrawElements(GL.GL_QUADS, 4, GL.GL_UNSIGNED_INT, makeFloatBuffer(backIndices));
  49.         gl.glDrawElements(GL.GL_QUADS, 4, GL.GL_UNSIGNED_INT, makeFloatBuffer(leftIndices));
  50.         gl.glDrawElements(GL.GL_QUADS, 4, GL.GL_UNSIGNED_INT, makeFloatBuffer(topIndices));
  51.  
  52.  
  53.         /////////////////////////////////////////
  54. //      gl.glBegin(GL.GL_TRIANGLES);
  55. //      gl.glArrayElement(2);
  56. //      gl.glArrayElement(3);
  57. //      gl.glArrayElement(5);
  58. //      gl.glEnd();
  59.         /////////////////////////////////////////
  60.  
  61.         pgl.endGL();
  62.     }
  63.  
  64.     public static FloatBuffer makeFloatBuffer(float[] arr) {
  65.         ByteBuffer bb=ByteBuffer.allocateDirect(arr.length*4);
  66.         bb.order(ByteOrder.nativeOrder());
  67.         FloatBuffer fb=bb.asFloatBuffer();
  68.         fb.put(arr);
  69.         fb.position(0);
  70.         return fb;
  71.     }
  72.  
  73.     public static IntBuffer makeFloatBuffer(int[] arr) {
  74.         ByteBuffer bb=ByteBuffer.allocateDirect(arr.length*4);
  75.         bb.order(ByteOrder.nativeOrder());
  76.         IntBuffer ib=bb.asIntBuffer();
  77.         ib.put(arr);
  78.         ib.position(0);
  79.         return ib;
  80.     }
  81. }
  82.  



GLUTによるOpenGL入門 GLUTによるOpenGL入門
「OpenGL Utility Toolkit」で簡単3Dプログラミング!


価格 : ¥ 1,995(税込み)

「手抜き」で楽々入門!OpenGLにGLUTを組み合わせれば、リアルタイム3D‐CGプログラムが簡単に書ける。

| | コメント (0) | トラックバック (0)

2010.12.15

080315_06

| | コメント (0) | トラックバック (0)

080313_03

| | コメント (0) | トラックバック (0)

2010.12.14

080315_04

| | コメント (0) | トラックバック (0)

080313_02

| | コメント (0) | トラックバック (0)

2010.12.13

070227auto001

| | コメント (0) | トラックバック (0)

080313_01

| | コメント (0) | トラックバック (0)

2010.12.12

今日の畑
贅沢な時間

日中でも肌寒くなってきた。
作業をしていると、自然に鼻水が垂れてくる。
野菜も自己防衛しているのだろうか?料理するとすぐに火がとおるし、味もいい。
魚でも野菜でも美味しい時期の採れたてを食べることは、本当に贅沢です。

_0016035

_0016036

_0016038

_0016040

_0016042

_0016043

_0016047

_0016051

_0016053




高山なおみさんののんびり作るおいしい料理 高山なおみさんののんびり作るおいしい料理

価格 : ¥ 1,575(税込み)

吉祥寺の「諸国空想料理店KuuKuu」の元シェフ高山さんの得意料理であるエスニックと和食のレシピを紹介。食材を使い切る知恵など役立つヒントもたくさん収録。『レタスクラブ』連載を元にまとめたもの。

| | コメント (0) | トラックバック (0)

070602007

| | コメント (0) | トラックバック (0)

2010.12.11

Xperiaのストラップとカバーを作りました。

_0016033

_0016034



裁縫は肩がこります。;_;
これで、落としても大丈夫。

| | コメント (0) | トラックバック (0)

youtubeで15分以上の動画がアップ可能に

Bg



今日のニュースで、youtubeが動画の15分制限を撤廃した事を知ったので、早速今までアップできなかった動画をアップしてみました。
そいで、今度は最大何分になったのだろか?




HD映像素材集 無料で使える高品質ムービー HD映像素材集 無料で使える高品質ムービー

価格 : ¥ 4,179(税込み)

動画編集をより楽しく! デジタルでの動画編集をとりまく環境は日々進化しています。 パソコンのスペックも上がり、ソフトウェアの知識さえあれば、 高画質のまま映像編集・加工がほぼ思ようにできる状況です。
「撮影した映像にタイトルを付けて編集したい!」 「YouTubeやニコニコ動画に編集した映像をアップしたい!」 「USTREAMでテレビ番組さながらのタイトル動画を流したい!」 映像をコミュニケーション手段として気軽に楽しむメディアが、 たくさん登場してきました。 そんないろいろな用途に、 「気軽に使える高画質の動画素材集があったら便利なんじゃないか?」 と思って作ったのが本書です。
DVDビデオやネット用、ビジネス用など、 バラエティ豊かに様々な映像を用意しました。 高画質なので、業務用にも充分使えます。

| | コメント (0) | トラックバック (0)

2010.12.10

004

| | コメント (0) | トラックバック (0)

2010.12.09

002

| | コメント (0) | トラックバック (0)

2010.12.07

携帯変えた

何不自由なく使用していたSONYの防水携帯から、これまたSONYのSO-01Bエクスペリアへと機種変しました。

_0016029



親族のノルマ達成に一役買った形で、本意ではないから選ぶのに一苦労。
ついにストレート物理キーボードから卒業。残念!

それにしてもカメラ高画質です。(SO-01B内蔵カメラ撮影↓)

20101207220119

| | コメント (0) | トラックバック (0)

2010.12.05

勝浦にてサビキ釣り

3日の夜、仕事を終え、東京の友人をピックアップして千葉の勝浦に釣りに出かける。
片道約150kmのドライビングは、昨年の石川旅行に比べたら優しいものと考えていた。
しかし、都内、千葉、と、交通の激しい都市部の運転は結構なストレスだった。
現地に着いて無休で釣り始め、朝まずめを迎える。水温は20度前半。
初めてのサビキ釣りということもあり、てがえしが悪く、シマアジ7、アジ29匹の釣果。
目標は50だったけど、内心坊主だと思っていたから、嬉しかった。

ところで、現地の方が言っていたが、12月でこれだけアジが釣れるのはおかしいそうだ。海水温が異常なんだな。

<記録しておくべき重要なこと>

・勝浦漁港の休みは土曜日。
・アジのシーズンは秋。多分海水温20度前半あたり。
・まずめ終了は7時半頃。
・千葉県民はスピード出しすぎ。法定速度は煽られる。超こわい;;
・無休運転は一日が限度。帰り落ちそうだった…。

| | コメント (0) | トラックバック (0)

2010.12.01

銀粘土 - 5作品目

均等な物って難しい。
あまりにも正確すぎると手仕事の暖かみがないしな。

_0016023

_0016025

| | コメント (0) | トラックバック (0)

« 2010年11月 | トップページ | 2011年1月 »