ぬの部屋(仮)
nu-no-he-ya
  •      12
    3456789
    10111213141516
    17181920212223
    24252627282930
           
      12345
    6789101112
    13141516171819
    20212223242526
    2728293031  
           
    1234567
    891011121314
    15161718192021
    22232425262728
    2930     
           
        123
    45678910
    11121314151617
    18192021222324
    25262728293031
           
     123456
    78910111213
    14151617181920
    21222324252627
    28293031   
           
          1
    2345678
    9101112131415
    16171819202122
    23242526272829
    30      
       1234
    567891011
    12131415161718
    19202122232425
    262728293031 
           
     123456
    78910111213
    14151617181920
    21222324252627
    282930    
           
         12
    3456789
    10111213141516
    17181920212223
    24252627282930
    31      
         12
    3456789
    10111213141516
    17181920212223
    2425262728  
           
      12345
    6789101112
    13141516171819
    20212223242526
    2728293031  
           
          1
    2345678
    9101112131415
    16171819202122
    23242526272829
    3031     
        123
    45678910
    11121314151617
    18192021222324
    252627282930 
           
     123456
    78910111213
    14151617181920
    21222324252627
    28293031   
           
          1
    2345678
    9101112131415
    16171819202122
    23242526272829
    30      
       1234
    567891011
    12131415161718
    19202122232425
    262728293031 
           
    1234567
    891011121314
    15161718192021
    22232425262728
    293031    
           
         12
    3456789
    10111213141516
    17181920212223
    24252627282930
           
      12345
    6789101112
    13141516171819
    20212223242526
    2728293031  
           
    1234567
    891011121314
    15161718192021
    22232425262728
    2930     
           
        123
    45678910
    11121314151617
    18192021222324
    25262728293031
           
       1234
    567891011
    12131415161718
    19202122232425
    26272829   
           
    1234567
    891011121314
    15161718192021
    22232425262728
    293031    
           
        123
    45678910
    11121314151617
    18192021222324
    25262728293031
           
      12345
    6789101112
    13141516171819
    20212223242526
    27282930   
           
          1
    2345678
    9101112131415
    16171819202122
    23242526272829
    3031     
        123
    45678910
    11121314151617
    18192021222324
    252627282930 
           
     123456
    78910111213
    14151617181920
    21222324252627
    28293031   
           
         12
    3456789
    10111213141516
    17181920212223
    24252627282930
    31      
       1234
    567891011
    12131415161718
    19202122232425
    2627282930  
           
    1234567
    891011121314
    15161718192021
    22232425262728
    293031    
           
         12
    3456789
    10111213141516
    17181920212223
    24252627282930
           
      12345
    6789101112
    13141516171819
    20212223242526
    2728293031  
           
      12345
    6789101112
    13141516171819
    20212223242526
    2728     
           
          1
    2345678
    9101112131415
    16171819202122
    23242526272829
    3031     
       1234
    567891011
    12131415161718
    19202122232425
    262728293031 
           
     123456
    78910111213
    14151617181920
    21222324252627
    282930    
           
         12
    3456789
    10111213141516
    17181920212223
    24252627282930
    31      
       1234
    567891011
    12131415161718
    19202122232425
    2627282930  
           
    1234567
    891011121314
    15161718192021
    22232425262728
    293031    
           
        123
    45678910
    11121314151617
    18192021222324
    25262728293031
           
      12345
    6789101112
    13141516171819
    20212223242526
    27282930   
           
          1
    2345678
    9101112131415
    16171819202122
    23242526272829
    3031     
        123
    45678910
    11121314151617
    18192021222324
    252627282930 
           
     123456
    78910111213
    14151617181920
    21222324252627
    28293031   
           
     123456
    78910111213
    14151617181920
    21222324252627
    28      
           
         12
    3456789
    10111213141516
    17181920212223
    24252627282930
    31      
      12345
    6789101112
    13141516171819
    20212223242526
    2728293031  
           
    1234567
    891011121314
    15161718192021
    22232425262728
    2930     
           
        123
    45678910
    11121314151617
    18192021222324
    25262728293031
           
      12345
    6789101112
    13141516171819
    20212223242526
    27282930   
           
          1
    2345678
    9101112131415
    16171819202122
    23242526272829
    3031     
       1234
    567891011
    12131415161718
    19202122232425
    262728293031 
           
     123456
    78910111213
    14151617181920
    21222324252627
    282930    
           
         12
    3456789
    10111213141516
    17181920212223
    24252627282930
    31      
       1234
    567891011
    12131415161718
    19202122232425
    2627282930  
           
    1234567
    891011121314
    15161718192021
    22232425262728
    293031    
           
    1234567
    891011121314
    15161718192021
    22232425262728
           
           
        123
    45678910
    11121314151617
    18192021222324
    25262728293031
           
     123456
    78910111213
    14151617181920
    21222324252627
    28293031   
           
          1
    2345678
    9101112131415
    16171819202122
    23242526272829
    30      
       1234
    567891011
    12131415161718
    19202122232425
    262728293031 
           
     123456
    78910111213
    14151617181920
    21222324252627
    282930    
           
         12
    3456789
    10111213141516
    17181920212223
    24252627282930
    31      
      12345
    6789101112
    13141516171819
    20212223242526
    2728293031  
           
    1234567
    891011121314
    15161718192021
    22232425262728
    2930     
           
        123
    45678910
    11121314151617
    18192021222324
    25262728293031
           
      12345
    6789101112
    13141516171819
    20212223242526
    27282930   
           
          1
    2345678
    9101112131415
    16171819202122
    23242526272829
    3031     
         12
    3456789
    10111213141516
    17181920212223
    242526272829 
           
      12345
    6789101112
    13141516171819
    20212223242526
    2728293031  
           
          1
    2345678
    9101112131415
    16171819202122
    23242526272829
    3031     
        123
    45678910
    11121314151617
    18192021222324
    252627282930 
           
     123456
    78910111213
    14151617181920
    21222324252627
    28293031   
           
          1
    2345678
    9101112131415
    16171819202122
    23242526272829
    30      
       1234
    567891011
    12131415161718
    19202122232425
    262728293031 
           
    1234567
    891011121314
    15161718192021
    22232425262728
    293031    
           
         12
    3456789
    10111213141516
    17181920212223
    24252627282930
           
      12345
    6789101112
    13141516171819
    20212223242526
    2728293031  
           
    1234567
    891011121314
    15161718192021
    22232425262728
    2930     
           
        123
    45678910
    11121314151617
    18192021222324
    25262728293031
           
        123
    45678910
    11121314151617
    18192021222324
    25262728   
           
     123456
    78910111213
    14151617181920
    21222324252627
    28293031   
           
         12
    3456789
    10111213141516
    17181920212223
    24252627282930
    31      
       1234
    567891011
    12131415161718
    19202122232425
    2627282930  
           
    1234567
    15161718192021
    293031    
           
         12
    3456789
    10111213141516
           
      12345
    6789101112
    13141516171819
    20212223242526
    2728293031  
           
          1
    2345678
    9101112131415
    16171819202122
    23242526272829
    3031     
        123
    45678910
    11121314151617
    18192021222324
    252627282930 
           
     123456
    78910111213
    14151617181920
    21222324252627
    28293031   
           
          1
    2345678
    9101112131415
    16171819202122
    23242526272829
    30      
       1234
    567891011
    12131415161718
    19202122232425
    262728293031 
           
    1234567
    891011121314
    15161718192021
    22232425262728
    293031    
           
        123
    45678910
    11121314151617
    18192021222324
    25262728293031
           
      12345
    6789101112
    13141516171819
    20212223242526
    27282930   
           
        123
    45678910
    11121314151617
    18192021222324
    252627282930 
           
     123456
    78910111213
    14151617181920
    21222324252627
    28293031   
           
       1234
    567891011
    12131415161718
    19202122232425
    2627282930  
           
    1234567
    891011121314
    15161718192021
    22232425262728
    293031    
           
         12
    3456789
    10111213141516
    17181920212223
    24252627282930
           
      12345
    6789101112
    13141516171819
    20212223242526
    2728293031  
           
      12345
    6789101112
    13141516171819
    20212223242526
    2728     
           
          1
    2345678
    9101112131415
    16171819202122
    23242526272829
    3031     
     123456
    78910111213
    14151617181920
    21222324252627
    282930    
           
         12
    3456789
    10111213141516
    17181920212223
    24252627282930
    31      
    1234567
    891011121314
    15161718192021
    22232425262728
    293031    
           
        123
    45678910
    11121314151617
    18192021222324
    252627282930 
           
     123456
    78910111213
    14151617181920
    21222324252627
    28293031   
           
     123456
    78910111213
    14151617181920
    21222324252627
    28293031   
           
       1234
    567891011
    12131415161718
    19202122232425
    262728293031 
           
     123456
    78910111213
    14151617181920
    21222324252627
    282930    
           
         12
    3456789
    10111213141516
    17181920212223
    24252627282930
    31      
      12345
    6789101112
    13141516171819
    20212223242526
    2728293031  
           
    1234567
    891011121314
    15161718192021
    22232425262728
    2930     
           
        123
    45678910
    11121314151617
    18192021222324
    25262728293031
           
      12345
    6789101112
    13141516171819
    20212223242526
    27282930   
           
          1
    2345678
    9101112131415
    16171819202122
    23242526272829
    3031     
          1
    2345678
    9101112131415
    16171819202122
    232425262728 
           
       1234
    567891011
    12131415161718
    19202122232425
    262728293031 
           
    1234567
    891011121314
    15161718192021
    22232425262728
    293031    
           
         12
    3456789
    10111213141516
    17181920212223
    24252627282930
           
      12345
    6789101112
    13141516171819
    20212223242526
    2728293031  
           
    1234567
    891011121314
    15161718192021
    22232425262728
    2930     
           
        123
    45678910
    11121314151617
    18192021222324
    25262728293031
           
  • とりあえずウィルスセキュリティZEROを勧めておいた

    ☆の旦那が、パソコンのセキュリティソフトの期限が切れそうだが何を入れればいいかと聞いてきたので、とりあえずウィルスセキュリティZEROを挙げておいた。

    自分なら、ZERO使うぐらいならフリーのを使う。

    ただ、フリーの場合、パソコンとの相性が有料ソフトより出やすい印象がある。私がかつてAVASTAVGを使っていた頃は特にトラブルに見舞われた経験はないのだが、☆の旦那のPCではフリーのを入れるとよくフリーズしたりした。あれは使い方が悪いんじゃないか。。。

     

    もう一つ、フリーのセキュリティソフトは、アンチウィルス(対不正プログラム)とファイヤウォール(対不正侵入)が分かれていることが多く、それぞれ別にインストールして面倒を見ないといけない。否、私が面倒を見ないといけない。

    まあOutpostのように両方持っててフリーのもあるにはある。

     

    ☆の旦那は今はちゃんと働いているので、1980円ぐらいなら出してもいいんじゃないかと思う。

    なにしろZEROはOSのサポートが切れるまで更新料が不要だ。ソフト作ってるK7がWin7のサポート終了まであるかどうかのほうが怪しいだろう。あ、SOURCENEXTもか。

     

    まあ☆家の他のパソコンはみんなカスペルスキーを使っていて、そいつの更新が来年四月だというので、それまでのつなぎにはちょうどいい。多分。

    Win7の更新終了は2020年。それまでにPCが増えたとして、とりあえずZEROいれておけば金もかからない。

    メインに使うのはどうかと思うが、保険をかけとくには手頃なソフトかもしれない。

     

     

     

     

     

    電子書籍vs紙

    電子書籍は便利だ。端末だけ持ち歩けば本棚数個分の本を読めるし、暗いところでもバックライトで読めたりする。

    液晶を使ってる電子書籍リーダーはすぐ電池切れになるので論外だが、電子インクを使っている端末ならかなり長持ちするので、かろうじて書籍を名乗ってもいいぐらいではあると思う。

    紙の本が不経済だからと減っていき、変わって電子書籍が普及するとすれば、電子書籍がどんなに本として不十分であろうと、必然的に従来の本に置き換わるだろう。

    問題は電子書籍が、紙の本の欠点によってではなく、電子書籍の魅力によって置き換わることができるかという点だ。

     

    今のままの電子書籍リーダーなら、それは絶対にないと思う。

    なぜかというと電子書籍リーダーは便利だが、便利なだけだからだ。

    紙の本は「媒体+情報」で「本」となるが、電子書籍は「リーダー」と「情報」が分離している。

    言ってみれば本と読書台のような関係になる。

    これがどう関係するかというと、本は一種のコレクションでもあるという事だ。本を読む人間の中には、本棚にずらりと並んでいるところを眺めて満足したりすることが割と重要になる人種がいる。例えば私だ。

    これが電子書籍やパソコンの画面上の文字になってしまったら、はっきり言って興ざめだ。

    もちろん、コレクション性のない本もある。私なら、一過性の雑誌やビジネス本など、ある程度必要に迫られて読むような本には100年たっても愛着などわかないだろうから、データでかまわない。中の情報が大事なだけなので、検索機能が使える電子書籍が圧倒的に有利だ。

    今さらりと愛着という言葉を使ったが、データに愛着を持てるだろうか。あるいは電子書籍リーダーにはどうだろう。

    データには自信がない。例えなくしてもコピーすればいいだけなので、逆にありがたみがないのだ。リーダーは、少なくとも今のままでは無理だ。SONYだのAMAZONだのとメーカーがこれでもかと自己主張している機械で、自分では修理もできない。そのくせ充電ができなくなったら買い換えだ。これが100年使えるんなら大事にしようとも思うが、メーカーの意図はどうあれ使い捨てでは、愛着がわく暇がない。

    データにも端末にも愛着を持てないなら、読書が単なる、情報を取り入れるための作業になってしまう。

     

    JavaFXでタイマー ( Timeline )

    JavaFXでタイマーを使う。

    タイマー処理はanimation関数の中だけ。

    Timeline t = new Timeline( new KeyFrame ( 間隔 , 処理内容 ) );

     

     

    import javafx.application.Application;
    import javafx.stage.Stage;
    import javafx.scene.Group;
    import javafx.scene.shape.Box;
    import javafx.geometry.Point3D;
    import javafx.scene.Scene;
    import javafx.scene.paint.Color;
    import javafx.scene.PerspectiveCamera;
    
    //タイマー用のimport
    import javafx.animation.Timeline;
    import javafx.animation.KeyFrame;
    import javafx.util.Duration;
    import javafx.event.ActionEvent;
    import javafx.event.EventHandler;
    
    
    public class jfx3d_anime extends Application {
    
        int i;
        Timeline timeline;
        
        void animation(Box box){
            
            //3D表示に関する記述
            Point3D p3 = new Point3D(1,1,0);
            p3.normalize();
            box.setRotationAxis( p3 );
            
            //タイマーの定義
            timeline = new Timeline(
                new KeyFrame(
                    new Duration(25),//25ミリ秒
                    new EventHandler<ActionEvent>(){
                        @Override
                        public void handle(ActionEvent event){
                            //ここに処理を記述
                            i+=1;
                            box.setRotate(i);
                        }
                    }
                )
            );
            
            //タイマーの開始
            timeline.setCycleCount(Timeline.INDEFINITE);
            timeline.play();
        }
        
        
        
        @Override
        public void start(Stage stage) {
            Group root = new Group();
            
            // 辺の長さが20の立方体
            Box box = new Box(20, 20, 20);
            
            //回転軸を定義
            Point3D rotaxis = new Point3D(0.0, 1.0, 1.0);
            rotaxis.normalize();
            
            //立方体に回転軸と回転角を設定
            box.setRotationAxis( rotaxis );
            box.setRotate(45.0);
            
            root.getChildren().add(box);
    
            //ウィンドウのサイズを指定
            Scene scene = new Scene(root, 600, 600);
            
            //背景色を指定
            scene.setFill(Color.BLACK);
            
            // 透視投影カメラを設定
            PerspectiveCamera camera = new PerspectiveCamera(true);
            
            // カメラの位置を (0, 0, -100) にする
            camera.setTranslateZ(-100.0);
            
            //カメラが写す最近距離と最遠距離を指定
            camera.setFarClip(200);
            camera.setNearClip(50);
            
            scene.setCamera(camera);
            
            stage.setScene(scene);
            stage.setTitle("3Dサンプル");
            
            stage.show();
            
            
            animation(box);
        }
    
        public static void main(String... args) {
            launch(args);
        }
    }

     

    JavaFXで3D 立方体を表示

     

    import javafx.application.Application;
    import javafx.stage.Stage;
    import javafx.scene.Group;
    import javafx.scene.shape.Box;
    import javafx.geometry.Point3D;
    import javafx.scene.Scene;
    import javafx.scene.paint.Color;
    import javafx.scene.PerspectiveCamera;
    
    public class jfx3d extends Application {
    
        int i;
        @Override
        public void start(Stage stage) {
            Group root = new Group();
            
            // 辺の長さが20の立方体
            Box box = new Box(20, 20, 20);
            
            //回転軸を定義
            Point3D rotaxis = new Point3D(0.0, 1.0, 1.0);
            rotaxis.normalize();
            
            //立方体に回転軸と回転角を設定
            box.setRotationAxis( rotaxis );
            box.setRotate(45.0);
            
            root.getChildren().add(box);
    
            //ウィンドウのサイズを指定
            Scene scene = new Scene(root, 600, 600);
            
            //背景色を指定
            scene.setFill(Color.BLACK);
            
            // 透視投影カメラを設定
            PerspectiveCamera camera = new PerspectiveCamera(true);
            
            // カメラの位置を (0, 0, -100) にする
            camera.setTranslateZ(-100.0);
            
            //カメラが写す最近距離と最遠距離を指定
            camera.setFarClip(200);
            camera.setNearClip(50);
            
            scene.setCamera(camera);
            
            stage.setScene(scene);
            stage.setTitle("3Dサンプル");
            
            stage.show();
            
        }
    
        public static void main(String... args) {
            launch(args);
        }
    }

     

    JNA JavaからWin32API

    JNAを使用し、JavaからWin32APIのメッセージボックスを表示する

     

    import com.sun.jna.Native;
    import com.sun.jna.win32.StdCallLibrary;
     
    public class Hello {
        public interface User32 extends StdCallLibrary {
            User32 INSTANCE = (User32) Native.loadLibrary("user32", User32.class);
            int MessageBoxA(int hwnd, byte[] text, byte[] caption, int type);   //①
            int MessageBoxA(int hwnd, String text, String caption, int type);   //②
        }
     
        public static void main(String[] args) {
            User32 user32 = User32.INSTANCE;
        	try{
    	        user32.MessageBoxA(0, "こんにちは".getBytes(), "◎★♪".getBytes(), 0);
    	        user32.MessageBoxA(0, "Hello World", "MessageBox", 0);
        	}
        	catch( Exception e ){
        		
        	}
        }
    }
    

     

    ※全角文字を表示するときは①、半角英数の時は②を使用する。さもないと文字化けする。

     

     

    前準備

    .;C:\dev\JNA\jna.jar;C:\dev\JNA\jna-platform.jar;

    のように、jna.jar,jna-platform.jarをCLASSPATHに追加する。

    ※コンパイル時・実行時に -cpオプションで追加しただけでは不十分な場合がある

     

    コンパイル

    javac Hello.java

     

    実行

    java Hello

     

    薔薇の挿し木

     

    品種にもよるが、バラは丈夫な植物だ。

    綺麗な花を咲かせようとさえしなければ、木自体を維持するのはさして難しくない。

    挿し木も簡単で、最初は全敗するが、慣れると増えすぎて困る。

     

    以下は今年春(確か。昨年冬だったかも?)挿し木した枝なのだが、元気に育っている。育っているのは喜ばしいが、

     

    bara_sasiki_1

    bara_sasiki_2

     

    邪魔だ

     

    なぜ上を向いてくれなかった。なぜそこまで面積を欲する。

     

    いい加減どうしようもなくなったので、どの程度根が生えているのか確認してみることにした。

    てっきりポットの形に土が抜けるくらいびっしりと張っているかと思ったが、以外とそうでもなかった。

     

    bara_ne

     

    さて、再びポットに移してもいいが、結局手に負えなくなるので、どこかに置いてこよう。きっと親切な人が拾ってくれる

     

    javaでWebから.htmlを取得する

     

     

    import java.io.IOException;
    import java.net.URL;
    import java.net.HttpURLConnection;
    import java.util.ArrayList;
    import java.util.List;
    import java.io.BufferedInputStream;
    
    public class GetWave
    {
        public static void main( String[] args )
        {
            HttpURLConnection httpURLConnection = null;
            try
            {
    
                URL url = new URL( "https://suzulang.com/" );
    
                httpURLConnection = (HttpURLConnection)url.openConnection();
                httpURLConnection.setRequestMethod( "GET" );
    
                String ContentType = httpURLConnection.getHeaderField("Content-Type") ;
                String[] cts = ContentType.split("[;/= ]");
    /*
    ↑ HTTPレスポンスヘッダのContent-Typeを取得する。
    Content-Type: text/html; charset=shift_jis
    のような形をしているので、各特殊記号とスペースを区切り文字としてsplitして、
    charsetの次に入っているのが文字列と判断。(↓コード)
    ただし、Content-Type: text/html;で終わっている場合もある。
    */
    
                //文字コードの判別
                String CharSet = null;
                for( int i = 0; i < cts.length; i++){
                    if( cts[i].toLowerCase().equals("charset") ){
                        if( i+1 == cts.length ){
                            CharSet = null;
                        }
                        else{
                            CharSet = cts[i+1];
                        }
                    }
                }
                if( CharSet == null ){ //文字コード指定がなかったらとりあえずUTF-8にする
                    CharSet = "UTF-8";
                }
    
    /*
    ただのInputStreamはreadする度に読みに行くので効率が悪いらしい。
    BufferedInputStreamは一度のアクセスで大量のデータを取得する
    htttp://e-class.center.yuge.ac.jp/jdk_docs/ja/api/java/io/BufferedInputStream.html
    */
                BufferedInputStream bis = new BufferedInputStream(httpURLConnection.getInputStream() );
    
                List<Byte> alldata = new ArrayList<Byte>();
                //HTML取得
                byte [] buf = new byte[1024*4];
                int readsize;
                while( ( readsize = bis.read(buf) ) >= 0 ){
                    for(int i = 0; i < readsize; i++){
                        alldata.add( buf[i] );
                    }
                }
                
                //バイトの配列に変換
                byte tostr[] = new byte[ alldata.size() ];
                for(int i = 0; i < alldata.size(); i++){
                    tostr[i] = alldata.get(i);
                }
                
    /*
    Stringはコンストラクタで文字コードを指定できる。
    String(byte[] , Charset)の場合、byteの中の文字コードがCharsetであることを示す。結果、
    resultにはUTF-8に変換された文字列が入る。
    */
                //表示
                String result = new String(tostr, CharSet);
                System.out.println(result);
                
            }
            catch( IOException e )
            {
                e.printStackTrace();
            }
            finally
            {
                if( httpURLConnection != null )
                {
                    httpURLConnection.disconnect();
                }
            }
            
        }
    } 

     

    コンパイル:

    >javac GetWave.java

    実行

    >java GetWave

     

    参考文献:

    http://www.kab-studio.biz/Programing/JavaA2Z/Word/00000803.html

    なぜ高性能なパソコンを買うのか。

    私のマシンはi7-2066K (3.40GHz) のRAM 8.00GBと、普段使いにはかなりオーバースペック(必要以上に高性能)なんだが、なぜこんな機械を買ったのかという話。

     

    ひとことでいうと、何に使うかがわからないからだ。

    例えば、最近3DCGを始めたんだが、簡単にこんな絵を作れる。

    3dcgsample

     

    ふーんと言う感じだが、実はこれの元は

    blendersample

    こんな感じののっぺらぼーな立体図形だったりする。

    こういうのを"モデル"といって、3DCGではこのような"モデル"を作ってから、モデルの材質(反射するか、何色か等)や、撮影するカメラの位置や光源の位置を決めて、"レンダリング"という作業をすることで最初に挙げたような絵を作り上げる。

     

    このレンダリングという作業では、「モデルに光があったら、青く反射して、後ろは影にして」という計算をひたすらにやって色をつけていくわけだが、リアルに色づけをしようと思ったら大変なことになる。

    なにしろ、現実世界では光は至る所で反射し続けていて、例えば太陽光がアスファルトに当たったら近くの木に反射して、その反射光は人の服に反射して、さらにその反射光は・・・と無限に繰り返される。

    一昔前まではコンピュータでもそんな計算はできなかったので、「光の反射は一回だけ」のようなところで妥協していた。

    ところが最近はコンピュータの処理能力が高くなったので、3DCGのソフトが "物理的に正しい" 光の計算をするようになってきた。

     

    最初に出した画像を描いたのはLuxRenderというフリーソフトなんだが、このソフト、

     

    現実では無限に反射を続けるって?

    だったら無限に計算すればいいじゃない!

     

    という発想で、ユーザーが中止するまで永遠に計算し続ける。

    最初に出した画像は単純なので、1時間くらいかけたら結構綺麗になったが、もっと複雑で大きなシーンなら二日とか三日とかかけないと満足のいく結果が得られない。

    動画ならどれくらいかかるかって?考えたくないね!

     

     

    最初の話に戻るんだが、もし私が低スペックのマシンを買っていたら、「3DCGをやってみたい」と思っても、一日かかっても満足できる絵が描けなくて、つまらなくてやめてしまっていたかもしれない。

    パソコンなんて嫌いだ!メールとYahooニュースだけあればいいんだ!とはっきり言い切れるなら、それに適した機械を購入すれば十分だ。

    だがパソコンというものに何らかの可能性を見いだしているなら、スペックにはちょっと余裕を持って色々試してみるといい。

     

     

     

     

     

     

    OpenGLでポリゴンの表示枚数が少なくなる怪現象

    OpenGLでテクスチャを視線方向に並べてボリュームレンダリングしていたが、256枚ポリゴンを書いているはずなのに、マシンによっては6枚ぐらいしか表示されないという現象が発生した。

    調査したところ、

     

    glOrtho(-m_aspw, m_aspw, -m_asph, m_asph, -1000.0, 1000.0);

     

    となっていたので

     

    glOrtho(-m_aspw, m_aspw, -m_asph, m_asph, -10.0, 10.0);

     

    に書き換えたら直った。もともとそんな遠くまで表示させる必要はなかったのでこれで解決だが、本当に-1000~1000まで必要な場合はどうするのだろう。

    ドングリ2

    昨日のドングリ。発根していなかったもののその後。

    ちょっと数が多かったのでポットという訳にもいかず、一所においておくことにした。

    乾燥すると死んでしまい発芽しないので、土をかぶせ、ある程度の湿度を維持し続けなければならない。

     

    acorn3 acorn2

     

    出荷前ですか?

     

    という状態なんだが、そういえば過去、どこぞの政治家が女性を生む機械に例えて問題になった事件があった。発言しただけであの騒ぎ。

    ドングリ王国があったら死刑確定である

     

    もちろん、この後ちゃんと土はかぶせておいたがそういう問題じゃないよね