NPCA部誌2018

Size: px
Start display at page:

Download "NPCA部誌2018"

Transcription

1

2 NPCA 2018 NPCA

3 (NPCA) 73 sheyasutaka 2018 niimi Re:VIEW CombNada : 2 73 : 1 74 : 3 i

4 i i 1 ARKit ARKit ARKit ARKit KMP !VR3(00) ? ! ? No Programming No Creating game ~ ~ Python Web ii

5 & config blender DCG is easy! JOI iii

6 1 ARKit 73 object ( 1) object ARKit 1.2 ARKit ARKit AR AR AR AR( ) (Wikipedia ) AR Pokemon GO( ) AR 1

7 1 ARKit 1.2 ARKit 1.1: VR AR VR VR AR ( ) ( ) ARKit AR ARKit ARKit Apple ios AR ARKit AR ios ios AR ARKit A9 ios11 ios ( iphone 6s ) 2

8 1 ARKit 1.3 ARKit 1.3 ARKit ARKit ARKit ios AR AR AR AR Hello,World! ARKit AR Hello,World! AR ios Xcode Xcode Mac ios Mac Mac Xcode Xcode 3D Blender Blender X Tab Hello,World! 1.2: Hello,World! [ ] [ ] [ ] 3

9 第 1 章 ARKit 1.3 ARKit を使う 図 1.3: 厚さとフォントを変更した状態 UV 展開ができるように左下のオブジェクト 変換でテキストをメッシュに変換します 次にテクスチャを貼ります 左上のスクリーンレイアウトを Default から UV Editing に変更し テキストを編集モードで選択 した状態で U キーを押してスマート UV 展開を選択します 今回は全部白くていいので白い正方形の画像を用意して左下の [開く] から用意した画像を開きましょう 図 1.4: UV 展開後画像を開いた状態 できたらスクリーンレイアウトを Default に戻し 右のマテリアル (丸のアイコン) からマテリアルを追加し その横のテクス チャで [新規作成] を押して下の [画像] のところでさっきの画像を開きます 下にあるシェーディングのところでソリッドからテクスチャに切り替えて白くなっていればモデル作成は成功です 4

10 第 1 章 ARKit 1.3 ARKit を使う 図 1.5: テクスチャが反映された状態 次に 作成したモデルを Xcode で使えるようにエクスポートします Xcode で使える 3D モデルの拡張子は.scn と.dae と.obj です メニューバーからエクスポートを選択し Collada(.dae) でエクスポートします Xcode での作業 インストールしておいた Xcode を開きます "create a new project"のところを選択するとこのような画面が出てきます 図 1.6: アプリテンプレート選択 ここでアプリのテンプレートを選択することができます 中央上に AR 用のテンプレートがあるのでそれを選びたくなります が AR 用テンプレートを選ぶと最初から AR が実装されてしまっているので ARKit の凄さを伝えるためにあえて Single View App を選びます 名前を適当に入れてアプリを作ったら info.plist を開き "Information Properly List"に"Privacy - Camera Usage Description" を追加します 次に Main.storyboard を開き 右下の検索欄で"ARKit SceneKit View"を探し 画面全体に広げます 5

11 第 1 章 ARKit 1.3 ARKit を使う 図 1.7: storyboard 次に先程作成し エクスポートしたモデルとテクスチャをプロジェクト内に追加します モデルのサイズが合わないので右上の ところで調整しておきましょう 図 1.8: Xcode での表示 次に AR を表示するためのコードを書きます まず最初に右上のベン図みたいなマークを押して Main.storyboard と ViewController.swift を並べ Ctrl キーを押しながら ARSCNView を ViewController.swift の最後の中括弧の上にドラッグ ドロップし sceneview という名前で IBOutlet 接続し ます ViewController.swift // IBOutlet var sceneview: ARSCNView! 次に ARKit をインポートします ViewController.swift //ARKit のインポート import ARKit 最後に.viewDidLoad() に次の三行を追加します 6

12 1 ARKit 1.3 ARKit // sceneview.scene = SCNScene(named: "helloworld.dae")! ViewController.swift // let configuration = ARWorldTrackingConfiguration() // sceneview.session.run(configuration) AR ARKit Hello,World! 7

13 1 ARKit 1.3 ARKit 1.9: Hello,World! 8

14 1 ARKit 1.4 ARKit 1.10:?? AR 1.4 ARKit Hello,World! 9

15 1 ARKit 1.4 ARKit ViewController.swift import UIKit import ARKit class ViewController: UIViewController { override func viewdidload() { super.viewdidload() sceneview.scene = SCNScene(named: "helloworld.dae")! let configuration = ARWorldTrackingConfiguration() sceneview.session.run(configuration) override func didreceivememorywarning() { var sceneview: ARSCNView! 2 import ARKit ARKit 8 sceneview.scene = SCNScene(named: "helloworld.dae")! ( ) AR- SCNView helloworld.dae 3D 10 let configuration = ARWorldTrackingConfiguration() ARWorldTrackingConfiguration 12 sceneview.session.run(configuration) session.pause() ARKit * 1 Xcode AR ViewController.swift import UIKit import ARKit ViewController.swift class ViewController: UIViewController, var sceneview: ARSCNView! override func viewdidload() { super.viewdidload() // sceneview.delegate = self sceneview.session.delegate = self // sceneview.scene = SCNScene() // let configuration = ARWorldTrackingConfiguration() // configuration.planedetection =.horizontal // sceneview.session.run(configuration) // ARSCNViewDelegate *1 ios

16 1 ARKit 1.4 ARKit // func renderer(_ renderer: SCNSceneRenderer, didadd node: SCNNode, for anchor: ARAnchor) { guard let planeanchor = anchor as? ARPlaneAnchor else {fatalerror() print("anchor:\(anchor), node: \(node), node geometry: \(String(describing: node.geometry))") // let geometry = SCNPlane(width: CGFloat(planeAnchor.extent.x), height: CGFloat(planeAnchor.extent.z)) geometry.materials.first?.diffuse.contents = UIColor.yellow.withAlphaComponent(0.5) // let planenode = SCNNode(geometry: geometry) //x- z planenode.transform = SCNMatrix4MakeRotation(-Float.pi / 2.0, 1, 0, 0) DispatchQueue.main.async(execute: { // node.addchildnode(planenode) ) // func renderer(_ renderer: SCNSceneRenderer, didupdate node: SCNNode, for anchor: ARAnchor) { guard let planeanchor = anchor as? ARPlaneAnchor else {fatalerror() DispatchQueue.main.async(execute: { // for childnode in node.childnodes { guard let plane = childnode.geometry as? SCNPlane else {continue plane.width = CGFloat(planeAnchor.extent.x) plane.height = CGFloat(planeAnchor.extent.z) break ) // func renderer(_ renderer: SCNSceneRenderer, didremove node: SCNNode, for anchor: ARAnchor) { print("\(self.classforcoder)/" + #function) // ARSessionDelegate // func session(_ session: ARSession, didadd anchors: [ARAnchor]) { print("\(self.classforcoder)/" + #function) // func session(_ session: ARSession, didupdate anchors: [ARAnchor]) { print("\(self.classforcoder)/" + #function) // func session(_ session: ARSession, didremove anchors: [ARAnchor]) { print("\(self.classforcoder)/" + #function) 11

17 1 ARKit 1.4 ARKit 1.11: planedetection.horizontal.horizontal.vertical 12

18 1 ARKit 1.4 ARKit 1.12: // configuration.planedetection =.horizontal ARAnchor ARAnchor AR ( ) ARAnchor ARPlaneAnchor, ARPlaneAnchor center extent alignment 13

19 1 ARKit 1.4 ARKit center extent vector_float3 extent x,z y ARSCNViewDelegate ARSCNViewDelegate // func renderer(_ renderer: SCNSceneRenderer, didadd node: SCNNode, for anchor: ARAnchor) // func renderer(_ renderer: SCNSceneRenderer, didupdate node: SCNNode, for anchor: ARAnchor) // func renderer(_ renderer: SCNSceneRenderer, didremove node: SCNNode, for anchor: ARAnchor) ARSessionDelegate ARSessionDelegate // func session(_ session: ARSession, didadd anchors: [ARAnchor]) // func session(_ session: ARSession, didupdate anchors: [ARAnchor]) // func session(_ session: ARSession, didremove anchors: [ARAnchor]) import UIKit import ARKit ViewController.swift class ViewController: UIViewController, ARSCNViewDelegate, ARSessionDelegate var sceneview: ARSCNView! override func viewdidload() { super.viewdidload() sceneview.delegate = self sceneview.session.delegate = self // ARSCNView sceneview.scene = SCNScene() // let configuration = ARWorldTrackingConfiguration() configuration.planedetection =.horizontal // sceneview.session.run(configuration) // MARK: - ARSCNViewDelegate func renderer(_ renderer: SCNSceneRenderer, didadd node: SCNNode, for anchor: ARAnchor) { guard let planeanchor = anchor as? ARPlaneAnchor else {fatalerror() print("anchor:\(anchor), node: \(node), node geometry: \(String(describing: node.geometry))") // let geometry = SCNPlane(width: CGFloat(planeAnchor.extent.x), height: CGFloat(planeAnchor.extent.z)) geometry.materials.first?.diffuse.contents = UIColor.yellow.withAlphaComponent(0.5) // let planenode = SCNNode(geometry: geometry) planenode.transform = SCNMatrix4MakeRotation(-Float.pi / 2.0, 1, 0, 0) DispatchQueue.main.async(execute: { // node.addchildnode(planenode) ) // 14

20 1 ARKit 1.4 ARKit let scene = SCNScene(named: "art.scnassets/ship.scn")! // let virtualobjectnode = SCNNode() // for child in scene.rootnode.childnodes { virtualobjectnode.addchildnode(child) // node.addchildnode(virtualobjectnode) func renderer(_ renderer: SCNSceneRenderer, didupdate node: SCNNode, for anchor: ARAnchor) { guard let planeanchor = anchor as? ARPlaneAnchor else {fatalerror() DispatchQueue.main.async(execute: { // for childnode in node.childnodes { guard let plane = childnode.geometry as? SCNPlane else {continue plane.width = CGFloat(planeAnchor.extent.x) plane.height = CGFloat(planeAnchor.extent.z) break ) func renderer(_ renderer: SCNSceneRenderer, didremove node: SCNNode, for anchor: ARAnchor) { print("\(self.classforcoder)/" + #function) // MARK: - ARSessionDelegate func session(_ session: ARSession, didadd anchors: [ARAnchor]) { print("\(self.classforcoder)/" + #function) func session(_ session: ARSession, didupdate anchors: [ARAnchor]) { print("\(self.classforcoder)/" + #function) func session(_ session: ARSession, didremove anchors: [ARAnchor]) { print("\(self.classforcoder)/" + #function) 15

21 1 ARKit 1.4 ARKit 1.13: 3D ARSCNView debugoptions debugoptions SCNDebugOptions ARKit SCNDebugOptions ARSCNView ARSCNDebugOptions ARSCNDebugOptions SCNDebugOptions debugoptions 16

22 1 ARKit 1.4 ARKit 1.1: SCNDebugOptions showboundingboxes showwireframe renderaswireframe showskeletons showcreases showconstraints showcameras showlightinfluences showlightextents showphysicsshapes showphysicsfields ( ) #@# SCNLight SCNLight SCNPhysicsBody SCNPhysicsBody 1.2: ARSCNDebugOptions showworldorigin showfeaturepoints AR ARKit showboundingboxes sceneview.debugoptions = [.showboundingboxes].showboundingboxes.showwireframe ARSCNDebugOptions ARSCNDebugOptions.showFeaturePoints 17

23 1 ARKit 1.4 ARKit 1.14:.showBoundingBoxes 1.15:.showWireframe 18

24 1 ARKit 1.4 ARKit 1.16:.renderAsWireframe 1.17:.showSkeletons showskeletons 19

25 1 ARKit 1.4 ARKit 1.18:.showCameras 1.19:.showLightInfluences 20

26 1 ARKit 1.4 ARKit 1.20:.showLightExtents 1.21:.showWorldOrigin 21

27 1 ARKit :.showFeaturePoints 1.5 ARKit ARKit AR ARKit!( ) 1.6 ARKit ( ) ios11 Programing 22

28 2 73 2lu3 2.1 C BitMap BitMap png jpeg,gif BitMap ( ) : C Wiki byte( ) byte BitMap 2 1 (bit) 1byte 8bit 23

29 2 2.2 [42] [4D] [4D] A F or

30 2 2.2 BitMap BM byte BitMap 72,480,822byte 72Mbyte by Wiki( )

31 2 2.3 :Wiki 1 1,4,8 1bit : 2 4bit : 16 8bit : (Red) (Green) (Blue) RGB RGB C fread() #include <math.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <time.h> #include <Windows.h> #define true 1 #define false 0 #define HEADER_SIZE 54 //heder size 54 = #define MAX_WIDTH 3000 //upper limit of width(pixel) #define MAX_HEIGHT 3000 //upper limit of height(pixel) #define COLOR_CATEGORY_NUM 1000 #define PLUS_MINUS(a, b, c) ((a) + (c) >= b && (a) - (c) <= b) #define SIZE 10 // r,g,b values of one pixel typedef struct { unsigned char r; unsigned char g; unsigned char b; int color_type;// int color_num;// color_category int sum;// r + g + b; color; typedef struct { long height; long width; color data[max_height][max_width]; int color_num;// color color_category[color_category_num]; img; int ReadBmp(char *file_name, img *imgp) { unsigned char bmp_header_buf[header_size]; // this store header data of bmp char bmp_type[2]; long bmp_height; long bmp_width; unsigned short bmp_color; long real_width; unsigned char *bmp_data; FILE *bmp_file; bmp_file = fopen(file_name, "rb"); 26

32 2 2.3 if(bmp_file == NULL) { printf("\n\n\n\nfailed to open bmp file\n"); return 0; // ( ) fread(bmp_header_buf, sizeof(unsigned char), HEADER_SIZE, bmp_file); // BM memcpy(&bmp_type, bmp_header_buf, sizeof(bmp_type)); if(strncmp(bmp_type, "BM", 2)!= 0) { printf("error: %s is not a bmp file.\n", file_name); return 0; memcpy(&imgp->width, bmp_header_buf + 18, sizeof(bmp_width)); memcpy(&imgp->height, bmp_header_buf + 22, sizeof(bmp_height)); memcpy(&bmp_color, bmp_header_buf + 28, sizeof(bmp_color)); if(bmp_color!= 24) { printf("error: bmp_color = %d is not implemented in this program.\n", bmp_color); return 0; if(imgp->width > MAX_WIDTH) { printf("error: bmp_width = %ld > %d = MAX_WIDTH\n", imgp->width, MAX_WIDTH); return 0; if(imgp->height > MAX_HEIGHT) { printf("error: bmp_height = %ld > %d = MAX_HEIGHT\n", imgp->height, MAX_HEIGHT); return 0; if(imgp->height < 0) { printf("error hight is under 0\n"); return 0; printf("finished checking file format\n"); real_width = imgp->width * 3 + imgp->width % 4;//calculate real width to fit 4 byte border if((bmp_data = (unsigned char *)calloc(real_width, sizeof(unsigned char))) == NULL) { printf("eroor: memory allocation failed for bmp_data\n"); return 0; printf("reading data...\n"); for(int i = 0; i < imgp->height; i++) { fread(bmp_data, 1, real_width, bmp_file); for(int j = 0; j < imgp->width; j++) { imgp->data[imgp->height-i-1][j].b = bmp_data[j*3]; imgp->data[imgp->height-i-1][j].g = bmp_data[j*3+1]; imgp->data[imgp->height-i-1][j].r = bmp_data[j*3+2]; imgp->data[imgp->height-i-1][j].sum = bmp_data[j*3] + bmp_data[j*3+1] + bmp_data[j*3+2]; printf("finished Reading data\n"); printf("please wait a few seconds...\n"); free(bmp_data); fclose(bmp_file); return 1; int main() { FILE *color_data_file; FILE *out_put_data_file; img *receiver_data; receiver_data = (img *)malloc(sizeof(img)); char file_name[100]; // Get file name printf("drag and drop a bmp picture which you want to convert\n"); printf("and push enter key if I don t say start opening\n"); // If the name of picture have \n or ", it will be failed. scanf("%s", file_name); if(!readbmp(file_name, receiver_data)) { //unsuccess return -1; return 0; // 27

33 3 72 Hinata Hinata 2 4 JOI( ) Web ( ) ( ) Ruby 3.2 S S S i S "ABCDEF" "CDEF" "BCDEF" 1 i "ABCDEF" "ABC" "ABCDE" 3.3 ( ) S W S W 1 S 1 O( W ) S O( S W ) S W def brute_force(s, w) match_index = [] 0.upto(s.size - w.size) do i match = true 0.upto(w.size - 1) do j if s[i + j]!= w[j] match = false break end List 3.1: 28

34 3 3.4 KMP end match_index.push(i) if match end match_index end 3.4 KMP S "BABABABABDC" W "ABABD" B A B A B A B A B D C 1 A 2 A B A B D 3 A 4 A B A B D 5 A 6 A B A B D 7 A 8 A B A 9 A 10 A 11 A 3.1: 1 W i i W W i "AB" 2 "AB" "AB" i 3.1: i i t[i] "ABAB" "D" t[4] 2 "ABAB" "AB" 29

35 3 3.5 B A B A B A B A B D C 1 A 2 A B A B D 3 A B A B D 4 A B A B D 5 A 3.2: KMP def kmp(s, w) match_index = [] # t = create_table(w) i = 0 # S j = 0 # W while i + j < s.size if s[i + j] == w[j] # j += 1 if j == w.size # match_index.push(i) # i = i + j - t[j - 1] # j = t[j - 1] i, j = i + j - t[j - 1], t[j - 1] end elsif j == 0 # 1 i += 1 else i, j = i + j - t[j - 1], t[j - 1] end end match_index end List 3.2: KMP ( ) 3.5 S i 0 S 1 1 i 1 S S S S "abracadabra" "bra" "bra" "bra" 2 9 class SuffixArray attr_reader :sa def = = Array.new(str.size) { i { i, j str[i..-1] <=> str[j..-1] end end List 3.3: 30

36 : 11 a 8 abra 1 abracadabra 4 acadabra 6 adabra 9 bra 2 bracadabra 5 cadabra 7 dabra 10 ra 3 racadabra p SuffixArray.new("abracadabra").sa # [10, 7, 0, 3, 5, 8, 1, 4, 6, 9, 2] [0,1,2,3,...] O( S log S ) 1 O( S ) O( S 2 log S ) SA-IS O( S ) Multi-key quicksort Multi-key quicksort 9 ( ) "abracadabra" abracadabra bracadabra racadabra acadabra cadabra adabra dabra abra bra ra a ( adabra) 1 a abracadabra acadabra adabra abra a bracadabra racadabra cadabra dabra bra ra a 2 abracadabra 31

37 3 3.5 [a] [a]bracadabra [a]bra [a]cadabra [a]dabra a 1 1 bracadabra bracadabra bra racadabra cadabra dabra ra O(1) O( S log S ) class String def at_banpei(index) if self[index].nil? "\0" else self[index] end end end class SuffixArray attr_reader :sa def = = Array.new(str.size) { i = end # n def qsort_sa(n, array) if array.size == 0 return array end if array.size == 1 return array end pivot = array.sample before = [] # same = [] # n after = [] # array.each do index + index) + pivot) before.push(index) + index) + pivot) same.push(index) else after.push(index) end end List 3.4: qsort_sa(n, before).concat(qsort_sa(n + 1, same), qsort_sa(n, after)) end end p SuffixArray.new("abracadabra").sa

38 LaTeX 33

39 4!VR3(00) 74 harady harady( ) 3... VR ( ) Unity+Oculus 3(00*4 ) VR (Oculus,VIVE...) (Unity,Unreal Engine...) VR Unity Unity 4 ( ) 4.2 & 4.3? VR?w 34

40 第 4 章 簡単!VR3(00) 分クッキング 4.4 下拵え 捕食者が取りに来る ぐらいでしょうか 書いてから気付きましたが ただの回転寿司ですね これらの実装はプログラミングの項にまとめます 4.4 下拵え 制作を開始する前に少し準備が必要です まず VR 対応する Unity の Project 側の設定をしなくてはなりません これは簡単 で 上のメニューバーから Edit ProjectSettings Player Other Settings Virtual Realty supported にチェックを入れ るだけです Oculus を接続していたらおそらく自動で認識されます あと Oculus の公式が配布している OculusPlatform と OVR と OvrAvatar を Unity にインポートして下さい これらの詳しい 使い方はググって... 一応 OvrAvatar の使い方だけ説明すると OvrAvatar Content Prefabs LocalAvatar をヒエラル キーにコピーすればよいです カメラには OVR Camera Rig と OVR Manager をアタッチします 4.5 モデルが無いと始まらないよ! いざ制作スタート!... モデルが 無い... 3D モデルが無いゲームを 3D ゲームと呼んでいいのか?断じて否だ! はい というわけでまずモデルを用意するところから始めましょう 自分の欲しい 3D モデルは Web のフリーモデルや Unity の Asset Store を探せば大抵見つかりますが 探すのに時間が掛かるし 目的のモデルが見つかるとも限りません そんな時は自 分でモデルを用意してしまいましょう!(嘘つけ絶対こっちのほうが時間掛かるやろ) モデル制作は Blender というフリーソフトを使って行いました Blender の使い方は kota 氏が部誌にまとめていますが皿とレー ンの作り方を大雑把にまとめると 皿 断面の半分を作ってスクリューモディファイアで 1 周し それに再分割曲面モディファイアを適用した... んだと思います 覚え てません... テクスチャは UV 展開して然るべき場所にネットで見つけた六角形の画像を加工して貼り付けました 35

41 第 4 章 簡単!VR3(00) 分クッキング 4.6 どこに置くの? レーン 直線部分と円周部分を分けて作りました 円周部分の作り方は皿と同じです テクスチャはめんどくさかったので UV 展開せ ず Blender のマテリアル割り当て機能を使いました 完成したらオブジェクトの原点?(Pivot) を Ctrl+Alt+Shift+C で重心に動かしましょう これを怠ると Unity での作業がとて もやりにくくなります Blender を使う上で覚えておいたほうが良いショートカットがいくつかあります A キーや UnDo の Ctrl+Z や ReDo の Ctrl+Shift+Z などは必須だと思います 他にもたくさんあるのでググるなりなんなりして下さい できた 3D モデルを.fbx でメッシュのみエクスポートしておきます (.blend のままでも良いみたいなのですが ライトなどが くっついてきて邪魔だったので.fbx にしました) ここで問題になるのが座標系です Blender は右手座標系の Z-up Unity は左 手座標系の Y-up なので Blender で作ったモデルをそのままエクスポートすると Unity にインポートする際に向きが変わってしま います エクスポートするときに左下のメニューで前方を Z 上を Y に設定し トランスフォームを適用にチェックを入れましょ う これをしないと後々少しめんどくさいことになります 4.6 どこに置くの? さぁ Unity を使うぞ!... どうやって画面を作るんだ... Unity を使ったゲーム制作は まずモデルを配置するところから始まります まずは Unity のメニューバーの GameObject 3D Object Cube で立方体を作りましょう こいつを拡大して床にします このままでは白色 1 色で味気ないのでテクスチャを 設定します Asset Store で見つけたフリーの木の床のテクスチャを使いました 床ができたら次はレーンの配置です 先程作ったレーンを Unity にインポートして (0,~,0) に置きます Y 座標は上下を表すの で適宜調整しましょう インポートする際はモデルとテクスチャを一緒にインポートしましょう そうしないとモデルにテクス チャがつきません (多分) レーンが置けたら次は皿を設置します 皿を動かすプログラムの関係で円周部と直線部の境目に置きました ここで僕は気付き ました なんか皿がのっぺりしてる... 36

42 第 4 章 簡単!VR3(00) 分クッキング 4.7 No Programming No Creating game ~とある似非プログラマーの死~ この問題の解決には少し時間がかかりました Blender 側でマテリアルをいじっても全然反映されないのです 考えてみるとこ れは当たり前で Blender で設定しているのはあくまで Blender でレンダリングする際の設定なので この設定が Unity に反映さ れる訳がないのです という訳で Unity 側でマテリアルを編集しましょう めでたく皿が光るようになりました やれやれ やっとできた... ダメでした ちょっと前に書いた Blender のエクスポート設 定を知らなかった自分は普通に皿を回転させて使っていたのです ここに大きな罠が潜んでいて Unity において回転されたオブ ジェクトの x,y,z 軸は回転する前と角度が変わってしまうのです モデルをもう一度エクスポートし直せばいいのですが そうと 知らなかった当時の僕は皿のモデルの親に Empty を作り Empty を回転させることで解決しました この問題はこのあと腕を実 装するときにも再び発生します 何はともあれひとまず問題は解決しました あとは適当に壁や天井を作りましょう ここは本質ではないので手抜きです 天井を設置すると太陽光 (最初からある Directional Light, 平行光線) が通らなくなり画面が暗くなります そこで天井の中心付 近に Point Light を 1 個設置しました これで一通り配置できました お次はプログラミングです 一番面倒 というかこれが本編かもしれません 4.7 No Programming No Creating game ~とある似非プログラマーの死~ おい このゲーム動かねぇぞ! 当たり前だろ プログラム 1 個も書いてないんだぞ! はい プログラムのないゲームが動くはず がないのでプログラミングしていきましょう ちなみに言語は C#です まずはプレイヤーの移動スクリプトです 回転寿司ですのでレーンの上をレーンに沿って動く必要があります ここからはスク リプトを貼り付けて解説するスタイルで行きます ちなみにファイル名は適当です というわけで移動スクリプト... の前に一つ 37

43 4!VR3(00) 4.7 No Programming No Creating game ~ ~ class using System.Collections; using System.Collections.Generic; using UnityEngine; public class moveother : MonoBehaviour { Vector3 center; Vector3 center2; float starttime; // Use this for initialization void Start() { center = GameObject.Find("center").transform.position; center2 = center; center2.x = -center.x; starttime = Time.time; Move.cs // Update is called once per frame void Update () { if (transform.position.x > 4f) { transform.rotatearound(center2, Vector3.up, -180f / 14f * Time.deltaTime); else if (transform.position.x < -4f) { transform.rotatearound(center, Vector3.up, -180f / 14f * Time.deltaTime); else if (transform.position.z < 0) { transform.position += new Vector3(0.5f * Time.deltaTime, 0, 0); else { transform.position += new Vector3(-0.5f * Time.deltaTime, 0, 0); 3 " " public~ Unity // // Void Start() Start Start { Start Start Unity 1 Void Update() Update Update Unity 1 Update Update() if () { else if else if if () 3 () transform.position( ) X transform.rotatearound() center 180/14 Vector3 3 Time.deltaTime Update Time.deltaTime ( ) * 38

44 4!VR3(00) 4.7 No Programming No Creating game ~ ~ Unity 3D Cylinder... eatsushi.cs public class eatsushi : MonoBehaviour { Transform arm_point; Transform dish; public GameObject arm_pf; float time; // Use this for initialization void Start() { arm_point = transform.find("arm"); dish = GameObject.Find("Main Camera").transform; Vector3 add = arm_point.transform.position; add.x = add.x + Random.Range(-0.5f, 0.5f) - 0.5f; add.y += Random.Range(-0.5f, 0.5f); arm_point.transform.position = add; arm_point.transform.lookat(dish); time = 0; Instantiate(arm_pf,arm_point.transform.position,arm_point.transform.rotation); // Update is called once per frame void Update() { time += Time.deltaTime; if (time > 5f) { Instantiate(arm_pf, arm_point.transform.position, arm_point.transform.rotation); time = 0;... Transform GameObject 1 Start Instantiate() Update 5 Start Time.time 5 0 Shot.cs public class momove : MonoBehaviour { Transform dish; // Use this for initialization float starttime; int attack; void Start () { dish = GameObject.Find("TrackingSpace/CenterEyeAnchor").transform; //transform.rotate(new Vector3(1, 0, 0) * 180); transform.lookat(dish); starttime = Time.time; attack = Random.Range(0, 4); // Update is called once per frame void Update () { if (attack == 0) normalattack(); else if (attack == 1) fastattack(); else ballisticattack(); void normalattack() { transform.lookat(dish); transform.rotate(new Vector3(1, 0, 0) * 90); 39

45 第 4 章 簡単!VR3(00) 分クッキング 4.7 No Programming No Creating game ~とある似非プログラマーの死~ transform.translate(vector3.up * Time.deltaTime * 0.75f); void fastattack() { transform.lookat(dish); transform.rotate(new Vector3(1, 0, 0) * 90); transform.translate(vector3.up * Time.deltaTime * 1f); void ballisticattackfh() { transform.translate(transform.up * Time.deltaTime * 1.5f); void ballisticattacklh() { transform.lookat(dish); transform.rotate(new Vector3(1, 0, 0) * 90); transform.translate(vector3.up * Time.deltaTime * 2f); void ballisticattack() { if (Time.time - starttime < 3f) { ballisticattackfh(); else { ballisticattacklh(); 長い... この関数は腕自体にアタッチします 生成するスクリプトから制御しようと思ったのですが 複数生成されたオブジェ クトのそれぞれに個別の処理をすることができなかったので 腕自体にアタッチしました 結果的にこのほうがコードが書きやす くなってると思います 腕には 3 種類の飛ばし方を設定しました Start 関数内でランダムに切り替えています また Transform 型の dish に VR の 目を指定し そこをめがけて腕が飛ぶようにしています この仕様によって目の前に腕が迫ってくる演出ができます 3 種類それぞれの説明をする前に 1 つだけ 各関数のどれも 移動する前に Rotate していたり 移動の方向もオブジェクトに対 する前方ではなく上方になっています ここには大きな罠 (?) が潜んでいて Unity の円柱はもともと前方が側面になっているの です (多分) 腕の親に Empty を設定して この Empty を回せば解決する気がするのですが 実験している時間がなかったのでこ のような形になっています 40

46 4!VR3(00) 4.7 No Programming No Creating game ~ ~ 3 normalattack normal Attack dish( ) ( ) 0.75 fastattack fast Attack normalattack 1 ballisticattack ballisticattackfh ballisticattacklh 3 ballisticattackfh 1.5 ballisticattacklh 2 & 2 & using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.VR; public class hit : MonoBehaviour { float vl; Vector3 dif; Vector3 dif1; Rigidbody rb; AudioClip sound; die Die; int score = 0; // Use this for initialization void Start () { rb = this.getcomponent<rigidbody> (); dif = InputTracking.GetLocalPosition(VRNode.RightHand); sound = GetComponent<AudioSource>().clip; Die = GameObject.Find("CenterEyeAnchor").GetComponent<die>(); void OnTriggerEnter(Collider other) { if (other.gameobject.tag == "enemy") { Destroy(other.gameObject); if (vl > 2f) { Ddie(); GetComponent<AudioSource>().PlayOneShot(sound); hit.cs // Update is called once per frame void Update () { dif1 = InputTracking.GetLocalPosition(VRNode.RightHand) - dif; vl = Vector3.Magnitude(dif1); vl = vl / Time.deltaTime; dif = InputTracking.GetLocalPosition(VRNode.RightHand); void Ddie() { Die.combo++; Die.score += Die.scorep; Die.hit = 0; 41

47 4!VR3(00) 4.7 No Programming No Creating game ~ ~ die.cs public class die : MonoBehaviour { public int hit = 0; public int combo = 0; public int scorep = 2000; public int score = 0; // Use this for initialization void Start () { void OnTriggerEnter(Collider other) { if (other.gameobject.tag == "enemy") { hit++; Destroy(other.gameObject); // Update is called once per frame void Update () { if (hit >= 6) { hit = 0; combo = 0; if (combo >= 5) { scorep += 10000; ( ) RightHand LeftHand VR using UnityEngine.VR Asset Store (OvrAvatar )Tracking Space RightHandAnchor Rigidbody die Rigidbody Unity die die.cs( ) Start die Die CenterEyeAnchor( ) die.cs.getcomponent< >() GameObject ( this ) GameObject.Find(" ") GameObject dif ( ) OnTriggerEnter Collider Rigidbody () other tag( ) enemy if Ddie Ddie die.cs combo hit (dif1) 1 (dif) 3 Time.deltaTime Time.deltaTime = / Vector3.Magnitude() sprt(x*x + y*y + z*z) 42

48 4!VR3(00) 4.7 No Programming No Creating game ~ ~ : 3 RightHandAnchor Unity Unity Oculus Update OnTriggerEnter CenterEyeAnchor combo scorep combo score 3 public hit.cs 3 public ( ) hit hit 6 hit.cs Ddie hit 0 6 Canvas WorldSpace Image Text 2 Text Canvas Scaler Dynamic Pixel Per Unit Score score Canvas using System.Collections; using System.Collections.Generic; using UnityEngine.UI; NowScore.cs 43

49 4!VR3(00) 4.8 using UnityEngine; public class NowScore : MonoBehaviour { Text targettext; die Die; // Use this for initialization void Start () { targettext = GetComponent<Text>(); Die = GameObject.Find("CenterEyeAnchor").GetComponent<die>(); // Update is called once per frame void Update () { targettext.text = Die.score.ToString(); Text Text using UnityEngine.UI Text targettext Start Text GameObject Text ( ) Die CenterEyeAnchor die targettext.text(targettext ) Die.score Die.score int( ) targettext.text string( ) Die.score ToString() Green Energy MKSD-UltraLight PlayerPrefs 4.8?VR3(00*4)... VR 44

50 4!VR3(00) 4.8 ( w) Unity Blender Google... (?)... Neutral (?) er... ( )! 45

51 (?) (?) Python ( ) ( ) Python : Python import 5.2 Python Python Anaconda Anaconda 2 3 (Python2 ) macos Linux,Windows Subsystem for Linux Linux 46

52 5 5.3 Python sudo apt-get install python3 python3-pip pip Python macos Homebrew macos Homebrew /usr/bin/ruby -e "$(curl -fssl Python brew install python3 5.3 Python Python Python3 Python ( ) python( python3) Helloworld.py print( Hello,world! ) 47

53 5 5.4 C:\Users\taizo>python Helloworld.py Hello,world! 5.4 os Python FindFile.py 1 #! python3 2 # -*- coding: utf-8 -*- 3 4 import os 5 import sys 6 7 folder = sys.argv[1] 8 extension = sys.argv[2] 9 #folder extension 10 for foldername, subfolders, filenames in os.walk(folder): 11 for filename in filenames: 12 if filename.lower().endswith(extension):# extension 13 print(os.path.join(foldername, filename))# 2 Python sys sys import sys.argv 1 import sys 2 for i in sys.argv: 3 print(i) argv.py C:\Users\taizo>python argv.py a b c argv.py a b c sys.argv os.walk for 3 os.path.join OS 12~13 os.walk extension( extension) lower 48

54 5 5.5 Web C jpg python (FindFile.py ) C:// jpg : C:\Users C:\Users npca.png npca.png c:\users\npca.png 5.5 Web Web & Web (Crawling) (Scraping) Google 1 #! python3 2 # -*- coding: utf-8 -*- 3 4 import requests 5 import bs4 6 import smtplib 7 from .mime.text import MIMEText 8 from .header import Header 9 10 percent = 70 # percent url = requests.get( ) # url URL 13 parse = bs4.beautifulsoup(url.text, "lxml") # parse url lxml HTML 14 probability = parse.select(.rain-probability )[0] 15 if int(probability.select( td )[1].text[0]) >= percent or int(probability.select( td )[2].text[0]) >= percent: 16 letter = 17 else: 18 letter = charset = iso-2022-jp 21 message = MIMEText(letter, plain, charset) 22 message[ Subject ] = Header(.encode(charset), charset) 23 smtp_obj = smtplib.smtp( smtp.gmail.com, 587) 24 smtp_obj.ehlo() 25 smtp_obj.starttls() 26 smtp_obj.login( FROM, PASSWORD ) 27 smtp_obj.sendmail( FROM, TO, message.as_string()) 49

55 5 5.5 Web 28 smtp_obj.quit() 12~15 HTML 20~28 requests web requests.get URL bs4 bs4 BeautifulSoup4 BeautifulSoup4 HTML bs4.beautifulsoup HTML ( ) lxml HTML (pip install lxml ) smtplib SMTP(Simple Mail Transfer Protocol) smtplib.smtp smpt Gmail smtp TLS 587 smtplib.ehlo smtp_obj.starttls smtp_obj.quit TLS smtp_obj.login Google smtp_obj.sendmail FROM TO MIMEText Header as_string MIMEText Header 12~15 HTML tenki.jp 50

56 5 5.5 Web : tenki.jp ( Ctrl+U ) rain-probability select (. ) : tenki.jp 51

57 5 5.5 Web rain-probability td 2 3 td % 2 (6~12 12~18 ) percent 7 ) ( ) %* OK API API(Application Programming Interface) (Wikipedia ) API Twitter YouTube Twitter API Twitter Twitter SNS API URL Twitter API Twitter API Twitter ( Create New App Callback URL Keys and Access Tokens Create my access token 1 #!python3 2 # -*- coding: utf-8 -*- 3 from requests_oauthlib import OAuth1Session 4 import os 5 import time 6 import shelve 7 import requests 8 9 file = shelve.open( lasttweet ) 10 lasttweet = file[ lasttweet ] # CONSUMER_KEY = os.environ[ KEY ] 13 CONSUMER_SECRET = os.environ[ SECRET ] 14 ACCESS_TOKEN = os.environ[ ACCESS_TOKEN ] 15 ACCESS_TOKEN_SECRET = os.environ[ ACCESS_TOKEN_SECRET ] twitter = OAuth1Session(CONSUMER_KEY, 18 client_secret=consumer_secret, 19 resource_owner_key=access_token, 20 resource_owner_secret=access_token_secret) 52

58 5 5.5 Web response = twitter.get( + lasttweet + &count=300& exclude_replies=true&include_rts=false ) for tweet in response.json(): 25 try: 26 for image in tweet[ extended_entities ][ media ]: 27 image_url = image[ media_url ] 28 print(image_url) 29 image = requests.get(image_url) 30 image.raise_for_status() 31 image_file = open(os.path.join(, os.path.basename(image_url)), wb ) 32 for chunk in image.iter_content(100000): 33 image_file.write(chunk) 34 image_file.close() 35 time.sleep(5) 36 except: 37 pass file.close() Twitter 22 24~37 from requests_oauthlib import OAuth1Session Twitter API OAuth OAuth shelve shelve shelve Python ID lasttweet open close lasttweet import shelve file = shelve.open( lasttweet ) file[ lasttweet ] = file.close() Twitter os.environ json 5.1 screen_name since_id count exclude_replies include_rts (@ ) ID true false 24~37 try~except try except try 53

59 5 5.5 Web json URL extended_entities media media_url 29~34 raise_for_status 31= ( ) 54

60 5 5.5 Web YouTube API YouTube Google API URL YouTube API YouTubeAPI Google API Console( API YouTube Data API v3 API YouTube 1 from apiclient.discovery import build 2 import webbrowser 3 import datetime 4 import shelve 5 import os 6 7 file = shelve.open( begintime ) 8 begindate = datetime.datetime(int(file[ year ]), int(file[ month ]), int(file[ day ]), nt(file[ hour ]), int(file[ minute ]), int(file[ second ])) 9 nowdate = datetime.datetime.now() youtube = build( youtube, v3,developerkey=os.environ[ GOOGLE_KEY ]) 12 search = youtube.subscriptions().list(part= snippet, channelid= ID ).execute() def getchannel(info): 15 for channel in info[ items ]: 16 getmovie(channel[ snippet ][ resourceid ][ channelid ]) 17 if( nextpagetoken in info.keys()): 18 nextpage = youtube.subscriptions().list(part= snippet, channelid= ID, pagetoken = info[ nextpagetoken ]).execute() 19 channelname(nextpage) def getmovie(info): 22 channel = youtube.channels().list(part= contentdetails, id=info).execute() 23 uploads = youtube.playlistitems().list(part= snippet, playlistid=channel[ items ][0][ contentdetails ][ relatedplaylists ][ uploads ], maxresults=50).execute() 24 for movie in uploads[ items ]: 25 moviedate = datetime.datetime.strptime(movie[ snippet ][ publishedat ], %Y-%m-%dT%H:%M:%S.000Z ) 26 moviedate += datetime.timedelta(hours=9) 27 if moviedate > begindate: 28 webbrowser.open( + movie[ snippet ][ resourceid ][ videoid ]) getchannel(search) file[ year ] = nowdate.year 33 file[ month ] = nowdate.month 34 file[ day ] = nowdate.day 35 file[ hour ] = nowdate.hour 36 file[ minute ] = nowdate.minute 37 file[ second ] = nowdate.second file.close() from apiclient.discovery import build Python Google API Client for Python Google API pip install google-api-python-client webbrowser URL 55

61 5 5.5 Web datetime datetime datetime year month day hour minute second microsecond shelve shelve YouTube API YouTube API 10 build API API subscriptions().list part channelid ID (YouTube URL ID channel ) execute() json getchannel URL subscriptions().list items nextpagetoken subscriptions().list pagetoken 2 ID getmovie getmovie channels.list() part id ID items contentdetails relatedplaylists uploads ID playlistitems().list part playlistid ID maxresults 1 items snippet publishedat 56

62 5 5.6 ( T10:51:56.000Z) datetime datetime strptime datetime 9 9 shelve (?)! : ( ) 5.6 Web 57

63 Al Sweigart (2017) Python (2016) Python Twitter API YouTube API 58

64 Mineraft 6.2 & NPCA (Mod ) Firefox ( Firefox ) Firefox Web Firefox Atom ( ) 59

65 DL Eclipce Eclipce ( ) OK Windows java FirstPlugin java FirstPlugin Java jar ( ) spigot 6.1: java scr first.plugin FirstPlugin JavaPlugin JavaPlugin-org.bukkit.plugin.java OK 60

66 : / ondisable() onenable() OK 6.3: ondisable onenable ondiable() onenable() FirstPlugin plugin.yml plugin.yml name: FirstPlugin version: main: first.plugin.firstplugin plugin.yml 6.4: 61

67 6 6.5 FirstPlugin JAR 6.5: JAR.classpath.project plugin.yml plugin FirstPlugin.jar FirstPlugin.jar 6.6: pl FirstPlugin! 62

68 : 6.7: onenable getcommand("first").setexecutor(new FirstCommand()); first Firstcommand new FirstCommand FirstCommand FirstCommand first getcommand setexcutor this getcommand this public class FirstPlugin extends JavaPlugin public class FirstPlugin extends JavaPlugin implements CommandExecutor oncommand oncommand oncommand oncommand sender,command,label,args[] 4 63

69 6 6.6 sender Player command label args[] /test a b c label a args[0] b args[1] c arg0,arg1,arg2,arg3[] sender,command,label,args[] sender,command,label,args[] 6.8: oncommand oncommand boolean true false plugin.yml oncommand 6.9: console Java "instanceof" sender Player sender return false Player Player player sender player player = (Player)sender 64

70 6 6.6 Player Player Player Ctrl+Shift+O OK ItemStack item ItemStack Ctrl+Shift+O ItemStack 2 org.bukkit : item ItemStack new ItemStack item; item = new ItemStack(Material.DIAMOND); Inventory inv player inv player player.getinventory() Inventory inv ; inv = player.getinventory(); additem() setitem() 2 additem setitem setitem setitem setitem(, ) 65

71 : 0~35 36 For for(int i=0;i<36;i++){ inv.setitem(i,item); ( ).sendmessage(" ") player player.sendmessage(" ") 66

72 : : Player Player player = (Player)sender ====[/column] plugin.yml Enable plugin.yml plugin.yml commands: : plugin.yml : plugin.yml plugin.yml 67

73 6 6.6 name pl plugin jar version /versino < > main description /version < > commands commands < > (/) description help usage oncommand false <command> <command> default permission permission default true( ),false( ),op(op ),notop(op ) permission plugin.yml pl 68

74 6 6.7 config 6.14:! 6.7 config config.yml plugin.yml config.yml 6.15: config.yml 69

75 6 6.7 config config.yml config onenable plugin/< > config.yml savedefaultconfig(); this this.savedefaultconfig(); savedefaultconfig() config.yml config.yml plugin/< > jar config.yml config.yml config FileConfiguration config getconfig() config 2 FileConfiguration config = getconfig() getconfig config < >: < (TRUE/FALSE)> < > config.getboolean(" "); getboolean < > true false getboolean() config_test boolean config_test = config.getboolean("first"); : get****() get****() getboolean(string),getint(string),getstring(string) getlist(string),getstringlist(string) getlogger Enable true false1 if(config_test){ getlogger().info("true"); else{ getlogger().info("false"); true false this.savedefaultconfig(); FileConfiguration config = getconfig(); boolean config_test = config.getboolean("first"); if(config_test){ getlogger().info("true"); else{ getlogger().info("false"); onenable config.yml 70

76 : TRUE 6.17: TRUE plugin/firstplugin config.yml first: true first: false...? 6.18: FALSE false

77 7 blender 74 kota kota1024 3DCG CG blender 7.2 3DCG is easy! 3DCG ) blender 3d 7.1: 3d 5 3 3DCG 1 72

78 7 blender 7.2 3DCG is easy! 7.2:... 3DCG... 1 Ctrl B ( ) ( ) ( )? A Ctrl+R 2 1/3 2 73

79 7 blender 7.2 3DCG is easy! 7.3: + 9 ok ( ) 5 ( ) 9 7.4:? ( : ) 25 ( : )

80 7 blender : shift+ or Alt+E 1 7.6: 7.3 3DCG 3DCG 3DCG blender 3DCG 75

81 ( ) w 1 x 1 + w 2 x 2 ( w 1, w 2 ) ( b ) 0 1 y y = { 1 (w 1 x 1 + w 2 x 2 + b > 0) 0 (w 1 x 1 + w 2 x 2 + b 0) 76

82 python AND AND : AND x 1 x 2 y w 1 = 0.5, w 2 = 0.5, b = 0.7 python m, n = list(map(int, input().split())) def AND(x1, x2): w1, w2, b = 0.5, 0.5, -0.7 t = w1 * x1 + w2 * x2 + b if t > 0: return 1 else: return 0 print(and(m, n)) List 8.1: AND.py NAND, OR AND NAND OR 8.2: NAND x 1 x 2 y : OR x 1 x 2 y NAND Not AND AND 2 NAND w 1 = 0.5, w 2 = 0.5, b = 0.7 OR 77

83 8 8.1 w 1 = 0.5, w 2 = 0.5, b = 0.2 AND XOR XOR 8.4: XOR x 1 x 2 y XOR AND NAND OR 8.5: XOR x 1 x 2 t 1 t 2 y AND NAND OR XOR python m, n = list(map(int, input().split())) def AND(x1, x2): w1, w2, b = 0.5, 0.5, -0.7 t = w1 * x1 + w2 * x2 + b List 8.2: XOR.py 78

84 8 8.2 if t > 0: return 1 else: return 0 def NAND(x1, x2): w1, w2, b = -0.5, -0.5, 0.7 t = w1 * x1 + w2 * x2 + b if t > 0: return 1 else: return 0 def OR(x1, x2): w1, w2, b = 0.5, 0.5, -0.2 t = w1 * x1 + w2 * x2 + b if t > 0: return 1 else: return 0 def XOR(x1, x2): t1 = NAND(x1, x2) t2 = OR(x1, x2) out = AND(t1, t2) return out print(xor(m, n)) XOR XOR 3 n, m = list(map(int, input().split())) if (n or m) and not(n and m): print(1) else: print(0) List 8.3: _XOR.py

85 x 1 x 4 4 u u = w 1 x 1 + w 2 x 2 + w 3 x 3 + w 4 x 4 + b z f u z = f(u) I ( z j ) J (i = 1, 2,... I, j = 1, 2,... J) I u j = w ji x i + b j i z j = f(u j ) 80

86 8 8.2 i j w ji u = b = u 1 u 2.. u J b 1 b 2... b J u = Wx + b z = f(u) w 11 w w 1I, W = w 21 w w 2I , x = w J1 w J2... w JI z 1 f(u 1 ), z = z 2.., f(u) = f(u 2 ). z J f(u J ) x 1 x 2.. x I, Sigmoid Logistic f(x) = e x (0, 1) x python def sigmoid(x): return 1 / (1 + np.exp(-x)) List 8.4: Sigmoid.py f(x) = tanh(x) ( 1, 1) numpy ReLU ( ) f(x) = max(x, 0) python f(x) = x 81

87 8 8.3 Softmax Softmax K k z k = exp(u k) K j exp(u j) Softmax K k z k = 1 1 z k = 0.53 k 53% Softmax Softmax def _Softmax(x): exp_x = np.exp(x) sum_exp = np.sum(exp_x) y = exp_x / sum_exp return y List 8.5: _Softmax.py z k = exp(u k) K j exp(u j) = C exp(u k) C K j exp(u j) = exp(u k + log C) K j exp(u j + log C) exp(u k + C ) K j exp(u j + C ) C log C C C u j (j = 1, 2,... K) C Softmax def softmax(x): c = np.max(x) exp_a = np.exp(x - c) sum_exp = np.sum(exp_a) y = exp_a / sum_exp return y List 8.6: Softmax.py f(x) = ax ( a ) 3 f(f(f(x))) = a a a x a 3 = b h(x) = bx y k t k 2 E = 1 (y k t k ) k 82

88 8 8.3 List 8.7: mean_squared.py def mean_squared(y, t): return 0.5 * np.sum( (y - t)*2 ) y k t k E = k t k log y k t k 1 0 ( one-hot ) E E def cross_entropy return -np.sum( t * np.log(y + 1e-7) ) List 8.8: cross_entropy.py np.log np.log(0) np.log(0) -inf E(w) ( w ) w E = E(w) w = E(w) w 1 E(w) w 2. E(w) w m w m w w w w η E η N n = 1, 2,... N 1 E n (w) N E(w) = E n (w) E(w) n 83

89 ( E n (w) ) E(w) E 1 ( E n (w) ) E n w w η E n 1 1 ( ) 1 ( ) w w η 1 N N E n n N 10 ~ f, g df dx = df dg dg dx f 1 g f x = k f g g x ( ) E E (l) l u (l) j w (l) ji w (l) ji 84

90 8 8.4 E w (l) ji = E u (l) j u (l) j w (l) ji u (l) j z (l) j u (l+1) k E u ( ) k E u (l) j = k E u (l+1) k u (l+1) k u (l) j δ (l) j = E u (l) j δ (l) j = k δ (l+1) u (l+1) k k u (l) j u (l+1) k = m w(l+1) km z(l) m = m w(l+1) km f(u(l) m ) u(l+1) k u (l) j = w (l+1) kj f (u (l) j ) δ (l) j = k δ (l+1) k w (l+1) kj f (u (l) j ) u(l) j w (l) ji 85

91 8 8.4 u (l) j z (l 1) i w (l) ji (i = 1, 2...) u (l) j = i z (l 1) i w (l) ji u (l) j = z (l 1) w (l) i ji E w (l) ji = δ (l) j z(l 1) i δ δ ( L ) δ (L) k δ (L) k = E u (L) k Softmax δ δ (L) k = m t m log y m u (L) k m t m = exp u(l) m i exp u(l) i u (L) k =... = y k t k w ji ( ) (j, i) W j j b X l U (l) Z (l) Z (1) = X 86

92 8 8.4 U (l) = W (l) Z (l 1) + b (l) Z (l) = f (l) (U (l) ) f (l) ( ) 2 δ (l) j (l) (l) (l) = f (l) (U (l) ) (W (l+1)t (l+1) ) A = a ij, B = b ij A B (i, j) a ij b ij L (L) = Y T Y X Y T (l) w (l) ji W (l) b (l) j N k E nw (j, i) j b (l) 2 W (l) = (l) Z (l 1)T b (l) = (l) W (l) W (l) ηw (l) b (l) b (l) ηw (l) python MNIST MNIST 0 ~ ( )( ) ReLU Softmax ( ) 1 Deep Learning ReLU import numpy as np def softmax(x): if x.ndim == 2: x = x.t List 8.9: functions.py 87

93 8 8.4 x = x - np.max(x, axis=0) y = np.exp(x) / np.sum(np.exp(x), axis=0) return y.t x = x - np.max(x) return np.exp(x) / np.sum(np.exp(x)) def cross_entropy(y, t): if y.ndim == 1: t = t.reshape(1, t.size) y = y.reshape(1, y.size) if t.size == y.size: t = t.argmax(axis = 1) batch_size = y.shape[0] return -np.sum(np.log(y[np.arange(batch_size), t] + 1e-7)) / batch_size : Softmax Softmax 1 1 Affine ReluLayer SoftmaxLossLayer import numpy as np from functions import * class ReluLayer: def init (self): self.mask = None def forward(self, x): self.mask = (x <= 0) out = x.copy() out[self.mask] = 0 return out def backward(self, dout): dout[self.mask] = 0 dx = dout return dx class AffineLayer: def init (self, W, b): self.w = W self.b = b self.x = None self.dw = None self.db = None def forward(self, x): self.x = x out = np.dot(self.x, self.w) + self.b return out def backward(self, dout): dx = np.dot(dout, self.w.t) self.dw = np.dot(self.x.t, dout) self.db = np.sum(dout, axis = 0) return dx class SoftmaxLossLayer: def init (self): self.loss = None self.y = None self.t = None def forward(self, x, t): self.t = t self.y = softmax(x) self.loss = cross_entropy(self.y, self.t) List 8.10: all_layers.py 88

94 8 8.4 return self.loss def backward(self, dout = 1): batch_size = self.t.shape[0] dx = (self.y - self.t) / batch_size return dx OrderedDict import numpy as np from functions import * from all_layers import * from collections import OrderedDict List 8.11: network.py class TwoLayerNet: def init (self, input_size, hidden_size, output_size, weight_init_std = 0.01): self.params = { self.params["w1"] = weight_init_std * np.random.randn(input_size, hidden_size) self.params["b1"] = np.zeros(hidden_size) self.params["w2"] = weight_init_std * np.random.randn(hidden_size, output_size) self.params["b2"] = np.zeros(output_size) self.layers = OrderedDict() self.layers["affine1"] = AffineLayer(self.params["W1"], self.params["b1"]) self.layers["relu1"] = ReluLayer() self.layers["affine2"] = AffineLayer(self.params["W2"], self.params["b2"]) self.lastlayer = SoftmaxLossLayer() def predict(self, x): for layer in self.layers.values(): x = layer.forward(x) return x def loss(self, x, t): y = self.predict(x) return self.lastlayer.forward(y, t) def gradient(self, x, t): self.loss(x, t) dout = 1 dout = self.lastlayer.backward(dout) layers = list(self.layers.values()) layers.reverse() for layer in layers: dout = layer.backward(dout) grads = { grads["w1"] = self.layers["affine1"].dw grads["b1"] = self.layers["affine1"].db grads["w2"] = self.layers["affine2"].dw grads["b2"] = self.layers["affine2"].db return grads 100 import numpy as np from mn.mnist import load_mnist from networks import TwoLayerNet List 8.12: train.py (x_train, t_train), (x_test, t_test) = load_mnist(normalize = True, one_hot_label = True) network = TwoLayerNet(input_size = 784, hidden_size = 50, output_size = 10) iters_num = train_size = x_train.shape[0] batch_size = 100 learning_rate = 0.1 for i in range(iters_num): batch_mask = np.random.choice(train_size, batch_size) x_batch = x_train[batch_mask] t_batch = t_train[batch_mask] grad = network.gradient(x_batch, t_batch) for key in ("W1", "b1", "W2", "b2"): network.params[key] -= learning_rate * grad[key] 89

95 network.py accuracy def accuracy(self, x, t): y = self.predict(x) y = np.argmax(y, axis = 1) if t.ndim!= 1 : t = np.argmax(t, axis = 1) accuracy = np.sum(y == t) / float(x.shape[0]) return accuracy 1 ( ) = train.py #~ ~ train_acc_list = [] test_acc_list = [] iter_per_epoch = max(train_size / batch_size, 1) for i in range(iters_num): batch_mask = np.random.choice(train_size, batch_size) x_batch = x_train[batch_mask] t_batch = t_train[batch_mask] #~ ~ grad = network.gradient(x_batch, t_batch) for key in ("W1", "b1", "W2", "b2"): network.params[key] -= learning_rate * grad[key] if i % iter_per_epoch == 0: train_acc = network.accuracy(x_train, t_train) test_acc = network.accuracy(x_test, t_test) train_acc_list.append(train_acc) test_acc_list.append(test_acc) 90

96 Deep Learning Deep Learning NPCA 91

97 9 JOI 73 physics ( ) (3 )+ 1~3 1~3 1 JOI N X A B Y C D JOI X Y N 1 X N / A ( ) Y N / B ( ) 2 JOI N N i ( 1 i N ) i + 1 A i 1 JOI N + 1 j ( 1 j N + 1 ) j 1,2,..., j 1 JOI 1 JOI

98 9 JOI "0 1 0" " " ~6 5 5 JOI H W i j ( 1 i H, 1 j W ) A i,j A 1,1 = 0 JOI JOI JOI JOI JOI 5 2lu3 ( ) 28 ( 2) ( ) ! 334 (!!) ! 2 10~11! ( 93

99 9 JOI 9.2 JR ) JOI!? () 1 ( ( )) ( ) 2 JOIer (JOIer ) ( )! 45 & (?) ( ^^;) (?) (?) & ()?? JOIer? ( ) AtCoder JOI 2 1! ( ) 94

100 9 JOI 9.2 ( ) ( (?) )! ( ) 0 0 (!) Twitter (?) ( )! ( ) 4 80 PC JOI JOI JOI N i ( 1 i N ) T i T i + 1 JOI 1 JOI K K 1 2 JOI N 1, 2,..., N i ( 1 i N ) A i B i 1 N JOI : A max A min S S (A max A min ) 95

101 9 JOI O(1) 1~ N ( ())? ( ) ( ) 4 96

102 Hinata NPCA LaTeX Re:VIEW *1 PDF HTML 2 LaTeX2e NPCA Re:VIEW gitlab.com GitLab CI Re:VIEW GitLab CI PDF CI Slack PDF HTML *1 97

103 NPCA NPCA

NPCA部誌2018

NPCA部誌2018 5 72 5.1 72 1.5 (?) (?) Python ( ) ( ) Python : Python import 5.2 Python Python Anaconda https://www.anaconda.com/download/ Anaconda 2 3 (Python2 ) macos Linux,Windows Subsystem for Linux Linux 46 5.3

More information

NPCA部誌2018

NPCA部誌2018 1 ARKit 73 object 1.1 73 ( 1) object ARKit 1.2 ARKit ARKit AR AR AR AR( ) (Wikipedia ) AR Pokemon GO( ) AR 1 1.2 ARKit 1.1: VR AR VR VR AR ( ) ( ) ARKit AR ARKit ARKit Apple ios AR ARKit AR ios ios AR

More information

NPCA部誌2018

NPCA部誌2018 6 6.1 74 Mineraft 6.2 & 74 72 NPCA (Mod ) 1.11.2 6.3 Firefox ( Firefox ) Firefox Web Firefox Atom ( ) 59 6.4 6.4 DL Eclipce Eclipce ( ) OK Windows10 3000... 6.5 java FirstPlugin java FirstPlugin Java jar

More information

MMC Unity講座

MMC Unity講座 MMC Unity 講座 第 4 回 : ~ バーを実装 ~ 今回のおしながき 1. バーの作成 2. スクリプトの作成 3. ゲームオーバーの設定 4. ビルドする 2 今回の新概念 Constraints 列挙型 enum FixedUpdateメソッド Tag Build 3 バーの作成 4 バーの作成 Hierarchy タブの Canvas を右クリック UI Image 名前を Bar

More information

第26回_プレゼン資料_菅原(Unityはじめるよ~NavMesh基礎~)

第26回_プレゼン資料_菅原(Unityはじめるよ~NavMesh基礎~) Unity はじめるよ NavMesh 基礎 統合開発環境を内蔵したゲームエンジン http://japan.unity3d.com/ いろんな職業の が る資料なので説明を簡単にしてある部分があります 正確には本来の意味と違いますが上記理由のためです ご了承ください この資料内の 部の画像 部の 章は Unity 公式サイトから引 しています NavMeshって ナビゲーションシステムによって

More information

10/ / /30 3. ( ) 11/ 6 4. UNIX + C socket 11/13 5. ( ) C 11/20 6. http, CGI Perl 11/27 7. ( ) Perl 12/ 4 8. Windows Winsock 12/11 9. JAV

10/ / /30 3. ( ) 11/ 6 4. UNIX + C socket 11/13 5. ( ) C 11/20 6. http, CGI Perl 11/27 7. ( ) Perl 12/ 4 8. Windows Winsock 12/11 9. JAV tutimura@mist.i.u-tokyo.ac.jp kaneko@ipl.t.u-tokyo.ac.jp http://www.misojiro.t.u-tokyo.ac.jp/ tutimura/sem3/ 2002 12 11 p.1/33 10/16 1. 10/23 2. 10/30 3. ( ) 11/ 6 4. UNIX + C socket 11/13 5. ( ) C 11/20

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション Unity はじめるよ ~AssetBundle 基礎 ~ 統合開発環境を内蔵したゲームエンジン http://japan.unity3d.com/ いろんな職業の方が見る資料なので説明を簡単にしてある部分があります 正確には本来の意味と違いますが上記理由のためです ご了承ください この資料内の一部の画像 一部の文章は Unity 公式サイトから引用しています アセットバンドルって? アセットバンドルって?

More information

Java演習(4) -- 変数と型 --

Java演習(4)   -- 変数と型 -- 50 20 20 5 (20, 20) O 50 100 150 200 250 300 350 x (reserved 50 100 y 50 20 20 5 (20, 20) (1)(Blocks1.java) import javax.swing.japplet; import java.awt.graphics; (reserved public class Blocks1 extends

More information

しずおかアプリ部 Unity はじめるよ すごいよサウンド機能 実践編 統合開発環境を内蔵したゲームエンジン いろんな職業の が る資料なので説明を簡単にしてある部分があります 正確には本来の意味と違いますが上記理由のためです ご了承ください この

しずおかアプリ部 Unity はじめるよ すごいよサウンド機能 実践編 統合開発環境を内蔵したゲームエンジン   いろんな職業の が る資料なので説明を簡単にしてある部分があります 正確には本来の意味と違いますが上記理由のためです ご了承ください この Unity はじめるよ すごいよサウンド機能 実践編 統合開発環境を内蔵したゲームエンジン http://japan.unity3d.com/ いろんな職業の が る資料なので説明を簡単にしてある部分があります 正確には本来の意味と違いますが上記理由のためです ご了承ください この資料内の 部の画像 部の 章は Unity 公式サイトから引 しています AudioMixer のサンプルアプリを作る

More information

第32回_プレゼン資料_菅原(Unityはじめるよ~上半身だけ動かす2~)

第32回_プレゼン資料_菅原(Unityはじめるよ~上半身だけ動かす2~) Unity はじめるよ 上半 だけ動かす 2 統合開発環境を内蔵したゲームエンジン http://japan.unity3d.com/ いろんな職業の が る資料なので説明を簡単にしてある部分があります 正確には本来の意味と違いますが上記理由のためです ご了承ください この資料内の 部の画像 部の 章は Unity 公式サイトから引 しています 上半 だけ動かす 複雑なステートマシンを体の各部分ごとに管理することができます

More information

3Dプリンタ用CADソフト Autodesk Meshmixer入門編[日本語版]

3Dプリンタ用CADソフト Autodesk Meshmixer入門編[日本語版] ご購入はこちら. http://shop.cqpub.co.jp/hanbai 第 1 章操作メニュー ソフトウェアの立ち上げ時に表示されるトップ メニューと, 各メニューの役割について紹介します. ソフトウェアを使うにあたり, どこからスタートさせるのか確認しましょう. 最初に, 操作メニューから確認していきましょう. ソフトウェアを立ち上げると, 図 1-1 が現れます. この画面で, 大きく三つの操作メニュー

More information

新・明解Java入門

新・明解Java入門 537,... 224,... 224,... 32, 35,... 188, 216, 312 -... 38 -... 38 --... 102 --... 103 -=... 111 -classpath... 379 '... 106, 474!... 57, 97!=... 56 "... 14, 476 %... 38 %=... 111 &... 240, 247 &&... 66,

More information

スライド 1

スライド 1 グラフィックスの世界第 3 回 サイバーメディアセンター サイバーコミュニティ研究部門安福健祐 Processing によるアニメーション setup と draw void setup() size(400, 400); void draw() ellipse( mousex,mousey,100,100); void とか setup とか draw とかはじめて見る が出てきてややこしい ellipseは円描く関数でした

More information

2017 (413812)

2017 (413812) 2017 (413812) Deep Learning ( NN) 2012 Google ASIC(Application Specific Integrated Circuit: IC) 10 ASIC Deep Learning TPU(Tensor Processing Unit) NN 12 20 30 Abstract Multi-layered neural network(nn) has

More information

Condition DAQ condition condition 2 3 XML key value

Condition DAQ condition condition 2 3 XML key value Condition DAQ condition 2009 6 10 2009 7 2 2009 7 3 2010 8 3 1 2 2 condition 2 3 XML key value 3 4 4 4.1............................. 5 4.2...................... 5 5 6 6 Makefile 7 7 9 7.1 Condition.h.............................

More information

ohp03.dvi

ohp03.dvi 19 3 ( ) 2019.4.20 CS 1 (comand line arguments) Unix./a.out aa bbb ccc ( ) C main void int main(int argc, char *argv[]) {... 2 (2) argc argv argc ( ) argv (C char ) ( 1) argc 4 argv NULL. / a. o u t \0

More information

解きながら学ぶJava入門編

解きながら学ぶJava入門編 44 // class Negative { System.out.print(""); int n = stdin.nextint(); if (n < 0) System.out.println(""); -10 Ÿ 35 Ÿ 0 n if statement if ( ) if i f ( ) if n < 0 < true false true false boolean literalboolean

More information

第33回_プレゼン資料_菅原(~IKを使ってアニメーションをコントロール~)

第33回_プレゼン資料_菅原(~IKを使ってアニメーションをコントロール~) Unity はじめるよ IK を使って アニメーションをコントロール 統合開発環境を内蔵したゲームエンジン http://japan.unity3d.com/ いろんな職業の が る資料なので説明を簡単にしてある部分があります 正確には本来の意味と違いますが上記理由のためです ご了承ください この資料内の 部の画像 部の 章は Unity 公式サイトから引 しています 体の 部を別アニメーションに

More information

3 Powered by mod_perl, Apache & MySQL use Item; my $item = Item->new( id => 1, name => ' ', price => 1200,

3 Powered by mod_perl, Apache & MySQL use Item; my $item = Item->new( id => 1, name => ' ', price => 1200, WEB DB PRESS Vol.1 79 3 Powered by mod_perl, Apache & MySQL use Item; my $item = Item->new( id => 1, name => ' ', price => 1200, http://www.postgresql.org/http://www.jp.postgresql.org/ 80 WEB DB PRESS

More information

Specview Specview Specview STSCI(Space Telescope SCience Institute) VO Specview Web page htt

Specview Specview Specview STSCI(Space Telescope SCience Institute) VO Specview Web page   htt Specview Specview Specview STSCI(Space Telescope SCience Institute) VO Specview Web page http://www.stsci.edu/resources/software_hardware/specview http://specview.stsci.edu/javahelp/main.html Specview

More information

Java updated

Java updated Java 2003.07.14 updated 3 1 Java 5 1.1 Java................................. 5 1.2 Java..................................... 5 1.3 Java................................ 6 1.3.1 Java.......................

More information

Unity講座①

Unity講座① Unity 講座 1 講師 : 三回生 まいとん Unity って何 ゲームエンジン ( 統合型ゲーム開発環境 ) の一つ 3D 2D を問わずゲームを簡単に作成できる 年間 100,000$(1,200 万円 ) を超えなければ無料でゲームを出し放題 ここが凄い!Unity!! 本当に簡単にゲームが作れる ( 完成するとは言っていない ) アセットが豊富 低スペックでも動く モバイルゲーム パソコンゲームが一発で変換可能

More information

Python Speed Learning

Python   Speed Learning Python Speed Learning 1 / 76 Python 2 1 $ python 1 >>> 1 + 2 2 3 2 / 76 print : 1 print : ( ) 3 / 76 print : 1 print 1 2 print hello 3 print 1+2 4 print 7/3 5 print abs(-5*4) 4 / 76 print : 1 print 1 2

More information

2.2 Sage I 11 factor Sage Sage exit quit 1 sage : exit 2 Exiting Sage ( CPU time 0m0.06s, Wall time 2m8.71 s). 2.2 Sage Python Sage 1. Sage.sage 2. sa

2.2 Sage I 11 factor Sage Sage exit quit 1 sage : exit 2 Exiting Sage ( CPU time 0m0.06s, Wall time 2m8.71 s). 2.2 Sage Python Sage 1. Sage.sage 2. sa I 2017 11 1 SageMath SageMath( Sage ) Sage Python Sage Python Sage Maxima Maxima Sage Sage Sage Linux, Mac, Windows *1 2 Sage Sage 4 1. ( sage CUI) 2. Sage ( sage.sage ) 3. Sage ( notebook() ) 4. Sage

More information

K227 Java 2

K227 Java 2 1 K227 Java 2 3 4 5 6 Java 7 class Sample1 { public static void main (String args[]) { System.out.println( Java! ); } } 8 > javac Sample1.java 9 10 > java Sample1 Java 11 12 13 http://java.sun.com/j2se/1.5.0/ja/download.html

More information

For_Beginners_CAPL.indd

For_Beginners_CAPL.indd CAPL Vector Japan Co., Ltd. 目次 1 CAPL 03 2 CAPL 03 3 CAPL 03 4 CAPL 04 4.1 CAPL 4.2 CAPL 4.3 07 5 CAPL 08 5.1 CANoe 5.2 CANalyzer 6 CAPL 10 7 CAPL 11 7.1 CAPL 7.2 CAPL 7.3 CAPL 7.4 CAPL 16 7.5 18 8 CAPL

More information

¥×¥í¥°¥é¥ß¥ó¥°±é½¬I Exercise on Programming I [1zh] ` `%%%`#`&12_`__~~~ alse

¥×¥í¥°¥é¥ß¥ó¥°±é½¬I  Exercise on Programming I [1zh] ` `%%%`#`&12_`__~~~alse I Exercise on Programming I http://bit.ly/oitprog1 1, 2 of 14 ( RD S ) I 1, 2 of 14 1 / 44 Ruby Ruby ( RD S ) I 1, 2 of 14 2 / 44 7 5 9 2 9 3 3 2 6 5 1 3 2 5 6 4 7 8 4 5 2 7 9 6 4 7 1 3 ( RD S ) I 1, 2

More information

0.2 Button TextBox: menu tab 2

0.2 Button TextBox: menu tab 2 Specview VO 2012 2012/9/27 Specview Specview STSCI(Space Telescope SCience Institute) VO Specview Web page http://www.stsci.edu/resources/software hardware/specview http://specview.stsci.edu/javahelp/main.html

More information

Blue Asterisk template

Blue Asterisk template IBM Content Analyzer V8.4.2 TEXT MINER の新機能 大和ソフトウェア開発 2008 IBM Corporation 目次 UI カスタマイズ機能 検索条件の共有 柔軟な検索条件の設定 2 UI カスタマイズ機能 アプリケーションをカスタマイズするために Java Script ファイルおよびカスケーディングスタイルシート (CSS) ファイルの読み込み機能が提供されています

More information

New version (2.15.1) of Specview is now available Dismiss Windows Specview.bat set spv= Specview set jhome= JAVA (C:\Program Files\Java\jre<version>\

New version (2.15.1) of Specview is now available Dismiss Windows Specview.bat set spv= Specview set jhome= JAVA (C:\Program Files\Java\jre<version>\ Specview VO 2012 2012/3/26 Specview Specview STSCI(Space Telescope SCience Institute) VO Specview Web page http://www.stsci.edu/resources/software hardware/specview http://specview.stsci.edu/javahelp/main.html

More information

JavaScript の使い方

JavaScript の使い方 JavaScript Release10.5 JavaScript NXJ JavaScript JavaScript JavaScript 2 JavaScript JavaScript JavaScript NXJ JavaScript 1: JavaScript 2: JavaScript 3: JavaScript 4: 1 1: JavaScript JavaScript NXJ Static

More information

r07.dvi

r07.dvi 19 7 ( ) 2019.4.20 1 1.1 (data structure ( (dynamic data structure 1 malloc C free C (garbage collection GC C GC(conservative GC 2 1.2 data next p 3 5 7 9 p 3 5 7 9 p 3 5 7 9 1 1: (single linked list 1

More information

r03.dvi

r03.dvi 19 ( ) 019.4.0 CS 1 (comand line arguments) Unix./a.out aa bbb ccc ( ) C main void... argc argv argc ( ) argv (C char ) ( 1) argc 4 argv NULL. / a. o u t \0 a a \0 b b b \0 c c c \0 1: // argdemo1.c ---

More information

2 1 Web Java Android Java 1.2 6) Java Java 7) 6) Java Java (Swing, JavaFX) (JDBC) 7) OS 1.3 Java Java

2 1 Web Java Android Java 1.2 6) Java Java 7) 6) Java Java (Swing, JavaFX) (JDBC) 7) OS 1.3 Java Java 1 Java Java 1.1 Java 1) 2) 3) Java OS Java 1.3 4) Java Web Start Web / 5) Java C C++ Java JSP(Java Server Pages) 1) OS 2) 3) 4) Java Write Once, Run Anywhere 5) Java Web Java 2 1 Web Java Android Java

More information

ohp07.dvi

ohp07.dvi 19 7 ( ) 2019.4.20 1 (data structure) ( ) (dynamic data structure) 1 malloc C free 1 (static data structure) 2 (2) C (garbage collection GC) C GC(conservative GC) 2 2 conservative GC 3 data next p 3 5

More information

引き算アフィリ ASP 登録用の日記サイトを 作成しよう Copyright 株式会社アリウープ, All Rights Reserved. 1

引き算アフィリ ASP 登録用の日記サイトを 作成しよう Copyright 株式会社アリウープ, All Rights Reserved. 1 引き算アフィリ ASP 登録用の日記サイトを 作成しよう 1 目次 ASP 登録用の日記サイトを作成しよう... 3 日記サイト作成時のポイント... 4 (1) 子ページを5ページ分作成する... 5 (2)1 記事当たり600 文字以上書く... 6 (3) アップロードする場所はドメインのトップが理想... 7 日記サイトを作成しよう... 8 日記サイト用テンプレートをダウンロードする...

More information

Microsoft PowerPoint - Tutorial_2_upd.ppt

Microsoft PowerPoint - Tutorial_2_upd.ppt 2 Eclipse を使った Bluemix アプリケーション開発 1 ハンズオン手順 ハンズオンの概要 Eclipse から Java アプリをデプロイする 公開されているプロジェクトをインポートする インポートしたプロジェクトをBluemixにデプロイする ここでは PostgreSQL サービスを提供する ElephantSQL というサービスを使用します デプロイしたアプリケーションを確認する

More information

II ( ) prog8-1.c s1542h017%./prog8-1 1 => 35 Hiroshi 2 => 23 Koji 3 => 67 Satoshi 4 => 87 Junko 5 => 64 Ichiro 6 => 89 Mari 7 => 73 D

II ( ) prog8-1.c s1542h017%./prog8-1 1 => 35 Hiroshi 2 => 23 Koji 3 => 67 Satoshi 4 => 87 Junko 5 => 64 Ichiro 6 => 89 Mari 7 => 73 D II 8 2003 11 12 1 6 ( ) prog8-1.c s1542h017%./prog8-1 1 => 35 Hiroshi 2 => 23 Koji 3 => 67 Satoshi 4 => 87 Junko 5 => 64 Ichiro 6 => 89 Mari 7 => 73 Daisuke 8 =>. 73 Daisuke 35 Hiroshi 64 Ichiro 87 Junko

More information

メンバ変数とインスタンス

メンバ変数とインスタンス 第 1 章まずはメニューを表示しよう 実習編第一回ということで今後ゲームを 作っていく準備をします あと ソースを書いていくよー 第 1 章まずはメニューを表示しよう 1 プロジェクトの作成 ゲームを作成するにはとりあえずプロジェクトを作らないとね ゲームプログラミング講習 0.2. プロジェクトの準備 を参考にプロジェクトを準備しよう ファイル名は半角英数をお勧めします 必要な画像ファイルをダウンロードしよう

More information

Maser - User Operation Manual

Maser - User Operation Manual Maser 3 Cell Innovation User Operation Manual 2013.4.1 1 目次 1. はじめに... 3 1.1. 推奨動作環境... 3 2. データの登録... 4 2.1. プロジェクトの作成... 4 2.2. Projectへのデータのアップロード... 8 2.2.1. HTTPSでのアップロード... 8 2.2.2. SFTPでのアップロード...

More information

やさしいJavaプログラミング -Great Ideas for Java Programming サンプルPDF

やさしいJavaプログラミング -Great Ideas for Java Programming サンプルPDF pref : 2004/6/5 (11:8) pref : 2004/6/5 (11:8) pref : 2004/6/5 (11:8) 3 5 14 18 21 23 23 24 28 29 29 31 32 34 35 35 36 38 40 44 44 45 46 49 49 50 pref : 2004/6/5 (11:8) 50 51 52 54 55 56 57 58 59 60 61

More information

lifedesign_contest_No3

lifedesign_contest_No3 1 3 5 Apple Developer Program 5 AWS 8 Raspberry Pi 14 18 19 { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "sns:createplatformendpoint" ], "Resource": [ ] ] #

More information

13 Student Software TI-Nspire CX CAS TI Web TI-Nspire CX CAS Student Software ( ) 1 Student Software 37 Student Software Nspire Nspire Nspir

13 Student Software TI-Nspire CX CAS TI Web TI-Nspire CX CAS Student Software ( ) 1 Student Software 37 Student Software Nspire Nspire Nspir 13 Student Software TI-Nspire CX CAS TI Web TI-Nspire CX CAS Student Software ( ) 1 Student Software 37 Student Software 37.1 37.1 Nspire Nspire Nspire 37.1: Student Software 13 2 13 Student Software esc

More information

Java学習教材

Java学習教材 Java 2016/4/17 Java 1 Java1 : 280 : (2010/1/29) ISBN-10: 4798120987 ISBN-13: 978-4798120980 2010/1/29 1 Java 1 Java Java Java class FirstExample { public static void main(string[] args) { System.out.println("

More information

A B 1: Ex. MPICH-G2 C.f. NXProxy [Tanaka] 2:

A B 1: Ex. MPICH-G2 C.f. NXProxy [Tanaka] 2: Java Jojo ( ) ( ) A B 1: Ex. MPICH-G2 C.f. NXProxy [Tanaka] 2: Java Jojo Jojo (1) :Globus GRAM ssh rsh GRAM ssh GRAM A rsh B Jojo (2) ( ) Jojo Java VM JavaRMI (Sun) Horb(ETL) ( ) JPVM,mpiJava etc. Send,

More information

PYTHON 資料 電脳梁山泊烏賊塾 PYTHON 入門 ゲームプログラミング スプライトの衝突判定 スプライトの衝突判定 スプライトの衝突判定の例として インベーダーゲームのコードを 下記に示す PYTHON3 #coding: utf-8 import pygame from pygame.lo

PYTHON 資料 電脳梁山泊烏賊塾 PYTHON 入門 ゲームプログラミング スプライトの衝突判定 スプライトの衝突判定 スプライトの衝突判定の例として インベーダーゲームのコードを 下記に示す PYTHON3 #coding: utf-8 import pygame from pygame.lo PYTHON 入門 ゲームプログラミング スプライトの衝突判定 スプライトの衝突判定 スプライトの衝突判定の例として インベーダーゲームのコードを 下記に示す #coding: utf-8 import pygame from pygame.locals import * import os import sys SCR_RECT = Rect(0, 0, 640, 480) def main():

More information

help gem gem gem my help

help gem gem gem my help hikiutils 1234 2017 3 1 1 6 1.0.1 help gem................... 7 gem.................................... 7 gem................................... 7 my help.................................. 7 my help......................

More information

double float

double float 2015 3 13 1 2 2 3 2.1.......................... 3 2.2............................. 3 3 4 3.1............................... 4 3.2 double float......................... 5 3.3 main.......................

More information

関数の定義域を制限する 関数のコマンドを入力バーに打つことにより 関数の定義域を制限することが出来ます Function[ < 関数 >, <x の開始値 >, <x の終了値 > ] 例えば f(x) = x 2 2x + 1 ( 1 < x < 4) のグラフを描くには Function[ x^

関数の定義域を制限する 関数のコマンドを入力バーに打つことにより 関数の定義域を制限することが出来ます Function[ < 関数 >, <x の開始値 >, <x の終了値 > ] 例えば f(x) = x 2 2x + 1 ( 1 < x < 4) のグラフを描くには Function[ x^ この節では GeoGebra を用いて関数のグラフを描画する基本事項を扱います 画面下部にある入力バーから式を入力し 後から書式設定により色や名前を整えることが出来ます グラフィックスビューによる作図は 後の章で扱います 1.1 グラフの挿入関数のグラフは 関数 y = f(x) を満たす (x, y) を座標とする全ての点を描くことです 入力バーを用いれば 関数を直接入力することが出来 その関数のグラフを作図することが出来ます

More information

slide5.pptx

slide5.pptx ソフトウェア工学入門 第 5 回コマンド作成 1 head コマンド作成 1 早速ですが 次のプログラムを head.c という名前で作成してください #include #include static void do_head(file *f, long nlines); int main(int argc, char *argv[]) { if (argc!=

More information

SmartBrowser_document_build30_update.pptx

SmartBrowser_document_build30_update.pptx SmartBrowser Update for ios / Version 1.3.1 build30 2017 年 8 月 株式会社ブルーテック 更新内容 - 概要 ios Version 1.3.1 build28 の更新内容について 1. 設定をQRから読み込み更新する機能 2.URLをQRから読み込み画面遷移する機能 3.WEBページのローカルファイル保存と外部インテントからの起動 4.JQuery-LoadImageライブラリの組み込み

More information

Microsoft Word - Meta70_Preferences.doc

Microsoft Word - Meta70_Preferences.doc Image Windows Preferences Edit, Preferences MetaMorph, MetaVue Image Windows Preferences Edit, Preferences Image Windows Preferences 1. Windows Image Placement: Acquire Overlay at Top Left Corner: 1 Acquire

More information

画像ファイルを扱う これまでに学んだ条件分岐, 繰り返し, 配列, ファイル入出力を使って, 画像を扱うプログラムにチャレンジしてみよう

画像ファイルを扱う これまでに学んだ条件分岐, 繰り返し, 配列, ファイル入出力を使って, 画像を扱うプログラムにチャレンジしてみよう 第 14 回 応用 情報処理演習 ( テキスト : 第 10 章 ) 画像ファイルを扱う これまでに学んだ条件分岐, 繰り返し, 配列, ファイル入出力を使って, 画像を扱うプログラムにチャレンジしてみよう 特定色の画素の検出 ( テキスト 134 ページ ) 画像データが保存されているファイルを読み込んで, 特定色の画素の位置を検出するプログラムを作成しなさい 元画像生成画像 ( 結果の画像 )

More information

Microsoft PowerPoint - diip ppt

Microsoft PowerPoint - diip ppt 2006 年度デザイン情報学科情報処理 III 第 12 回マウスによる制御 ブロック崩し の部品 ボール直径 10pixel の円ラケット横 60pixel 縦 10pixel, マウスにより左右に移動ブロック横 50pixel 縦 20pixel,28 個 (7 個 4 段 ) 壁 ( フィールド ) 横 400pixel 縦 600pixel 2006 年度デザイン情報学科情報処理 III 2

More information

C#の基本

C#の基本 C# の基本 ~ 開発環境の使い方 ~ C# とは プログラミング言語のひとつであり C C++ Java 等に並ぶ代表的な言語の一つである 容易に GUI( グラフィックやボタンとの連携ができる ) プログラミングが可能である メモリ管理等の煩雑な操作が必要なく 比較的初心者向きの言語である C# の利点 C C++ に比べて メモリ管理が必要ない GUIが作りやすい Javaに比べて コードの制限が少ない

More information

(Java/FX ) Java CD Java version Java VC++ Python Ruby Java Java Eclipse Java Java 3 Java for Everyone 2 10 Java Midi Java JavaFX Shape Canvas C

(Java/FX ) Java CD Java version Java VC++ Python Ruby Java Java Eclipse Java Java 3 Java for Everyone 2 10 Java Midi Java JavaFX Shape Canvas C (Java/FX ) Java CD Java version 10.0.1 Java VC++ Python Ruby Java Java Eclipse Java Java 3 Java for Everyone 2 10 Java Midi Java JavaFX Shape Canvas Canvas Eclipse Eclipse M... 1 javafx e(fx)clipse 3.0.0

More information

listings-ext

listings-ext (6) Python (2) ( ) ohsaki@kwansei.ac.jp 5 Python (2) 1 5.1 (statement)........................... 1 5.2 (scope)......................... 11 5.3 (subroutine).................... 14 5 Python (2) Python 5.1

More information

ii II Web Web HTML CSS PHP MySQL Web Web CSS JavaScript Web SQL Web 2014 3

ii II Web Web HTML CSS PHP MySQL Web Web CSS JavaScript Web SQL Web 2014 3 Web 2.0 Web Web Web Web Web Web Web I II I ii II Web Web HTML CSS PHP MySQL Web Web CSS JavaScript Web SQL Web 2014 3 1. 1.1 Web... 1 1.1.1... 3 1.1.2... 3 1.1.3... 4 1.2... 4 I 2 5 2. HTMLCSS 2.1 HTML...

More information

Java Java Java Java Java 4 p * *** ***** *** * Unix p a,b,c,d 100,200,250,500 a*b = a*b+c = a*b+c*d = (a+b)*(c+d) = 225

Java Java Java Java Java 4 p * *** ***** *** * Unix p a,b,c,d 100,200,250,500 a*b = a*b+c = a*b+c*d = (a+b)*(c+d) = 225 Java Java Java Java Java 4 p35 4-2 * *** ***** *** * Unix p36 4-3 a,b,c,d 100,200,250,500 a*b = 20000 a*b+c = 20250 a*b+c*d = 145000 (a+b)*(c+d) = 225000 a+b*c+d = 50600 b/a+d/c = 4 p38 4-4 (1) mul = 1

More information

デュアルウェア講習会課題 5 会津大学講習会 簡単な IoT を作成 2018 The University of Aizu

デュアルウェア講習会課題 5 会津大学講習会 簡単な IoT を作成 2018 The University of Aizu 会津大学講習会 簡単な IoT を作成 2018 The University of Aizu 目次 1 課題... 1 1.1 課題説明... 1 課題 5-1... 1 課題 5-2... 1 2 Google API... 2 2.1 Gmail API とは... 2 2.2 Gmail API 設定... 2 Google アカウント作成... 2 Google Developers Console

More information

pptx

pptx iphone 2010 8 18 C xkozima@myu.ac.jp C Hello, World! Hello World hello.c! printf( Hello, World!\n );! os> ls! hello.c! os> cc hello.c o hello! os> ls! hello!!hello.c! os>./hello! Hello, World!! os>! os>

More information

only my information

only my information 1 only my information 2010 17 Special thanks 17 2006 2010 60 90 A4 2 1 1 CD 2 3 A B A B A 1/4 B B 3/4 1. 2. A 3 A 3. B 3 B http://www.edu.c.utokyo.ac.jp/edu/information.html only my information 2 2006

More information

‚æ4›ñ

‚æ4›ñ ( ) ( ) ( ) A B C D E F G H I J K L M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z 0 1 2 3 4 5 6 7 8 9 (OUS) 9 26 1 / 28 ( ) ( ) ( ) A B C D Z a b c d z 0 1 2 9 (OUS) 9

More information

Introduction Purpose This training course demonstrates the use of the High-performance Embedded Workshop (HEW), a key tool for developing software for

Introduction Purpose This training course demonstrates the use of the High-performance Embedded Workshop (HEW), a key tool for developing software for Introduction Purpose This training course demonstrates the use of the High-performance Embedded Workshop (HEW), a key tool for developing software for embedded systems that use microcontrollers (MCUs)

More information

RHEA key

RHEA key 2 P (k, )= k e k! 3 4 Probability 0.4 0.35 0.3 0.25 Poisson ( λ = 1) Poisson (λ = 3) Poisson ( λ = 10) Poisson (λ = 20) Poisson ( λ = 30) Gaussian (µ = 1, s = 1) Gaussian ( µ = 3, s = 3) Gaussian (µ =

More information

2008 DS T050049

2008 DS T050049 DS T050049. PSP DS DS DS RPG DS OS Windows XP DevkiPro OS DS CPU ARM devkitarm MSYS MinGW MSYS MinGW Unix OS C++ C++ make nds nds DS DS micro SD Card nds DS DS DS nds C Java C++ nds nds DS 2008 DS T050049

More information

,,,,., C Java,,.,,.,., ,,.,, i

,,,,., C Java,,.,,.,., ,,.,, i 24 Development of the programming s learning tool for children be derived from maze 1130353 2013 3 1 ,,,,., C Java,,.,,.,., 1 6 1 2.,,.,, i Abstract Development of the programming s learning tool for children

More information

Microsoft PowerPoint - Tutorial_6.ppt

Microsoft PowerPoint - Tutorial_6.ppt 6 RapidApps を使ったスピーディーなアプリ開発 1 課題手順 RapidApps でアプリを開発する 開発した Kiosk アプリの動作を確認する 2 RapidApps でアプリを開発する (1) Bluemix RapidApps は Web やモバイル アプリをスピーディーに設計 / 開発し Bluemix にデプロイすることができるビジュアル開発ツールです ここでは RapidApps

More information

Microsoft Word - C.....u.K...doc

Microsoft Word - C.....u.K...doc C uwêííôöðöõ Ð C ÔÖÐÖÕ ÐÊÉÌÊ C ÔÖÐÖÕÊ C ÔÖÐÖÕÊ Ç Ê Æ ~ if eíè ~ for ÒÑÒ ÌÆÊÉÉÊ ~ switch ÉeÍÈ ~ while ÒÑÒ ÊÍÍÔÖÐÖÕÊ ~ 1 C ÔÖÐÖÕ ÐÊÉÌÊ uê~ ÏÒÏÑ Ð ÓÏÖ CUI Ô ÑÊ ÏÒÏÑ ÔÖÐÖÕÎ d ÈÍÉÇÊ ÆÒ Ö ÒÐÑÒ ÊÔÎÏÖÎ d ÉÇÍÊ

More information

¥×¥í¥°¥é¥ß¥ó¥°±é½¬I Exercise on Programming I [1zh] ` `%%%`#`&12_`__~~~ alse

¥×¥í¥°¥é¥ß¥ó¥°±é½¬I  Exercise on Programming I [1zh] ` `%%%`#`&12_`__~~~alse I Exercise on Programming I http://bit.ly/oitprog1 13 of 14 ( RD S ) I 13 of 14 1 / 39 https://bit.ly/oitprog1 ( RD S ) I 13 of 14 2 / 39 game.rb ( RD S ) I 13 of 14 3 / 39 game.rb 12 ( ) 1 require "io/console"

More information

学校では教えてくれないアセットバンドル

学校では教えてくれないアセットバンドル Unity Technologies Japan Developer Relationship Engineer Yusuke Ebata Unity 5.3 Unity ICON:designed by Freepik 1 AssetBundle.CreateFromMemory AssetBundle.CreateFromFile WWW.LoadFromCacheOrDownload LoadFromCacheOrDonwload

More information

Exam : 1z1-809-JPN Title : Java SE 8 Programmer II Vendor : Oracle Version : DEMO Get Latest & Valid 1z1-809-JPN Exam's Question and Answers 1 from Ac

Exam : 1z1-809-JPN Title : Java SE 8 Programmer II Vendor : Oracle Version : DEMO Get Latest & Valid 1z1-809-JPN Exam's Question and Answers 1 from Ac Actual4Test http://www.actual4test.com Actual4test - actual test exam dumps-pass for IT exams Exam : 1z1-809-JPN Title : Java SE 8 Programmer II Vendor : Oracle Version : DEMO Get Latest & Valid 1z1-809-JPN

More information

注意 : ネットワークカメラの画像を回転させて表示した場合 モーション検知ウインドウは回転しないまま表示されますが 検知ウインドウは被写体に対して 指定した場所通りに動作します モーション検知ウインドウの縦横のサイズは 8 ピクセルで割り切れるサイズに自動調整されます モーション検知ウインドウを作成

注意 : ネットワークカメラの画像を回転させて表示した場合 モーション検知ウインドウは回転しないまま表示されますが 検知ウインドウは被写体に対して 指定した場所通りに動作します モーション検知ウインドウの縦横のサイズは 8 ピクセルで割り切れるサイズに自動調整されます モーション検知ウインドウを作成 はじめに 本ドキュメントでは AXIS ネットワークカメラ / ビデオエンコーダのファームウエアバージョン 5.4x 以降で 動体検知があった際にメールを任意のアドレスに送信するための設定手順を説明します 設定手順手順 1:AXIS ネットワークカメラ / ビデオエンコーダの設定ページにアクセスする 1. Internet Explorer などの Web ブラウザを起動します 2. Web ブラウザの

More information

(Microsoft PowerPoint -

(Microsoft PowerPoint - ERDAS IMAGINE 2011 新機能 1. リボンインターフェイス 1. リボンインターフェイス ERDAS IMAGINE 2010 から実装されたリボンインターフェイスについて ご紹介します 1.1 インターフェイスの概要 1.2 よく使う機能の集約 1 - Quick Access Toolbar - 1.3 よく使う機能の集約 2 - My Workflow Tab - 1.4 よく使うデータのショートカット

More information

r08.dvi

r08.dvi 19 8 ( ) 019.4.0 1 1.1 (linked list) ( ) next ( 1) (head) (tail) ( ) top head tail head data next 1: NULL nil ( ) NULL ( NULL ) ( 1 ) (double linked list ) ( ) 1 next 1 prev 1 head cur tail head cur prev

More information

OpenCV IS Report No Report Medical Information System Labratry

OpenCV IS Report No Report Medical Information System Labratry OpenCV 2014 8 25 IS Report No. 2014090201 Report Medical Information System Labratry Abstract OpenCV OpenCV 1............................ 2 1.1 OpenCV.......................... 2 1.2......................

More information

tuat1.dvi

tuat1.dvi ( 1 ) http://ist.ksc.kwansei.ac.jp/ tutimura/ 2012 6 23 ( 1 ) 1 / 58 C ( 1 ) 2 / 58 2008 9 2002 2005 T E X ptetex3, ptexlive pt E X UTF-8 xdvi-jp 3 ( 1 ) 3 / 58 ( 1 ) 4 / 58 C,... ( 1 ) 5 / 58 6/23( )

More information

ISMAR2013

ISMAR2013 基礎輪講第 2 週 Unity 講習 杉本研究室 4 年 谷直人 Interactive Media Lab 内容 前半は Unity の紹介, 後半は今日やってもらうことの説明 Unity の概要 Unity とは? Unity を用いた作品例 Unity でできること Unity で使用する言語 Unity を使ってみよう Unity のダウンロード, インストール はじめての Unity スクリプトの記述,

More information

「Android Studioではじめる 簡単Androidアプリ開発」正誤表

「Android Studioではじめる 簡単Androidアプリ開発」正誤表 Android Studio Android 2016/04/19 Android Studio Android *1 Android Studio Android Studio Android Studio Android Studio Android PDF : Android Studio Android Android Studio Android *2 c R TM *1 Android

More information

2016 VOCALOID Group, Yamaha Corporation 2

2016 VOCALOID Group, Yamaha Corporation 2 2016 VOCALOID Group, Yamaha Corporation 2016 VOCALOID Group, Yamaha Corporation 2 2016 VOCALOID Group, Yamaha Corporation 3 #if UNITY_EDITOR_WIN UNITY_STANDALONE_WIN using Yamaha.VOCALOID.Windows; #elif

More information

名称未設定

名称未設定 9 toiee Lab 9 1. WPForms 2. WP Mail SMTP by WPForms SMTP 3. Shortcodes Ultimate 4. Redirection URL URL 5. Nested Pages 6. SHK Hide Title 7. Display Posts Shortcode ( ) 8. WP External Links 9. Jetpack by

More information

Microsoft Word - CygwinでPython.docx

Microsoft Word - CygwinでPython.docx Cygwin でプログラミング 2018/4/9 千葉 数値計算は計算プログラムを書いて行うわけですが プログラムには様々な 言語 があるので そのうちどれかを選択する必要があります プログラム言語には 人間が書いたプログラムを一度計算機用に翻訳したのち計算を実行するものと 人間が書いたプログラムを計算機が読んでそのまま実行するものとがあります ( 若干不正確な説明ですが ) 前者を システム言語

More information

fx-9860G Manager PLUS_J

fx-9860G Manager PLUS_J fx-9860g J fx-9860g Manager PLUS http://edu.casio.jp k 1 k III 2 3 1. 2. 4 3. 4. 5 1. 2. 3. 4. 5. 1. 6 7 k 8 k 9 k 10 k 11 k k k 12 k k k 1 2 3 4 5 6 1 2 3 4 5 6 13 k 1 2 3 1 2 3 1 2 3 1 2 3 14 k a j.+-(),m1

More information

IPCClient(英語)の使用方法

IPCClient(英語)の使用方法 IPCClient( 英語 ) の使用方法 1. ダウンロードされた pcsoft2.zip ファイルを解凍して下さい 2. NC004.exe を起動して下さい (NC003 でも使用可能です ) 3. 下記画面の操作方法に沿って ソフトをインストールして下さい (1) 确定 をクリックして下さい (2) Next をクリックして下さい (3) Browse... で保存場所を指定して Next

More information

1 VisBAR edu H 2 O.....

1 VisBAR edu H 2 O..... VisBAR edu v1.03 ( ) 25 4 22 1 VisBAR edu 1 1.1....................................................... 1 1.2.................................................. 2 2 3 2.1 H 2 O.........................................

More information

ご利用のコンピュータを設定する方法 このラボの作業を行うには 事前設定された dcloud ラボを使用するか 自身のコンピュータをセットアップします 詳細については イベントの事前準備 [ 英語 ] とラボの設定 [ 英語 ] の両方のモジュールを参照してください Python を使用した Spar

ご利用のコンピュータを設定する方法 このラボの作業を行うには 事前設定された dcloud ラボを使用するか 自身のコンピュータをセットアップします 詳細については イベントの事前準備 [ 英語 ] とラボの設定 [ 英語 ] の両方のモジュールを参照してください Python を使用した Spar ご利用のコンピュータを設定する方法 このラボの作業を行うには 事前設定された dcloud ラボを使用するか 自身のコンピュータをセットアップします 詳細については イベントの事前準備 [ 英語 ] とラボの設定 [ 英語 ] の両方のモジュールを参照してください Python を使用した Spark API との通信 このラーニングモジュールでは Python を使用した Spark API とのインターフェイスを扱います

More information

ファイルを直接編集する画面を切り替えることができる. 図 3 標準のレイアウトを削除する (2) グラフィカル レイアウト画面で LinearLayout(Vertical) を追加するパレットウィンドウの レイアウト の中にある LinearLayout(Vertical) をドラッグして, 編集

ファイルを直接編集する画面を切り替えることができる. 図 3 標準のレイアウトを削除する (2) グラフィカル レイアウト画面で LinearLayout(Vertical) を追加するパレットウィンドウの レイアウト の中にある LinearLayout(Vertical) をドラッグして, 編集 BMI 計算アプリ身長と体重をユーザが入力し, その値を計算して,BMI 値を表示するアプリケーションを作る. 1. プロジェクトを作る新規 Android アプリケーション プロジェクトを作る.HelloWorld アプリケーションをつくるときと同じで良いが, アプリケーション名, プロジェクト名, パッケージ名は以下のように設定する. 図 1 新規アプリケーションの設定をする 2. レイアウトを設定する

More information

Microsoft Word - SSI_Smart-Trading_QA_ja_ doc

Microsoft Word - SSI_Smart-Trading_QA_ja_ doc サイゴン証券会社 (SSI) SSI Smarttrading の設定に関する Q&A 06-2009 Q&A リスト 1. Q1 http://smarttrading.ssi.com.vn へアクセスしましたが 黒い画面になり X のマークが左上に出ている A1 原因はまだ設定していない アドミニストレータで設定しない あるいは自動設定プログラムがお客様の PC に適合しないと考えられます 解決方法アドミニストレータの権限のユーザーでログインし

More information

Microsoft Word - Win-Outlook.docx

Microsoft Word - Win-Outlook.docx Microsoft Office Outlook での設定方法 (IMAP および POP 編 ) How to set up with Microsoft Office Outlook (IMAP and POP) 0. 事前に https://office365.iii.kyushu-u.ac.jp/login からサインインし 以下の手順で自分の基本アドレスをメモしておいてください Sign

More information

TestDesign for Web

TestDesign for Web 発行日 2012/6/21 発行元 株式会社アープ 本書は Web でのテスト自動化における Test Design の一連の操作方法まとめたものです Test Design のメニューの説明やより詳細な使い方については ユーザーズガイド を参照してください 目次 1. はじめに... 1 2. 環境構築... 2 2.1. Selenium のサイトについて... 2 2.2. Selenium

More information

Deep Learning Deep Learning GPU GPU FPGA %

Deep Learning Deep Learning GPU GPU FPGA % 2016 (412825) Deep Learning Deep Learning GPU GPU FPGA 16 1 16 69% Abstract Recognition by DeepLearning attracts attention, because of its high recognition accuracy. Lots of learning is necessary for Deep

More information

問題1 以下に示すプログラムは、次の処理をするプログラムである

問題1 以下に示すプログラムは、次の処理をするプログラムである 問題 1 次のプログラムの出力結果を a~d の中から選べ public class Problem1 { int i=2; int j=3; System.out.println("i"+j); a) 23,b) 5,c) i3,d) ij 問題 2 次のプログラムの出力結果を a~d の中から選べ public class Problem2 { int a=6; if((a>=2)&&(a

More information

6-1

6-1 6-1 (data type) 6-2 6-3 ML, Haskell, Scala Lisp, Prolog (setq x 123) (+ x 456) (setq x "abc") (+ x 456) ; 6-4 ( ) subtype INDEX is INTEGER range -10..10; type DAY is (MON, TUE, WED, THU, FRI, SAT, SUN);

More information

MQTTとアンドロイドで 本格的IoTを体験しよう

MQTTとアンドロイドで 本格的IoTを体験しよう 2015.07.20 日本 IBM 坂井彰 IBM Bluemix アイデアをまずは形にしてみる IoT Foundation と Node-RED を使った接続とデータの確認 Visualization: リアルタイムな表示 アプリケーション連携でデータを表示 MQTT IoTF Node-RED Analysis: データを分析 予測 IBM Bluemix IoT Foundation と Node-RED

More information

\\afs001-0m0005\project02\A32\M

\\afs001-0m0005\project02\A32\M Technical Information 2004.09 2009.04 Store Request Query Request Retrieve Request DICOM Client Application Remote SCP Remote Query/Retrieve SCP Image Stored * DICOM Server Application Remote SCU Print

More information

ohp08.dvi

ohp08.dvi 19 8 ( ) 2019.4.20 1 (linked list) ( ) next ( 1) (head) (tail) ( ) top head tail head data next 1: 2 (2) NULL nil ( ) NULL ( NULL ) ( 1 ) (double linked list ) ( 2) 3 (3) head cur tail head cur prev data

More information

LiveCode初心者開発入門サンプル

LiveCode初心者開発入門サンプル / About LiveCode 01:... 11 02: Create... 15 set 03:... 21 name title LiveCode 04:... 29 global local width height 05:... 37 Controls Tools Palette Script Editor message handler 06:... 52 RGB 07:... 63

More information

このうち ツールバーが表示されていないときは メニューバーから [ 表示 (V)] [ ツールバー (T)] の [ 標準のボタン (S)] [ アドレスバー (A)] と [ ツールバーを固定する (B)] をクリックしてチェックを付けておくとよい また ツールバーはユーザ ( 利用者 ) が変更

このうち ツールバーが表示されていないときは メニューバーから [ 表示 (V)] [ ツールバー (T)] の [ 標準のボタン (S)] [ アドレスバー (A)] と [ ツールバーを固定する (B)] をクリックしてチェックを付けておくとよい また ツールバーはユーザ ( 利用者 ) が変更 ファイル操作 アプリケーションソフトウェアなどで作成したデータはディスクにファイルとして保存される そのファイルに関してコピーや削除などの基本的な操作について実習する また ファイルを整理するためのフォルダの作成などの実習をする (A) ファイル名 ファイル名はデータなどのファイルをディスクに保存しておくときに付ける名前である データファイルはどんどん増えていくので 何のデータであるのかわかりやすいファイル名を付けるようにする

More information

manual.dvi

manual.dvi oscommerce 2002 9 6 oscommerce oscommerce 2.2 1 1 1.1................................................. 1 1.1.1......................................... 1 1.2.................................................

More information

任意の間隔での FTP 画像送信イベントの設定方法 はじめに 本ドキュメントでは AXIS ネットワークカメラ / ビデオエンコーダにおいて任意の間隔で画像を FTP サー バーへ送信するイベントの設定手順を説明します 設定手順手順 1:AXIS ネットワークカメラ / ビデオエンコーダの設定ページ

任意の間隔での FTP 画像送信イベントの設定方法 はじめに 本ドキュメントでは AXIS ネットワークカメラ / ビデオエンコーダにおいて任意の間隔で画像を FTP サー バーへ送信するイベントの設定手順を説明します 設定手順手順 1:AXIS ネットワークカメラ / ビデオエンコーダの設定ページ はじめに 本ドキュメントでは AXIS ネットワークカメラ / ビデオエンコーダにおいて任意の間隔で画像を FTP サー バーへ送信するイベントの設定手順を説明します 設定手順手順 1:AXIS ネットワークカメラ / ビデオエンコーダの設定ページにアクセスする 1.Web ブラウザを起動します FW v6.50 以下の場合は Internet Explorer を FW v7.10 以降の場合は

More information