約 2,616,719 件
https://w.atwiki.jp/sonicbrain/
iPhoneでゲームを作りはじめました。 自分のメモです。 文字列操作など objective-cで数字をパディングをつけて文字列にする NSString*とchar*の変換 plist plistの値の読み書き 画面関係 iPhone上部のステータスバーを隠す iPhoneアプリの起動画面 画面のスクリーンキャプチャ OpenGL OpenGLのブレンディング CoreAnimation CoreAnimationでの3D回転とPerspective表示 音関係 mp3からcafへの変換 タイマー 高精度タイマーの使い方 UIViewの定期的な更新
https://w.atwiki.jp/st1ckranger/pages/63.html
概要 Opening Streetはver1.0 ALPHAに追加されたステージ。 エネミー ステータス #ref error :ご指定のファイルが見つかりません。ファイル名を確認して、再度指定してください。 (gsw.png) #ref error :ご指定のファイルが見つかりません。ファイル名を確認して、再度指定してください。 (csw.png) #ref error :ご指定のファイルが見つかりません。ファイル名を確認して、再度指定してください。 (rsw.png) #ref error :ご指定のファイルが見つかりません。ファイル名を確認して、再度指定してください。 (bxw.png) #ref error :ご指定のファイルが見つかりません。ファイル名を確認して、再度指定してください。 (gbsw.png) Lv 1 2 3 4 5 LP 10 20 50 40 500 GOLD 1 3 10 15 100 EXP 100 100 100 100 500 AT AGI strong - - - - Fr weak - - - - - DROP mach_punch_1stone_whip_1White_Stone_1 iron_sword_1fire_ring_1Red_Stone_1 triple_shot_1staff_of_wood_1Green_Stone_1 explosion_1handgun_1Blue_Stone_1 triple_shot_1mach_punch_1Iron_Medal_1 EXP Lv #ref error :ご指定のファイルが見つかりません。ファイル名を確認して、再度指定してください。 (gsw.png) #ref error :ご指定のファイルが見つかりません。ファイル名を確認して、再度指定してください。 (csw.png) #ref error :ご指定のファイルが見つかりません。ファイル名を確認して、再度指定してください。 (rsw.png) #ref error :ご指定のファイルが見つかりません。ファイル名を確認して、再度指定してください。 (bxw.png) #ref error :ご指定のファイルが見つかりません。ファイル名を確認して、再度指定してください。 (gbsw.png) 数 #ref error :ご指定のファイルが見つかりません。ファイル名を確認して、再度指定してください。 (gsw.png) #ref error :ご指定のファイルが見つかりません。ファイル名を確認して、再度指定してください。 (csw.png) #ref error :ご指定のファイルが見つかりません。ファイル名を確認して、再度指定してください。 (rsw.png) #ref error :ご指定のファイルが見つかりません。ファイル名を確認して、再度指定してください。 (bxw.png) #ref error :ご指定のファイルが見つかりません。ファイル名を確認して、再度指定してください。 (gbsw.png) 合計 Opening Street 1 5 1 0 0 0 6 Opening Street 2 6 3 0 0 0 9 Opening Street 3 6 2 1 0 0 9 Opening Street 4 0 5 3 0 0 8 Opening Street 5 0 2 5 0 0 7 Opening Street 6 20 0 0 0 0 20 Opening Street 7 0 0 8 1 0 9 Opening Street 8 3 0 8 2 0 13 Opening Street 9 0 0 8 6 0 14 Opening Street BOSS 0 0 2 2 1 5 合計 40 13 35 11 1 100 Town/Village/Resort/Forget_Tree Opening_StreetGrassland_1Grassland_2Grassland_3Grassland_4Grassland_5Grassland_6Grassland_7Hill_Country_1Hill_Country_2 Hill_Country_3Castle_GateCastleLakeForest_1Forest_2Cavern_1Cavern_2Cavern_3Seaside_1 Seaside_2Seaside_3Seaside_4Submarine_1Submarine_2Submarine_3Submarine_4Submarine_ShrineMist_Grove_1Mist_Grove_2 Mist_Grove_3???Desert_1Desert_2Desert_3Desert_4Desert_5OasisDesert_6Desert_7 PyramidDesert_8Beach_1Beach_2Beach_3Cavern_4Cavern_5Cavern_6Snowfield_1Snowfield_2 Mountain_1Mountain_2MountaintopSnowfield_3Snowfield_4Snowfield_5Snowfield_6Snowfield_7Snowfield_8Frozen_Lake Ice_CastleSnowfield_9Beach_4Forest_3Forest_4Forest_5Forest_6!!!Hell_1Hell_2 Hell_3Hell_4
https://w.atwiki.jp/prepress-tips/pages/176.html
最終更新日時: 2010/10/17 このページは 作成中です。 開発環境 教科書 GTK+ のライセンス openCV のライセンス ex01 ex01_gtk openCV に日本語文字を描画 開発環境 教科書 GTK+ のライセンス openCV のライセンス ex01 ex01_gtk openCV に日本語文字を描画 Edit 開発環境 開発環境は Ubuntu 10.04 LTS ( ubuntu LiveUSB で利用 )。 openCV は簡単にインストールできる。 その他に必要なものも ほぼ最初から入っている。( なくても簡単に追加インストールできる。 ) Tera Term から ssh でログインしたとき 最初に export DISPLAY= 0.0 戻すときは export DISPLAY=localhost 10.0 ヘルプ devhelp firefox http //opencv.jp/opencv-2svn/c/ コンパイル gcc -o [実行ファイル] [ソースファイル] `pkg-config gtk+-2.0 opencv --cflags --libs` 教科書 次の2冊。どちらも 初心者にはとてもわかりやすい。 入門GTK+ Essential OpenCV Programming with Visual C++ 2008 GTK+ のライセンス GTK+ のライセンスは GNU LGPL 2.1 。 このページのプログラムも このライセンスに準じる。 openCV のライセンス openCV のライセンスは 以下のとおり。 このページのプログラムも このライセンスに準じる。 license.txt IMPORTANT READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. By downloading, copying, installing or using the software you agree to this license. If you do not agree to this license, do not download, install, copy or use the software. License Agreement For Open Source Computer Vision Library Copyright (C) 2000-2008, Intel Corporation, all rights reserved. Copyright (C) 2008-2010, Willow Garage Inc., all rights reserved. Third party copyrights are property of their respective owners. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met * Redistribution s of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistribution s in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * The name of the copyright holders may not be used to endorse or promote products derived from this software without specific prior written permission. This software is provided by the copyright holders and contributors "as is" and any express or implied warranties, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose are disclaimed. In no event shall the Intel Corporation or contributors be liable for any direct, indirect, incidental, special, exemplary, or consequential damages (including, but not limited to, procurement of substitute goods or services; loss of use, data, or profits; or business interruption) however caused and on any theory of liability, whether in contract, strict liability, or tort (including negligence or otherwise) arising in any way out of the use of this software, even if advised of the possibility of such damage. ex01 画像を読み込み表示するプログラム。モノクロで表示する機能付き。 先ほどの書籍のサンプルを ubuntu で実行できるよう修正したもの。Essential OpenCV Programming with Visual C++ 2008 Edit ex01_index.txt * 変数の定義 / ? WIN ? img_src ? Form1 * 関数の定義 / ? btnLoad_Click // ? btnGray_Click // ? btnReset_Click // ? Form1_Load // ? Form1_FormClosed // ? Form1 - quit // / Form1_FormClosed ; * 処理 / / Form1 - new ? Form1 - vbox // ? Form1 - hbox1 // ? Form1 - btnLoad // ? Form1 - hbox2 // ? Form1 - btnGray // ? Form1 - btnReset // / Form1_Load ; / Form1 - run /name ex01.cpp ubuntu版 / ex01.c // このプログラムは 以下の書籍のサンプルを ubuntu で実行できるよう修正したものです。 // Essential OpenCV Programming with Visual C++ 2008 // http //www.cutt.co.jp/book/978-4-87783-232-2.html #include cv.h #include cxcore.h #include highgui.h #include gtk/gtk.h / 変数の定義 / 関数の定義 int main ( int argc , char* argv[] ) { gtk_init ( &argc , &argv ) ; / 処理 return 0 ; } /name 未指定 / /use ex01_detail.txt ex01_detail.txt - btn_Click / WIN / img_src / img_gray /?- btn_Click , WIN , img_src , img_gray * btnLoad_Click // void btnLoad_Click ( ) ? openFileDialog1 - new // / openFileDialog1 - show ? openFileDialog1 - result // / if( ! openFileDialog1 - result OK ) { openFileDialog1 - free ; return ; } ? fname - from openFileDialog1 // / openFileDialog1 - free / img_src - load fname / img_src - show / fname -free * btnGray_Click // void btnGray_Click ( ) ? img_gray - new // / img_gray - from img_src / img_gray - show / img_gray - free * btnReset_Click // void btnReset_Click ( ) / img_src - show * Form1_Load // void Form1_Load ( ) / WIN - new * Form1_FormClosed // void Form1_FormClosed ( ) / WIN - close / img_src - free * WIN / gchar* WIN = ex01 ; * WIN - new / cvNamedWindow( WIN , CV_WINDOW_AUTOSIZE ) ; * WIN - close / cvDestroyWindow( WIN ) ; * img_src / IplImage* img_src ; * img_src - free / cvReleaseImage( &img_src ) ; * img_src - load fname / img_src = cvLoadImage( fname , CV_LOAD_IMAGE_ANYDEPTH | CV_LOAD_IMAGE_ANYCOLOR ) ; * img_src - show / cvShowImage( WIN , img_src ) ; * img_gray - new // IplImage* img_gray ; * img_gray - from img_src / img_gray = cvCreateImage( cvGetSize( img_src ) , IPL_DEPTH_8U , 1 ) ; cvCvtColor( img_src , img_gray , CV_BGR2GRAY ) ; * img_gray - free / cvReleaseImage( &img_gray ) ; * img_gray - show / cvShowImage( WIN , img_gray ) ; ex01_detail.txt - openFileDialog1 / fname / Form1 /?- openFileDialog1 , fname , Form1 * openFileDialog1 - new // GtkWidget* openFileDialog1 ; openFileDialog1 = gtk_file_chooser_dialog_new( load image , GTK_WINDOW( Form1 ) , GTK_FILE_CHOOSER_ACTION_OPEN , GTK_STOCK_CANCEL , GTK_RESPONSE_CANCEL , GTK_STOCK_OPEN , GTK_RESPONSE_ACCEPT , NULL ); * openFileDialog1 - show / gtk_widget_show_all( openFileDialog1 ) ; * openFileDialog1 - result // gint openFileDialog1_result ; openFileDialog1_result = gtk_dialog_run( GTK_DIALOG( openFileDialog1 ) ) ; * openFileDialog1 - result OK / ( openFileDialog1_result == GTK_RESPONSE_ACCEPT ) * openFileDialog1 - free / gtk_widget_destroy( openFileDialog1 ) ; * fname - from openFileDialog1 // gchar* fname ; fname = gtk_file_chooser_get_filename( GTK_FILE_CHOOSER( openFileDialog1 ) ) ; * fname -free / g_free( fname ) ; * Form1 / GtkWidget* Form1 ; * Form1 - new / Form1 = gtk_window_new( GTK_WINDOW_TOPLEVEL ) ; gtk_window_set_title ( GTK_WINDOW( Form1 ) , Form1 ) ; gtk_widget_set_size_request( Form1 , 160 , 80 ) ; g_signal_connect( G_OBJECT( Form1 ) , destroy , G_CALLBACK( Form1_quit ) , NULL ) ; * Form1 - run / gtk_widget_show_all( Form1 ) ; gtk_main() ; * Form1 - quit // void Form1_quit ( ) gtk_main_quit () ; * Form1 - vbox // GtkWidget* vbox ; vbox = gtk_vbox_new( FALSE , 3 ) ; gtk_container_add( GTK_CONTAINER( Form1 ) , vbox ) ; gtk_container_set_border_width( GTK_CONTAINER( vbox ) , 6 ) ; * Form1 - hbox1 // GtkWidget* hbox1 ; hbox1 = gtk_hbox_new( FALSE , 5 ) ; gtk_box_pack_start( GTK_BOX( vbox ) , hbox1 , TRUE , FALSE , 2 ) ; * Form1 - hbox2 // GtkWidget* hbox2 ; hbox2 = gtk_hbox_new( FALSE , 0 ) ; gtk_box_pack_start( GTK_BOX( vbox ) , hbox2 , TRUE , FALSE , 2 ) ; * Form1 - btnLoad // GtkWidget* btnLoad ; btnLoad = gtk_button_new_with_label( 画像読込 ) ; gtk_box_pack_start( GTK_BOX( hbox1 ) , btnLoad , FALSE , FALSE , 6 ) ; g_signal_connect( G_OBJECT( btnLoad ) , clicked , G_CALLBACK( btnLoad_Click ) , NULL ) ; * Form1 - btnGray // GtkWidget* btnGray ; btnGray = gtk_button_new_with_label( モノクロ ) ; gtk_box_pack_start( GTK_BOX( hbox2 ) , btnGray , FALSE , FALSE , 6 ) ; g_signal_connect( G_OBJECT( btnGray ) , clicked , G_CALLBACK( btnGray_Click ) , NULL ) ; * Form1 - btnReset // GtkWidget* btnReset ; btnReset = gtk_button_new_with_label( 元に戻す ) ; gtk_box_pack_start( GTK_BOX( hbox2 ) , btnReset , FALSE , FALSE , 6 ) ; g_signal_connect( G_OBJECT( btnReset ) , clicked , G_CALLBACK( btnReset_Click ) , NULL ) ; ex01_gtk 画像を読み込み モノクロ変換し 保存するプログラム。 先ほどのプログラムに 保存機能を加え 全面的に書き直したもの。ソースを少し修正すれば チャネルミキシングなども試せる。 Edit ex01_gtk_index.txt * 変数の定義 / ? 画像ウィンドウ ? 操作パネル ? 元画像 ? 変換画像 * 関数の定義 / ? 画像読込ボタン - onClick ? 選択ダイアログ - new load // / 選択ダイアログ - show ? 選択ダイアログ - result // / if( 選択ダイアログ - cancel ) { 選択ダイアログ - free ; return ; } / 選択ダイアログ - set 元画像 fname ; 選択ダイアログ - free / 元画像 - free / 元画像 - new load / 画像ウィンドウ - 画像 free / 画像ウィンドウ - new 元画像 ; 画像ウィンドウ - show ? モノクロボタン - onClick / 変換画像 - free / 変換画像 - new ; 変換画像 - conv / 画像ウィンドウ - 画像 free / 画像ウィンドウ - new 変換画像 ; 画像ウィンドウ - show ? 元に戻すボタン - onClick / 画像ウィンドウ - 画像 free / 画像ウィンドウ - new 元画像 ; 画像ウィンドウ - show ? 画像保存ボタン - onClick / if( 変換画像 - 未変換 ) { return ; } ? 選択ダイアログ - new save // / 選択ダイアログ - show ? 選択ダイアログ - result // / if( 選択ダイアログ - cancel ) { 選択ダイアログ - free ; return ; } / 選択ダイアログ - set 変換画像 fname ; 選択ダイアログ - free / 変換画像 - save ? 操作パネル - quit // / 元画像 - free ; 変換画像 - free * 処理 / / 操作パネル - new ? 操作パネル - vbox // ? 操作パネル - hbox1 // ? 操作パネル - 画像読込ボタン // ? 操作パネル - 画像保存ボタン // ? 操作パネル - hbox2 // ? 操作パネル - モノクロボタン // ? 操作パネル - 元に戻すボタン // / 画像ウィンドウ - new / 画像ウィンドウ - new canvas ; 画像ウィンドウ - show / 操作パネル - run /name ex01.c gtk版 / ex01_gtk.c #include cv.h #include cxcore.h #include highgui.h #include gtk/gtk.h / 変数の定義 / 関数の定義 int main ( int argc , char* argv[] ) { gtk_init ( &argc , &argv ) ; / 処理 return 0 ; } /name 未指定 / /use ex01_gtk_detail.txt ex01_gtk_detail.txt - 元画像 / 変換画像 / 変換 /?- 元画像 * 元画像 / gchar* img_src_fname ; GdkPixbuf* img_src ; IplImage* img_src_cv ; * 元画像 - fname / img_src_fname * 元画像 - new load / img_src = gdk_pixbuf_new_from_file( img_src_fname , NULL ) ; ? 元画像 - w , h , ch , rs // img_src_cv = cvCreateImageHeader( cvSize( img_w, img_h ) , IPL_DEPTH_8U, img_ch ); img_src_cv - imageData = gdk_pixbuf_get_pixels( img_src ) ; g_free( img_src_fname ) ; * 元画像 - free / if( img_src != NULL ) { cvReleaseImageHeader( &img_src_cv ) ; g_object_unref( G_OBJECT( img_src ) ) ; } * 元画像 - w , h , ch , rs // *~ gint img_w ; gint img_h ; gint img_ch ; gint img_rs ; img_w = gdk_pixbuf_get_width( img_src ) ; img_h = gdk_pixbuf_get_height( img_src ) ; img_ch = gdk_pixbuf_get_n_channels( img_src ) ; img_rs = gdk_pixbuf_get_rowstride( img_src ) ; /?- 変換画像 * 変換画像 / gchar* img_conv_fname ; GdkPixbuf* img_conv ; IplImage* img_conv_cv ; * 変換画像 - fname / img_conv_fname * 変換画像 - 未変換 / ( img_conv == NULL ) * 変換画像 - new / ? 元画像 - w , h , ch , rs // img_conv_cv = cvCreateImage( cvSize( img_w, img_h ) , IPL_DEPTH_8U, 3 ); img_conv = gdk_pixbuf_new_from_data( img_conv_cv - imageData , GDK_COLORSPACE_RGB , FALSE , 8 , img_w , img_h , img_conv_cv - widthStep , NULL , NULL ); * 変換画像 - free / if( img_conv != NULL ) { cvReleaseImage( &img_conv_cv ) ; g_object_unref( G_OBJECT( img_conv ) ) ; } * 変換画像 - conv / / いろいろな変換 - rgb to gray * いろいろな変換 - rgb to bgr / cvCvtColor( img_src_cv , img_conv_cv , CV_RGB2BGR ) ; * いろいろな変換 - rgb to gray / IplImage* img_gray_cv ; img_gray_cv = cvCreateImage( cvSize( img_w, img_h ) , IPL_DEPTH_8U, 1 ) ; cvCvtColor( img_src_cv , img_gray_cv , CV_RGB2GRAY ) ; cvCvtColor( img_gray_cv , img_conv_cv , CV_GRAY2RGB ) ; cvReleaseImage( &img_gray_cv ) ; * いろいろな変換 - rgb to gray 2 / CvMat* rgb_2_bgr ; rgb_2_bgr = cvCreateMat( img_ch , img_ch , CV_32FC1 ) ; cvSetZero( rgb_2_bgr ) ; cvmSet( rgb_2_bgr , 0 , 2 , 1.0 ) ; cvmSet( rgb_2_bgr , 1 , 1 , 1.0 ) ; cvmSet( rgb_2_bgr , 2 , 0 , 1.0 ) ; CvMat* offset ; offset = cvCreateMat( img_ch , 1 , CV_32FC1 ) ; cvSet( offset , cvScalarAll( 0.0 ) , NULL ) ; // cvSetZero( offset ) IplImage* img_bgr_cv ; IplImage* img_gray_cv ; img_bgr_cv = cvCreateImage( cvSize( img_w, img_h ) , IPL_DEPTH_8U, img_ch ) ; img_gray_cv = cvCreateImage( cvSize( img_w, img_h ) , IPL_DEPTH_8U, 1 ) ; cvTransform( img_src_cv , img_bgr_cv , rgb_2_bgr , offset ) ; cvCvtColor( img_bgr_cv , img_gray_cv , CV_BGR2GRAY ) ; cvReleaseImage( &img_bgr_cv ) ; cvReleaseImage( &img_gray_cv ) ; cvReleaseMat( &rgb_2_bgr ) ; cvReleaseMat( &offset ) ; * 変換画像 - save / gdk_pixbuf_save( img_conv , img_conv_fname , tiff , NULL , compression , 5 , NULL // LZW ) ; g_free( img_conv_fname ) ; ex01_gtk_detail.txt - 画像ウィンドウ / 操作パネル / 選択ダイアログ /?- 画像ウィンドウ * 画像ウィンドウ / GtkWidget* WIN_img ; GtkWidget* WIN_canvas ; GtkWidget* WIN ; * 画像ウィンドウ - new / WIN = gtk_window_new( GTK_WINDOW_TOPLEVEL ) ; gtk_window_set_title( GTK_WINDOW( WIN ) , 画像 ) ; gtk_window_set_default_size( GTK_WINDOW( WIN ) , 400 , 300 ) ; gtk_window_move( GTK_WINDOW( WIN ) , 0 , 140 ) ; * 画像ウィンドウ - show / gtk_widget_show_all( WIN ) ; * 画像ウィンドウ - new canvas / WIN_canvas = gtk_scrolled_window_new( NULL , NULL ) ; gtk_scrolled_window_set_placement( GTK_SCROLLED_WINDOW ( WIN_canvas ) , GTK_CORNER_TOP_LEFT ) ; gtk_scrolled_window_set_policy ( GTK_SCROLLED_WINDOW ( WIN_canvas ) , GTK_POLICY_AUTOMATIC , GTK_POLICY_AUTOMATIC ) ; gtk_container_add ( GTK_CONTAINER( WIN ) , WIN_canvas ) ; * 画像ウィンドウ - new 元画像 / WIN_img = gtk_image_new_from_pixbuf( img_src ) ; gtk_scrolled_window_add_with_viewport( GTK_SCROLLED_WINDOW ( WIN_canvas ) , WIN_img ) ; * 画像ウィンドウ - new 変換画像 / WIN_img = gtk_image_new_from_pixbuf( img_conv ) ; gtk_scrolled_window_add_with_viewport( GTK_SCROLLED_WINDOW ( WIN_canvas ) , WIN_img ) ; * 画像ウィンドウ - 画像 free / if( WIN_img != NULL ) { gtk_object_destroy( GTK_OBJECT( WIN_img ) ) ; } /?- 操作パネル * 操作パネル / GtkWidget* Panel ; * 操作パネル - new / Panel = gtk_window_new( GTK_WINDOW_TOPLEVEL ) ; gtk_window_set_title ( GTK_WINDOW( Panel ) , 操作パネル ) ; gtk_widget_set_size_request( Panel , 170 , 80 ) ; g_signal_connect( G_OBJECT( Panel ) , destroy , G_CALLBACK( Panel_quit ) , NULL ) ; * 操作パネル - run / gtk_widget_show_all( Panel ) ; gtk_main() ; * 操作パネル - quit // void Panel_quit ( ) gtk_main_quit () ; * 操作パネル - vbox // GtkWidget* vbox ; vbox = gtk_vbox_new( FALSE , 3 ) ; gtk_container_add( GTK_CONTAINER( Panel ) , vbox ) ; gtk_container_set_border_width( GTK_CONTAINER( vbox ) , 6 ) ; * 操作パネル - hbox1 // GtkWidget* hbox1 ; hbox1 = gtk_hbox_new( FALSE , 0 ) ; gtk_box_pack_start( GTK_BOX( vbox ) , hbox1 , TRUE , FALSE , 2 ) ; * 操作パネル - hbox2 // GtkWidget* hbox2 ; hbox2 = gtk_hbox_new( FALSE , 0 ) ; gtk_box_pack_start( GTK_BOX( vbox ) , hbox2 , TRUE , FALSE , 2 ) ; * 操作パネル - 画像読込ボタン // GtkWidget* buttonLoad ; buttonLoad = gtk_button_new_with_label( 画像読込 ) ; gtk_box_pack_start( GTK_BOX( hbox1 ) , buttonLoad , FALSE , FALSE , 6 ) ; g_signal_connect( G_OBJECT( buttonLoad ) , clicked , / G_CALLBACK( & 画像読込ボタン - onClick ) , NULL ) ; * 操作パネル - 画像保存ボタン // GtkWidget* buttonSave ; buttonSave = gtk_button_new_with_label( 画像保存 ) ; gtk_box_pack_start( GTK_BOX( hbox1 ) , buttonSave , FALSE , FALSE , 6 ) ; g_signal_connect( G_OBJECT( buttonSave ) , clicked , / G_CALLBACK( & 画像保存ボタン - onClick ) , NULL ) ; * 操作パネル - モノクロボタン // GtkWidget* buttonGray ; buttonGray = gtk_button_new_with_label( モノクロ ) ; gtk_box_pack_start( GTK_BOX( hbox2 ) , buttonGray , FALSE , FALSE , 6 ) ; g_signal_connect( G_OBJECT( buttonGray ) , clicked , / G_CALLBACK( & モノクロボタン - onClick ) , NULL ) ; * 操作パネル - 元に戻すボタン // GtkWidget* buttonReset ; buttonReset = gtk_button_new_with_label( 元に戻す ) ; gtk_box_pack_start( GTK_BOX( hbox2 ) , buttonReset , FALSE , FALSE , 6 ) ; g_signal_connect( G_OBJECT( buttonReset ) , clicked , / G_CALLBACK( & 元に戻すボタン - onClick ) , NULL ) ; * 画像読込ボタン - onClick // void buttonLoad_onClick ( ) * & 画像読込ボタン - onClick / buttonLoad_onClick * モノクロボタン - onClick // void buttonGray_onClick ( ) * & モノクロボタン - onClick / buttonGray_onClick * 元に戻すボタン - onClick // void buttonReset_onClick ( ) * & 元に戻すボタン - onClick / buttonReset_onClick * 画像保存ボタン - onClick // void buttonSave_onClick ( ) * & 画像保存ボタン - onClick / buttonSave_onClick /?- 選択ダイアログ * 選択ダイアログ - new load // GtkWidget* file_dialog ; file_dialog = gtk_file_chooser_dialog_new( 画像選択 , GTK_WINDOW( Panel ) , GTK_FILE_CHOOSER_ACTION_OPEN , GTK_STOCK_CANCEL , GTK_RESPONSE_CANCEL , GTK_STOCK_OPEN , GTK_RESPONSE_ACCEPT , NULL ); * 選択ダイアログ - new save // GtkWidget* file_dialog ; file_dialog = gtk_file_chooser_dialog_new( 画像選択 , GTK_WINDOW( Panel ) , GTK_FILE_CHOOSER_ACTION_SAVE , GTK_STOCK_CANCEL , GTK_RESPONSE_CANCEL , GTK_STOCK_SAVE , GTK_RESPONSE_ACCEPT , NULL ); gtk_file_chooser_set_current_name( GTK_FILE_CHOOSER( file_dialog ) , untitled.tif ) ; gtk_file_chooser_set_do_overwrite_confirmation( GTK_FILE_CHOOSER( file_dialog ) , TRUE ) ; * 選択ダイアログ - show / gtk_widget_show_all( file_dialog ) ; * 選択ダイアログ - free / gtk_widget_destroy( file_dialog ) ; * 選択ダイアログ - result // gint file_dialog_result ; file_dialog_result = gtk_dialog_run( GTK_DIALOG( file_dialog ) ) ; * 選択ダイアログ - cancel / ( file_dialog_result != GTK_RESPONSE_ACCEPT ) * 選択ダイアログ - set 元画像 fname / / 元画像 - fname = gtk_file_chooser_get_filename( GTK_FILE_CHOOSER( file_dialog ) ) ; * 選択ダイアログ - set 変換画像 fname / / 変換画像 - fname = gtk_file_chooser_get_filename( GTK_FILE_CHOOSER( file_dialog ) ) ; openCV に日本語文字を描画 openCV に GTK+ で日本語文字を描画する。 draw_text.c #include cv.h #include cxcore.h #include highgui.h #include gtk/gtk.h // gcc -o draw_text draw_text.c `pkg-config gtk+-2.0 opencv --cflags --libs` // ./draw_text int main ( int argc , char* argv[] ) { gtk_init ( argc , argv ) ; gint img_w ; gint img_h ; // サイズ img_w = 260 ; img_h = 60 ; IplImage* img_org_cv ; // 元の画像 - openCV で作成 img_org_cv = cvCreateImage( cvSize( img_w, img_h ) , IPL_DEPTH_8U, 3 ); cvSet( img_org_cv , cvScalarAll( 255 ) , NULL ) ; GdkPixbuf* img_org ; // 元の画像 - pixbuf に変換 img_org = gdk_pixbuf_new_from_data( img_org_cv - imageData , GDK_COLORSPACE_RGB , FALSE , 8 , img_w , img_h , img_org_cv - widthStep , NULL , NULL ); GdkPixmap* pixmap ; // 元の画像 - pixmap に変換 gdk_pixbuf_render_pixmap_and_mask( img_org , pixmap , NULL , 255 ) ; GdkColormap* colormap ; GdkGC* gc ; colormap = gdk_drawable_get_colormap( GDK_DRAWABLE( pixmap ) ) ; gc = gdk_gc_new( GDK_DRAWABLE( pixmap ) ) ; PangoFontDescription* font_desc ; // 描画情報 - フォントを指定 font_desc = pango_font_description_from_string( Arial Bold 14 ) ; gchar* markup_str ; // 描画情報 - 内容を指定 markup_str = g_strdup_printf( %s%s%s\x00 , span font= 14 日本語文字を /span , span background = red foreground= yellow font= 20 描画 /span , span font= 14 してみる /span , ) ; PangoLayout* pango_layout ; // 描画情報 - pixmap に描画 GtkWidget* area ; area = gtk_drawing_area_new() ; pango_layout = gtk_widget_create_pango_layout( GTK_WIDGET( area ) , ) ; pango_layout_set_markup( pango_layout , markup_str , -1 ) ; gdk_draw_layout( GDK_DRAWABLE( pixmap ) , gc , 10 , 10 , pango_layout ) ; gtk_object_destroy( GTK_OBJECT( area ) ) ; g_object_unref( G_OBJECT( colormap ) ) ; g_object_unref( G_OBJECT( gc ) ) ; g_free( markup_str ) ; GdkPixbuf* img_text ; // 描画情報 - pixbuf に変換 img_text = gdk_pixbuf_get_from_drawable( NULL , GDK_DRAWABLE( pixmap ) , NULL , 0 , 0 , 0 , 0 , img_w , img_h ) ; IplImage* img_text_cv ; // 描画情報 - openCV に変換 img_text_cv = cvCreateImageHeader( cvSize( img_w , img_h ) , IPL_DEPTH_8U, 3 ); img_text_cv - imageData = gdk_pixbuf_get_pixels( img_text ) ; cvCvtColor( img_text_cv , img_text_cv , CV_RGB2BGR ) ; // 画面に表示 - openCV で cvNamedWindow( openCVに GTK+で描画 , CV_WINDOW_AUTOSIZE ) ; cvShowImage( openCVに GTK+で描画 , img_text_cv ) ; cvWaitKey( 0 ) ; cvDestroyWindow( openCVに GTK+で描画 ) ; // 終了 cvReleaseImageHeader( img_text_cv ) ; g_object_unref( G_OBJECT( img_text ) ) ; cvReleaseImage( img_org_cv ) ; g_object_unref( G_OBJECT( img_org ) ) ; return 0 ; } Edit
https://w.atwiki.jp/goodgames/pages/696.html
ES (ゲームには関係ありますが、Battlefieldとは無関係です) GoodGames Open ConquestにOperation Metroが投入される記念すべき瞬間まで推定90分。 早寝早起きの私的にはその頃は既に寝ていると思いますが。 (早寝したくてもさせてくれないのがこの業界ですが) さて掲題の件。 "ES"と聞いて何を思い出すか。Googleに聞いたらきっとES細胞が先頭に来るに違いない。 残念。映画ES(エス)が先頭でした。ES細胞は9番目。 もちろん映画でも細胞でもありません。 OpenGL ES (EmbededSystem)の略。 OpenGLは説明の必要も無いでしょう。 Windowsでは3D Graphics APIと言えばDirectXが圧倒的シェアですが、 その他のコンピューティング環境ではOpenGLが主流です。 そして、このES。EmbededSystemとは「組み込み用」の意味ですが、 具体的には携帯端末用に設計されています。 もっと具体的に申し上げると、スマートフォンの世界ではほぼ寡占状態です。 なんと、WindowsPhoneまでOpenGL ESを使用しています。 WindowsCEなんてものがあったんだから、DirectX CEも作ればいいのに。 また、やたらとだらだら書きそうな気配になってきたので、時短モードにしましょう。 このESを仕事で少々触っております。 「何を今更」と言った感じですが、最近のモバイル系サイトやなんとかアプリは見た目が重要らしく、 UIなんてどうでも良さそうなものまで3Dになってたりします。 しかし、あんな小さいもの、 しかも電池で動いてるものでまともに3D Graphicsなんて扱えるわけがない。 そもそも、あれって電話ですよ。電話。 「スマートコンピュータ」と呼ぶならまだしも「スマート電話」ですから。 ところが... 一ヶ月ほど弄ってみて日に日に凄さを実感しています。 正確な比較はまだ行っていませんが、 現行最新版のOpenGL ES 2.0でもDirectX7ぐらいの仕様にはなっていると思います。 また近日リリース予定の3.0ではDirectX10か11に相当する機能が実装されます。 性能ではまだ劣るでしょうが3.0は現行の家庭用ゲーム機並の機能が使えることになります。 この点は皆さんもお詳しいかもしれませんが、 スマートフォンの世界も(寧ろPCよりも?)GPUの性能競争が熾烈を極めており、 1世代後のモデルでは5倍の性能向上などが極普通に行われるそうです。 ATI(AMD)は私が知る限りそっち系のGPUをリリースしていません。 NVIDIAはTegra3がある程度のシェアを獲得しており、先日最新鋭チップTegra4を発表しました。 ですが、NVIDIAもそっち系では目立った存在にはなっていません。 と言うのもそっち系では「低消費電力」が絶対条件となるため、 ほぼ全機種がSoC(System on the Chip)と呼ばれる統合型プロセッサを搭載しています。 つまり、CPUの中にメモリコントローラからGPUからIOコントローラまで統合されているイメージです。 (一部例外あり) ここで詳しい方はピンと来るはず。NVIDIAはCPUなんか持ってない。 そうなんです。Tegra3もTegra4もCPUコア部分はOEM(正確にはライセンス生産のはず)で供給を受けています。 AMDはCPUもGPUも持っていますが、今のところそっち系に進出する気配無し。 では本命は... Intelではありませんよ。(笑) やっぱり長くなってきたから本日はこれまでにして寝ます。 ( - )
https://w.atwiki.jp/kanekotky/pages/9.html
お勉強サイト English Naviリンク集 英文メールを書くのにめちゃめちゃ便利なサイト 藪下研究室 英語を学ぶためのポッドキャストを探しています Multimedia対訳 Podcastでリスニングの練習まとめ @Wiki 勉強法 英語の練習法(あえて勉強法とは言わない:勉強にするな) 翻訳 doc-jaプロジェクト 本 英会話データベース必須1200 日常英会話5000(CD)
https://w.atwiki.jp/free-gaming/pages/178.html
+メニュー 概要 スクリーンショット ダウンロード imageプラグインエラー ご指定のURLはサポートしていません。png, jpg, gif などの画像URLを指定してください。 ゲーム名 Tyrian(OpenTyrian) リリース日 2013(最新版) 開発元 OpenTyrian Development Team パブリッシャー - 公式サイト https //bitbucket.org/opentyrian/opentyrian/wiki/Home 使用ゲームエンジン Custom Engine ジャンル シューティング マルチプレイ/シングルプレイ シングルプレイ OS MS-DOS/Windows 概要 MS-DOSで発売されたゲームをオープンソース化したプロジェクト。 オリジナルのMS-DOS版もダウンロードできる。 同じゲームで、リメイクしたTyrian Remakeもある。 スクリーンショット imageプラグインエラー ご指定のURLはサポートしていません。png, jpg, gif などの画像URLを指定してください。 ダウンロード ダウンロード
https://w.atwiki.jp/soscomp/pages/229.html
Wireless Freedom OpenWRTとは 無線LANルーター向けのOS。 LaFoneraのOSやDD-WRTはこれがベースになってます。 市販のルーターに入れると搭載されている無線LANチップの機能をほぼ100%利用することができます。 LaFoneraに入れてみる ダウンロード 本家から、 openwrt-atheros-vmlinux.lzma openwrt-atheros-root.squashfs をダウンロード。 インストール La Fonera Linux化計画。を参考に この記事は7.09向けの記事のようだが、インストールに関しては8.09でも同じようにできた kamikaze 8.09@FON2100E OK kamikaze 8.09@FON2201 OK9-KEでシリアルコンソールに接続した場合、受信はできても送信ができないので、telnet経由でRedbootにアクセスするか、9-KEにプルアップ抵抗を接続してシリアルコンソールを叩く必要がある TCP/IP関連の設定をミスしてtelnetやLuCIにアクセスできなくなった場合に備えてプルアップ済みの9-KEも用意しておくといいかも 設定に関しては一部読み替えるべき箇所あり。後述 設定 root@OpenWrt /#uci set wireless.cfg2.ssid=hogehoge[Ent] これだとSSID設定できない。 vi /etc/config/wireless で中身を直接書きかえるか、 cat /etc/config/wireless でパラメータを確認してからコマンドを叩くべし。 ブラウザからLuCIにアクセスして設定した方がいいかも? パッケージマネージャ ipkgが廃止され、代わりにopkgが導入されている。 パッケージリストの更新 opkg update インストール opkg install パッケージ名 使い方はipkgとあまり変わらないようだ Rubyのインストール opkgで入れられます。 opkg install ruby こんだけでらほねらがRubyの動くLinuxボードになってしまいました。 この簡単さは拍子抜けですねぇ。 名前 コメント このページへのアクセス数 total - today - yesterday - このページのタグ一覧 LaFonera Linux WiFi OpenWRT
https://w.atwiki.jp/api_programming/pages/61.html
下位ページ Java API で認証処理をする Python Content 準備Google App Engineの登録 Eclipseの準備Eclipse 上のツールの準備 新規プロジェクトの作成フォルダの構成warフォルダ AppEngineと連携 デプロイデプロイの準備、設定 ページをつくる呼び出しの流れ Servletをつくるwelcome-file-list ローカルでテストする 外部ライブラリの利用 Javascriptライブラリ 準備 参考、というか、このまま進める GAEで始めよう! JSP/サーブレット入門 GAEで始めよう! JSP/サーブレット入門 GAEアプリケーションを作ろう! (1/6) Google App Engineの登録 Eclipseの準備 Eclipse 上のツールの準備 Help→新規のソフトウェア 作業対象に、以下のアドレスを入力http //dl.google.com/eclipse/plugin/4.6 4.6 は Eclipse のバージョン。よって、適宜変える。 しばらく待って、Google App Engine 関係の開発ツール、SDK を選択して、次へ次へ。 新規プロジェクトの作成 ファイル→新規→プロジェクト ウィザードの選択:Google→ウェブアプリケーション(→次へ) 新規ウェブアプリケーションプロジェクト:プロジェクト名:GAEサイトで作成したアプリの名前とは関係なし。 パッケージ:作成するJavaクラスで使用するパッケージを指定。とりあえず「com.app.mytestapp」とか。 ロケーション:プロジェクトを配置する場所。デフォルトで可。 Google SDKsGoogle Web Toolkit:一定レベル以上の知識が要求されるため、今回はGWTを使わない。 Google App Engine:「Google App Engine」を利用するためのもので、必ず「ON」にする。SDK:デフォルトで設定されているSDKでOK。 Google App Marketplace――Google Appマーケットプレースのサポートに関するものです。「Add support for ……」というチェックボックスがありますが、これをONにしておくと、マーケットで公開し配布するための仕組みが用意されます。ここでは「OFF」にしてください。 Sample Code――最初からサンプルとしていくつかのソースコードやファイルなどを用意しておくためのものです。「Generate project sample code」をチェックするとファイルが生成されます。これは「ON」のままでいいでしょう。 新規 プロジェクト → Google Webアプリケーション Use Google Web Toolkit(GWT)は使わない。複雑になるから。 フォルダの構成 GAEで始めよう! JSP/サーブレット入門 GAEアプリケーションを作ろう! (1/6) warフォルダ index.html デフォルトでサンプルファイルとして作成されているHTMLファイル favicon.ico アプリケーションのアイコンファイル WEB-INF 公開されないフォルダ。Webアプリケーションの重要な情報を保管する。 WEB-INF/lib Webアプリで使用する各種のライブラリファイル。デフォルトで、GAE関連のライブラリが組込済み appengine-web.xml GAEのWebアプリに関する諸設定を記述するXMLファイルです。これはGAE特有のもので、他の一般的なJavaのWebアプリにはない logging.properties これは、GAEのログ機能に関する設定情報。これもGAE特有。まず、触らない web.xml Webアプリに関する各種の情報を記述するXMLファイルです。一般的なJavaのWebアプリでも利用される。 AppEngineと連携 war/WEB-INF/app-engine.xml の application にGAEのプロジェクトに登録したアプリケーションを追加。 を追加する デプロイ デプロイの準備、設定 WEB-INF/appengine-web.xml この中の「application」にデプロイするGAEのアプリケーション名を指定する(「Application Identifier」で設定した名前) XMLエディタが機能しない時には、 application ~ /application のタグの間にアプリケーションの名前を記述する。 ツールバーの青いGマーク デプロイ http //アプリ名.appspot.com で公開される。 ページをつくる 呼び出しの流れ とりあえず、下の方法で実装。 ページリクエスト(http //???/test) → web.xml にてどのサーブレットを動かすか読み替える → サーブレットを動かして表示 Servletをつくる クラスの作成(TestSerlvetクラスを作ったとする)ファイル 新規 クラス → スーパークラスに javax.servlet.http.HttpServlet を指定する doGetを実装Getリクエストが来た時の対応を書く。jspで対応する方法で作ると、 RequestDispatcher rd = getServletContext().getRequestDispatcher("/WEB-INF/test.jsp"); rd.forward(req, resp); web.xmlにservletを登録、servlet-mappingで対応付けweb-app の子に servlet要素 と servlet-mapping要素を追加servlet要素servlet-name サーブレットの名前、例えば TestServlet servlet-class : 作ったサーブレットのクラス名、ここでは com.appspot.testproject.TestServlet servlet-mapping要素servlet-name : サーブレットの名前、TestServlet url-pattern : 読み替えるurlのパターン /testとか。ワイルドカードあり。 welcome-file-list 何もページを指定していないリスエストが来ると、ここに設定されているページにリダイレクトされる 複数指定できる。複数指定すると、記述順に探してくれる。 ウェルカムページを設定する ローカルでテストする プロジェクト上で右クリック 実行 Webアプリケーション ブラウザでhttp //localhost 8080/8080かどうかは、プロパティ 実行/デバッグ設定 → 編集 サーバ で確認 Usage dev-appserver [options] app directory で終了する場合は、実行/デバッグ設定を削除してみる 外部ライブラリの利用 外部ライブラリをGAEで使用するには、/war/WEB-INF/lib に .jar を追加(コピー)する。リンクコピーでは動かない(ショートカットがGAEに渡るだけだから?) Google App Engine(JSONIC活用) - プロフェッショナルプログラマー Javascriptライブラリ Javascript でなんとかしたくて、ライブラリがあったがうまくつかえないくて、ここを見たら一番良くわかった(というかコピー) https //qiita.com/tinymouse/items/5a471cfc4a7cb05c884c 家元と差分はあるか? https //cloud.google.com/compute/docs/tutorials/javascript-guide?hl=ja
https://w.atwiki.jp/yosilove/
ProMemoへようこそ! このページはあれです、どこからかもってきたサンプルプログラムとかを改竄しつつ順次書き込んで行くページです。 アルゴリズム(バブルソートとか)やライブラリ(OpenGLとかOpenCVとか)利用のサンプルプログラムを暇なときに追加してゆく予定です。なのでアルゴリズムの詳しい解説(オーダーとかね)等は専門のサイトにゆずります。 APIを載せることもありますが、非公式なので正しいとはかぎりません。 解説はおまけです、あくまでサンプルプログラムです。 なにかが間違っていてあなたになんらかの不利益が生じても管理人はしりません、誰がなんと言おうとサンプルプログラムなのです。 いろんなメモもおいてます。 NyARToolKit Bullet Blender 就職活動 連絡先 「あれ?このプログラム動かないんだけど?」な人 「ちょw 誰が引用していいって言ったんだよww」な引用先サイトの管理人様 「おまえダメだな〜 一緒に手伝ってやろうじゃないか!」な親切なお方 「もうちょっとこう、、、ねぇ」なご意見ご感想 管理人にめ〜るしてください。 補足 用語説明 CPP c++プログラムのことです、c++とすると検索時に困るのです。 Tanks Tanksがあるページのソースコードを利用する際は、必ずTanks先のサイト様へのリンクを貼りませう。 Macと表記されてる場合 MacOSXです、OpenALやOpenGL,GLUTはバージョンが明記されていませんがOSXのバージョンに応じたOSXデフォルトのframeworkを使ってると思ってください。(日々アップデートしてる人は気にしなくていいです。) webカメラはMacBookの内蔵iSightです。 ちなみに、プリインストールされていないもの(ALUTとかね)を使う場合はバージョンを明記します、エラーが起こったりしたらバージョンを確認してください。 主な内容 Blender MacOSX 2.5 Mac ソースコード Bullet OpenAL 講義メモ CPP ALUT OpenCV API Python 解説 C NyARToolKit メモ 3 Demo これはひどいw 一覧メニュー 就職活動 Tips Linux bcコマンド AppleScript ffmpeg ライブラリ GLUT OpenGL まとめ
https://w.atwiki.jp/nerspi/pages/13.html
英語高校教科書「Masic Hat」参考文書 Magic Hat Ⅰ Lesson5 A Murder Mystery 5,000 Years Old be exhausted疲れきっている、くたくた for hours何時間も struggle throughもがく、あがく、苦労する、苦心する deep深い although~=though~。~だけれども freezing cold凍るように寒い bleed出血する be frightened about~を恐れる severe wound重い傷、重症。読み方はシビア ウーンド where~関係副詞「~な」で、前の名詞shoulderを修飾している bury埋める、埋まる。読み方はベリー though~=although。~だけれども get away逃げる attacker攻撃者、襲撃者 followあとをつける make an effort努力する save ~~を救う、助ける save himself自分自身を助ける、助かる howeverしかし not ~ any further もう~ない。読み方はファーザー climb登る。読み方はクライム decide to+原形~することに決める make a stand立ち上がる turn振り返る face面と向かう be ready to~~の準備ができる if necessaryもし必要なら with~~で get to~~に到着する、追いつく fall face downうつぶせに倒れる as come offはずれる、とれる soonまもなく、すぐに Germanドイツ人、ドイツ語、ドイツの something何か stick突き出す out of~~から melting~溶けかけた~ at first最初は die in an accident 事故で死ぬ、事故死する closerもっと近くで、もっと近づいて seem~~のようだ much olderずっと古い ask 人 to 原形(人)に~するように依頼する study研究する clothes服 worewereの過去形。身につける、着る be made of~~でできている plant fiber植物の繊維 that were found with him関係代名詞「~な」→彼と一緒に見つかった… date last part終期 Stone Age石器時代 use A for BBのためにAを使う scientific testing show~科学的な調査は~を示す→科学的な調査で~とわかる laterのちの、のちに name A after BBにちなんでAと名付ける it is 形容詞for人to 原形(人)が~することは…だ examine=test。読み方はイグザミン teethtooth(トゥース)の複数形。歯。読み方はティース compare A with BAとBを比べる It was a fact that~~は事実だった。 be born生まれた northern北の whole~~を全部 life人生 where he died関係副詞。the place where he diedで彼が死んだ場所 It was found that~~ということがわかった A, B, and C箇条書きを表す stomach胃。読み方はスタマック realizeわかる=find another別の discovery発見。discover(動詞)の名詞形。読み方はディスカバリー make a discovery =discover発見する stuckstickの過去分詞 [stuck in Otzi’s left shoulderなarrowhead] it become clear that~~なことが明らかになる research研究 as wellその上、~と同様に broken~壊れた~、折れた~。breakの過去分詞 on~~に付いた、付着した his own彼自身の , soだから it was probably that~たぶん~。 it is possible that~~の可能性がある。 carry ~ on his back~を背負う the stone arrowhead left in Otzi’s body [left in Ozti’s body]な[stone arrowhead] be similar to~~に似ている those found=those things that were found home area strangers見知らぬ人 some~、other…~な人もいるし、…な人もいる。 argue言い争う、言い張る、主張する valuable価値のある questions we have=questions that we have never決して~ない the reason why~「why」は関係副詞。~な理由 just for him彼だけのために through~~を通して new home新しい家(博物館のこと) violent乱暴な、暴力的な ◇形式主語 it is clear that~~なことは明らかです it is possible that~~なこともありうる。~の可能性もある。 it is found that~~なことがわかる it is a fact that ~~なことは事実だ it seems that~~のようだ ◇同義語 test= study=research make a stand=stand(動) make a discovery = discover ◇重要熟語 make efforts be similar to be made in be made of be known to as well name A after B ◇現在完了進行形 [形] have been ~ing [意味]ずっと~している ←現在完了の継続と同じ意味 ◇関係副詞 when, where, how, whyの4つ。訳し方は関係代名詞と同じ。 howの先行詞はthe wayだけ。→ the way how~「~の方法」 whyの先行詞はthe reasonだけ。→the reason why~「~の理由」 Magic Hat Ⅰ Lesson6 A Class Divided divide分ける、分割する all of~~の全員 third-grade3年 take part in~~に参加する experiment実験 discrimination差別 judge ~ by……で~を判断する shake head首を横に振る see調べる、確認する entire~=all of~=whole~ sound like~のようだ pick out~~を選ぶ collar襟(えり)、首輪。発音はカラー tell (人) to ~(人)に~するように言う take out~~を取り出す but~~以外 whenever+SVSがVしたときはいつでも make a point of~ 忘れずに~する、決まって~する howeverしかし patient忍耐強い、辛抱強い。ここでは「怒らずに」 recess休み時間 extra余計な、余分な may not~してはいけない not as good同じではない teaseからかう get into~~になる look embarrassed 困っているようにみえる What’s wrong with~ ~はどうした? smart頭が良い、賢い by~~まで revenge復讐、報復 take off~~を脱ぐ、取る、はずす with delight喜んで flashcardフラッシュカード have ~ on=wear 身につける affect影響する treat扱う how about~~はどう? whether~~かどうか。読み方はフェザー(ウェザー) the way to~~する方法 make A BAをBにする in a minute1分で→すぐに Magic Hat Ⅰ Lesson7 Dolphins’ Power to Heal Unit1 see+名+~ing 名が~しているのを見る for the first timeはじめて take+名+to ~名を~に連れて行く be depressed意気消沈した、憂鬱 at first最初は notice+名+~ing 名が~しているのに気づく seem to+原形~しているようだ、~のようだ Why not~~しよう(Let’s) feel+名+原形 名が~しているのを感じる be my friend友達になって。 let go of放す find+名+ing 名が~しているのがわかる come closerもっと近くに来る just as they were they=dolphins、最後にsplashing and playingが省略されている for a whileしばらくの間 hear+名+原形 名が~しているのが聞こえる Unit2 suffer from~~の病気をわずらう(本文では分詞になっている) let+名+原形 名に~させる(自由に) make+名+原形 名に~させる have+名+原形 名に~させる various kinds of~ さまざまな種類の~ over+数字~以上 have an ability to~ ~する能力を持っている caring思いやりがある sense感じる [how similar we are.]→感嘆文 be similar to~~に似ている help+名+原形 名が~するのに役立つ UNIT3 be sure確信している what we know私たちが知っていること。(whatは関係代名詞=the thing which) each otherお互い travel伝わる four times+比較級 4倍 [how quick+SV]→感嘆文 some~,others~~な人もいるし、~な人もいる the important thing is that~重要なことは~なことです Magic Hat Ⅰ Lesson8 Crow Boy UNIT1 there is ~ …ing…している~がいる(ある) be afraid of~~を恐れる one after another次々に kill time時間をつぶす amuse himselfひとりで楽しむ wouldよく~した for hours何時間も a patch of cloth布きれ all year round一年中 studyよく調べる even when~~なときでさえ most of usわたしたちのほとんど so thatそれで、そのため not only A but (also) BAだけでなくBも make friends with~~と友達になる、親しくなる part2 day after day来る日も来る日も day by day日に日に go by過ぎ去る take ~ to …~を…に連れて行く be pleased to~~して喜んだ be amazed to find~~に気づいて驚く tack~up~を画びょうで留める but~~以外 spend time ~ing~してすごす part3 talent show学芸会 up thereあちらで、むこうで leave A for BAを離れてBに向かう wrongつらくあたる(ひどいことをする) grownup大人 part4 perfect attendance皆勤 would often~よく~したものだった not ~ any moreもう~ない set off for~~に向かって出発する around the turn曲がり角のあたり Magic Hat Ⅰ Lesson9 The Power of Images part1 have you ever~?[現在完了]いままでに~したことがありますか。 as I see it私が見たところ it is ~ for(人) to…(人)にとって…することは~です both A and BAもBも(両方とも) on the other hand一方 if you were~, you would[仮定法過去] make decision決める =decide suppose=if think of~~について考える part2 I wish ~[仮定法]~だといいのに How about~~はどう? as if~[仮定法]まるで~のように for themselves自分自身で make O+原形[使役動詞]Oに~させる If it were not for~[仮定法]もし~がなければ focus on~~に注目する part3 compare A to BAとBを比べる Without~[仮定法]もし~がなければ =if it were not for make a choice選ぶ=choose smart賢い、頭のいい closely examineよく調べる digital ageデジタル世代 that is whyそのために part4 keep in mind~~を心に留める、気をつける a single~一つの~(=oneの強調) be aware of~~に気づく (動詞)choose - chose - chosen →(名詞)choice 仮定法とは…事実に反する仮定 (1)仮定法過去 現在の事実に反する仮定→形を過去形にする If S+過去形+~, 主語+would+原形+~. (例) If I were a bird, I would fly to you. 「もし私が鳥ならば、あなたのところへ飛んで行くのになぁ。」 →実際は鳥ではないので、飛んで行かない。 If I had enough money, I could buy the book. 「もし私が充分なお金を持っていれば、その本を買えるのになぁ。」 →実際はお金がないので、買えない。 ※前半を条件節、後半を帰結節という。条件節と帰結節を逆にすることもできる。 ※would(=might)の部分をcouldにすると「~できるのに」の意味。 ※be動詞のときはwereを用いるのが普通。 特別な仮定法 (1) as if+条件節「まるで~のように」 (例)He looked calm as if nothing had happened. (2) if it were not for+名詞、+帰結節「もし~がないなら、~なのに」 =without+名詞、+帰結節「もし~がないなら、なかったなら、~」 (例)Without air, any animal could not alive. (3) I wish+(ifを消した条件節)「~だったらいいのになぁ」 =If only+(ifを消した条件節) Magic Hat Ⅰ Lesson10 FMYY PART1 hit - hit - hit turn to~~に目を向ける hear about~について聞く A, B, and C[箇条書き] statistics統計 more than~~以上 be dead=died following~[分詞構文]~に続いて break out[事件などが]発生する in the whole city町全体で as a result of~~の結果 be forced to+原形~させられる、~を余儀なくされる、~せざるを得ない temporary evacuation shelter一時避難所 limited by~[分詞構文]~に制限されて A, B, or C[箇条書き] anxiety[発音注意:アングザイアティ] part2 for the first time初めて supported by~[分詞構文]~に支えられて manage to+原形どうにか[苦労して]~する both day and night昼も夜も suffer from~[苦痛、不快なことを]経験する、こうむる a lack of~~の不足 be in the darkわからずに step in参加する air放送する not only A but also BAだけでなくBも merge to form~[toは結果の不定詞]合併して~になる part3 knowing this[分詞構文]=because they know this granting a go-ahead許可を出す。=permit It was ~ that …[強調構文]…なのは~だった each day毎日 in addition他に、さらに what is going on何が起こっているか true to~~に忠実 part4 continue to~~しつづける in addition to~~に加えて the elderly=old people not either~も…ないnot forgotten either 忘れられていない ~as well=~, too the number of~~の数 is growing増えている prove to be~~であるとわかる such as~~のような without~[仮定法]もし~がなかったならば It is~who…[強調構文]…な人は~です。 make a difference変える Magic Hat Ⅰ Lesson11 The Pianist PART1 so ~ that …とても~なので… be absorbed in~~に熱中している in search for~~をさがして any time now今にも Do what you likeあなたの好きなようにしなさい have an intension of~~するつもり take~to…~を…に連れて行く if「もし」の意味のときは未来でも現在形にする it was~who[強調構文] The sound of the piano wouldピアノの音がなれば~だろう[wouldは仮定法] try the instrument outその楽器を試してみる in that caseそれなら after some timeしばらくして Never mind.気にするな。 dare to+原形勇気を出して~する(あえて~する) PART2 ashamed of~~を恥ずかしいと思う shake hands握手するshake(シェイク) - shook(シュック) - shaken(シェイクン) Wait a moment.ちょっと待って。 see+目的語+原形~が…するのを見る(知覚動詞) be over終わる at the latest遅くても stay~~のままでいる downstairs ⇔ upstairs be busy with~~をしていて忙しい never knowing~[分詞構文] less and lessますます少なく、だんだん少なく little - less - least a single~one(ひとつ)の強調表現 not a single~ひとつの~も…ない for the last time最後に ⇔ for the first time初めて than usualいつもより wake~up~の目を覚まさせる at any momentいつでも、今にも part3 hear+~+…ing~が…しているのを聞く come close近づく take a look見る take a closer lookもっと近づいて見る full of~でいっぱい carrying a bundle[分詞構文]包みを持って in a panicあわてて part4 as~として look over to見渡す、目を通す、調べる busyにぎやか go up to~のところに行く、近寄る not either…も~ない(tooの否定分) pray祈る(mayを伴うことが多い)