PowerPoint Presentation

Size: px
Start display at page:

Download "PowerPoint Presentation"

Transcription

1 知能システム論 1 (12) 情報システム学研究科情報メディアシステム学専攻知能システム学講座末廣尚士

2 - 自由な構造のシリアルアームを作る larm_w_hand_arm_sol.py arm6dof のうち以下の関数は関節数が 6 以上ならいくつでも使えるので larm_w_hand_arm_sol.py に移す solve() ready(), park() move() これを使って自由な構造のアームが作れる 2013 年度前学期電気通信大学大学院情報システム学研究科情報メディアシステム学専攻知能システム論 1 2

3 - 好きに作ってみよう まず関節構造のデザイン 自由度 関節軸 座標系 寸法 次に形状のデザイン リンク原点と形状原点の位置関係に注意 注 :vpython の frame の制限? あまり自由度を多くするとvpythonの表示がおかしくなる. 11は動くが, 作業をするときにあやしくなる 年度前学期電気通信大学大学院情報システム学研究科情報メディアシステム学専攻知能システム論 1 3

4 - 7 自由度アームの例 arm7dof.py : 7 自由度アームの例 make_shape(), creat_arm() を作る ready_angle, park_angle を関節数にあわせることに注意 env_simple.py : 汎用環境 読み込むアームを替えて使える 年度前学期電気通信大学大学院情報システム学研究科情報メディアシステム学専攻知能システム論 1 4

5 - 最初のおまじない 7 自由度アームの 1 の例 -*- Python -*- import new from larm_w_hand_arm_sol import * from hand import * 本当はクラスにする方がオブジェクト指向的 instanciate 7dof arm def create_arm() : hand = create_hand() arm = LinkedArm(7,hand=hand) arm.make_shape=new.instancemethod(make_shape,arm,arm. class ) arm.ready_angle=[0,pi/6,0,pi/2,0,pi/3,0] arm.park_angle=[0,0,0,0,0,0,0] arm.make_shape() return arm 2013 年度前学期電気通信大学大学院情報システム学研究科情報メディアシステム学専攻知能システム論 1 5

6 - 例 1: 7 自由度アームの 1 hand wrist base l h =0.1 l 7 =0.05 l 6 =0.1 l 5 =.01 l 4 =0.3 l 3 =0.2 l 2 =0.3 l 1 =0.05 l b =0.1 def make_shape(self) : self.bh = 0.1 self.l1h = 0.05 self.links[0].place_joint(self.base, FRAME(xyzabc=[0,0,self.bh,0,0,0]),5) self.l2h = 0.3 self.links[1].place_joint(self.links[0], FRAME(xyzabc=[0,0, self.l1h,0,0,0]),4) self.l3h=0.2 self.links[2].place_joint(self.links[1], FRAME(xyzabc=[0,0, self.l2h,0,0,0]),5) self.l4h = 0.3 self.links[3].place_joint(self.links[2], FRAME(xyzabc=[0,0, self.l3h,0,0,0]),4) self.l5h = 0.1 self.links[4].place_joint(self.links[3], FRAME(xyzabc=[0,0, self.l4h,0,0,0]),5) self.l6h = 0.1 self.links[5].place_joint(self.links[4], FRAME(xyzabc=[0,0, self.l5h,0,0,0]),4) self.l7h = 0.05 self.links[6].place_joint(self.links[5], FRAME(xyzabc=[0,0, self.l6h,0,0,0]),5) self.wrist.affix(self.links[6],frame(xyzabc=[0,0, self.l7h,0,0,0])) 2013 年度前学期電気通信大学大学院情報システム学研究科情報メディアシステム学専攻知能システム論 1 6

7 - 簡単な環境 (env_simple.py) from time import * from object_model_v import * from arm7dof import * def create_env() : global room, table, place_a, place_b, box, hand, up200, arm room = CoordinateObject() table_body=visual.box(color=visual.color.blue,width=0.02,length=0.7,height=1.0) table_body.pos=(0,0,-0.01) table = PartsObject(vbody=table_body) table.affix(room,frame(xyzabc=[0,0,0.5,0,0,pi/6])) place_a = CoordinateObject() place_a.affix(table,frame(xyzabc=[0.1,0,0,0,0,0])) place_b = CoordinateObject() place_b.affix(table,frame(xyzabc=[-0.1,0,0,0,0,-pi/6])) box_body=visual.box(width=0.1, length=0.05, height=0.03) box_body.pos=(0,0,0.05) box = PartsObject(vbody=box_body) box.affix(table,place_a.where(table)) up200=frame(vec=vector(0,0,0.2)) arm = create_arm() arm.base.affix(table,frame(vec=vector(-0.25,0.40,0))) arm.ready() 2013 年度前学期電気通信大学大学院情報システム学研究科情報メディアシステム学専攻知能システム論 1 7

8 - 簡単な作業 def reset_env() : table.unfix() table.affix(room,frame(xyzabc=[0,0,0.5,0,0,pi/6])) box.unfix() box.affix(table,place_a.where(table)) arm.ready() def do_task(arm): arm.move('hand',up200,box) arm.hand.open(0.1) arm.move('hand',box) arm.hand.close(0) box.unfix() box.affix(arm.hand) arm.move(box,up200,box) arm.move(box,up200,place_b) arm.move(box,place_b) arm.hand.open(0.1) box.unfix() box.affix(table) arm.move('hand',up200,place_b) 2013 年度前学期電気通信大学大学院情報システム学研究科情報メディアシステム学専攻知能システム論 1 8

9 - 実行例 IDLE ==== No Subprocess ==== >>> >>> do_task(arm) >>> 2013 年度前学期電気通信大学大学院情報システム学研究科情報メディアシステム学専攻知能システム論 1 9

10 - 例 2: 7 自由度アームの 2 l h =0.1 l 6 =0.1 l 4 =0.2 l 7 =0.05 hand wrist l 5 =.01 l 3 =0.1 l 2 =0.4 base l 1 =0.05 l b = 年度前学期電気通信大学大学院情報システム学研究科情報メディアシステム学専攻知能システム論 1 10

11 - 例 2 のスケルトン def make_shape(self) : self.bh = 0.1 self.l1h = 0.05 self.links[0].place_joint(self.base, FRAME(xyzabc=[0,0,self.bh,0,0,0]),5) self.l2h = 0.4 self.links[1].place_joint(self.links[0], FRAME(xyzabc=[0,0, self.l1h,0,0,0]),4) self.l3h=0.1 self.links[2].place_joint(self.links[1], FRAME(xyzabc=[0,0, self.l2h,0,0,0]),4) self.l4l = 0.2 self.links[3].place_joint(self.links[2], FRAME(xyzabc=[0,0, self.l3h,0,0,0]),0) self.l5l = 0.1 self.links[4].place_joint(self.links[3], FRAME(xyzabc=[self.l4l, 0,0,0,0,0]),3) self.l6l = 0.1 self.links[5].place_joint(self.links[4], FRAME(xyzabc=[self.l5l,0,0, 0,0,0]),4) self.l7l = 0.05 self.links[6].place_joint(self.links[5], FRAME(xyzabc=[self.l6l,0,0, 0,0,0]),3) self.wrist.affix(self.links[6],frame(xyzabc=[self.l7l,0,0, 0,0,0])) 2013 年度前学期電気通信大学大学院情報システム学研究科情報メディアシステム学専攻知能システム論 1 11

12 - 実行例 年度前学期電気通信大学大学院情報システム学研究科情報メディアシステム学専攻知能システム論 1 12

13 - 例 3: 11 自由度アーム n_element=5 def make_shape(self) : self.bh = 0.1 self.br = 0.05 self.base.vbody=visual.cylinder(axis=(0.0, 0.0, self.bh ), radius=self.br) self.base.vbody.frame = self.base.vframe self.l1r = 0.02 self.l1h = 0.1 self.links[0].set_vbody(visual.cylinder(axis=(0.0, 0.0, self.l1h ), radius=self.l1r)) self.links[0].place_joint(self.base, FRAME(xyzabc=[0,0,self.bh,0,0,0]),5) for ll in range(n_element) : self.links[2*ll+1].set_vbody(visual.cylinder(axis=(0.0, 0.0, self.l1h ), radius=self.l1r)) self.links[2*ll+1].place_joint(self.links[2*ll], FRAME(xyzabc=[0,0, self.l1h,0,0,0]),4) self.links[2*ll+2].set_vbody(visual.cylinder(axis=(0.0, 0.0, self.l1h ), radius=self.l1r)) self.links[2*ll+2].place_joint(self.links[2*ll+1], FRAME(xyzabc=[0,0,self.l1h,0,0,0]),5) self.wrist.set_vbody(visual.box(length=0.04,height=0.04,width=0.02,pos=(0,0,-0.01))) self.wrist.affix(self.links[2*n_element],frame(xyzabc=[0,0, self.l1h,0,0,0])) 2013 年度前学期電気通信大学大学院情報システム学研究科情報メディアシステム学専攻知能システム論 1 13

14 - 実行例 年度前学期電気通信大学大学院情報システム学研究科情報メディアシステム学専攻知能システム論 1 14

15 15 作業プログラミング PartsObject への属性の追加 Grip オブジェクト ( 把持点情報 ): 把持点 指幅 アプローチ点 作業 作業動作のモデル化 作業の分解作業の記述 作業スキル 2013 年度前学期電気通信大学大学院情報システム学研究科情報メディアシステム学専攻知能システム論 1 15

16 - grip : 把持点 ハンドが持つ場所 アプローチする場所を決めておく z hand x y x z y Gripオブジェクト box.grip.app_posc box.grip.width box.grip box 2013 年度前学期電気通信大学大学院情報システム学研究科情報メディアシステム学専攻知能システム論 1 16

17 - Grip クラス Grip class Grip(CoordinateObject) : def init (self, mama, trans=none) : CoordinateObject. init (self) self.app_pos=coordinateobject() self.app_pos.affix(self,frame(xyzabc=[0,0,0.05,0,0,0])) default self.width = 0.0 if not trans : trans = FRAME() self.affix(mama,trans) 2013 年度前学期電気通信大学大学院情報システム学研究科情報メディアシステム学専攻知能システム論 1 17

18 - PartsObject への grip の追加 PartsObject class PartsObject(CoordinateObject) : def init (self, vbody=none) : CoordinateObject. init (self) if vbody : self.set_vbody(vbody) self.grip=grip(self) c def set_vbody(self, vbody): self.vbody = vbody self.vbody.frame = self.vframe 2013 年度前学期電気通信大学大学院情報システム学研究科情報メディアシステム学専攻知能システム論 1 18

19 作業プログラム 1(task1.py) - box の grip 作成 create_env box_body=visual.box(width=0.1, length=0.05, height=0.03) box_body.pos=(0,0,0.05) box = PartsObject(vbody=box_body) box.grip.set_trans(frame(xyzabc=[0,0,0.08,0,0,0])) box.grip.width = 0.03 box.grip.app_pos.set_trans(frame(xyzabc=[0,0,0.1,0,0,0])) box.affix(table,place_a.where(table)) 2013 年度前学期電気通信大学大学院情報システム学研究科情報メディアシステム学専攻知能システム論 1 19

20 - pick up 作業 pick_up def pick_up(arm,obj) : up100=frame(vec=vector(0,0,0.1)) arm.move("hand",up100,obj.grip.app_pos) arm.move("hand", obj.grip.app_pos) arm.hand.open(obj.grip.width+0.01) arm.move("hand", obj.grip) arm.hand.close(obj.grip.width) obj.unfix() obj.affix(arm.hand) arm.move(obj,up100,obj) 2013 年度前学期電気通信大学大学院情報システム学研究科情報メディアシステム学専攻知能システム論 1 20

21 - place down 作業 place_down def place_down(arm,obj,place,fix=none) : up100=frame(vec=vector(0,0,0.1)) arm.move(obj,up100,place) arm.move(obj,place) arm.hand.open(obj.grip.width+0.01) obj.unfix() if fix : obj.affix(fix) arm.move("hand", obj.grip.app_pos) arm.hand.close(0) arm.move("hand",up100,obj.grip.app_pos) 2013 年度前学期電気通信大学大学院情報システム学研究科情報メディアシステム学専攻知能システム論 1 21

22 - pick&place 作業 do_task def do_task(arm,box,place): pick_up(arm,box) place_down(arm, box, place, place) 2013 年度前学期電気通信大学大学院情報システム学研究科情報メディアシステム学専攻知能システム論 1 22

23 - 環境構築と表示の調整 create_env() AxesXYZ.visible_all(False) visual.scene.center=table.where().vec visual.scene.autoscale=false visual.scene.scale=(2.0,2.0,2.0) 2013 年度前学期電気通信大学大学院情報システム学研究科情報メディアシステム学専攻知能システム論 1 23

24 - 実行例 >>> do_task(arm,box,place_b) >>> do_task(arm,box,place_a) >>> 2013 年度前学期電気通信大学大学院情報システム学研究科情報メディアシステム学専攻知能システム論 1 24

25 作業プログラム 2(task2.py) ( 液体の移し替え作業 ) cup の作成 cup の座標は底面中心 y grip, grip.app_pos を適切に設定する 0.02 x 注ぎ口 pour を設定する app pour 0.06 grip z 0.1 x 2013 年度前学期電気通信大学大学院情報システム学研究科情報メディアシステム学専攻知能システム論 1 25

26 - make_cup() の例 def make_cup() : cup_body=visual.frame() a=visual.cylinder(radius=0.05,axis=(0,0,0.1),color=(0.5,0.5,1.0)) b=visual.box(size=(0.04,0.02,0.06), pos=(-0.07, 0, 0.07), color=(0.5, 1.0, 0.5)) a.frame=cup_body b.frame=cup_body cup=partsobject(vbody=cup_body) cup.grip.set_trans(frame(xyzabc=[-0.07,0,0.08,0,-pi/6,0])) cup.grip.width=0.02 cup.grip.app_pos.set_trans(frame(xyzabc=[0,0,0.05,0,0,0])) cup.pour=coordinateobject() cup.pour.affix(cup,frame(xyzabc=[0,-0.05,0.1,0,0,0]),'rigid') return cup 2013 年度前学期電気通信大学大学院情報システム学研究科情報メディアシステム学専攻知能システム論 1 26

27 - オブジェクト指向で class にする class Cup(PartsObject) : def init (self) : cup_body=visual.frame() a=visual.cylinder(radius=0.05,axis=(0,0,0.1), color=(0.5,0.5,1.0)) b=visual.box(size=(0.04,0.02,0.06), pos=(-0.07,0,0.07),color=(0.5,1.0,0.5)) a.frame=cup_body b.frame=cup_body PartsObject. init (self, vbody=cup_body) self.grip.set_trans(frame(xyzabc=[-0.07,0,0.08,0,-pi/6,0])) self.grip.width=0.02 self.grip.app_pos.set_trans(frame(xyzabc=[0,0,0.05,0,0,0])) self.pour=coordinateobject() self.pour.affix(self,frame(xyzabc=[0,-0.05,0.1,0,0,0]),'rigid') 2013 年度前学期電気通信大学大学院情報システム学研究科情報メディアシステム学専攻知能システム論 1 27

28 - 注ぎ動作 作業座標系 例 : 水を注ぐ 作業動作を記述するための座標系力制御や動作の座標系を作業に応じて分かりやすく表現するサーボ系の実現 こっちを軸にしてはだめ ここを軸にして姿勢を変えたい 2013 年度前学期電気通信大学大学院情報システム学研究科情報メディアシステム学専攻知能システム論 1 28

29 - 注ぎ動作 def pour(arm,a,b) : pour_app=frame(xyzabc=[0,0,0.15,0,0,pi]) pour_start=frame(xyzabc=[0,0,0.01,-pi/12,0,pi]) pour_end=pour_start*frame(xyzabc=[0,0,0,pi/2,0,0]) arm.move(a.pour,pour_app,b.pour) arm.move(a.pour,pour_start,b.pour) arm.move(a.pour,pour_end,b.pour) arm.move(a.pour,pour_start,b.pour) arm.move(a.pour,pour_app,b.pour) 2013 年度前学期電気通信大学大学院情報システム学研究科情報メディアシステム学専攻知能システム論 1 29

30 - 注ぎ作業 def do_task(arm, c1, c2, place, fix=none) : pick_up(arm,c1) pour(arm,c1,c2) place_down(arm,c1,place, fix) 2013 年度前学期電気通信大学大学院情報システム学研究科情報メディアシステム学専攻知能システム論 1 30

31 - 実行例 >>> do_task(arm, cup_a, cup_b, place_a, table) >>> 2013 年度前学期電気通信大学大学院情報システム学研究科情報メディアシステム学専攻知能システム論 1 31

32 - 次回予告 depth カメラによる物体の位置 姿勢計測 ( 最終課題 ) 2013 年度前学期電気通信大学大学院情報システム学研究科情報メディアシステム学専攻知能システム論 1 32

PowerPoint Presentation

PowerPoint Presentation 知能システム論 1 (9) 2015.6.17 情報システム学研究科情報メディアシステム学専攻知能システム学講座末廣尚士 13. アームモデルの Python による表現 理想ロボット :ArmWithHand 構造は関係なし move: 手先や持った物を動かす ハンド :Hand open, close, width アームのリンクの計算 :Link set_jparam シリアルリンクアーム :LinkedArm

More information

PowerPoint Presentation

PowerPoint Presentation 知能システム論 1 (9) 201365 情報システム学研究科情報メディアシステム学専攻知能システム学講座末廣尚士 12 ロボットアームの逆運動学 ( 幾何学的 ( 解析的 ) 解法 ) 何をしたいか 手首 手先 ツールの3 次元空間での位置や姿勢から それを実現する関節角度を計算する アームソリューション アームの解とも呼ぶ 何のために たとえばビジョンで認識された物をつかむ場合 物の位置 姿勢は3

More information

PowerPoint Presentation

PowerPoint Presentation 知能システム論 1 (11) 2012.6.20 情報システム学研究科情報メディアシステム学専攻知能システム学講座末廣尚士 13. ロボットアームの逆運動学 ( 幾何的解法 ) 何をしたいか 手首 手先 ツールの3 次元空間での位置や姿勢から それを実現する関節角度を計算する アームソリューション アームの解とも呼ぶ 何のために たとえばビジョンで認識された物をつかむ場合 物の位置 姿勢は3 次元空間で表現されることが普通である

More information

スライド 1

スライド 1 (10) 2016.6.22 電気通信大学大学院情報理工学研究科末廣尚士 14. ロボットアームの逆運動学 ( 幾何 学的 ( 解析的 ) 解法 ) 何をしたいか 手首, 手先, ツールの 3 次元空間での位置や姿勢から, それを実現する関節角度を計算する. アームソリューション, アームの解とも呼ぶ 何のために たとえばビジョンで認識された物をつかむ場合, 物の位置 姿勢は 3 次元空間で表現されることが普通である.

More information

PowerPoint Presentation

PowerPoint Presentation 知能システム論 1 (13) 2014.7.2 情報システム学研究科情報メディアシステム学専攻知能システム学講座末廣尚士 16 物体の位置 姿勢計測 ロボットでのハンドリングに不可欠 物差しで測るステレオカメラで測る depthカメラ ( たとえばkinect) で測る depthカメラのデータは座標変換で議論できるイメージカメラの場合は透視投影変換を考える必要がある 物体の位置 姿勢計測は座標系の決定やキャリブレーションの基本でもある

More information

スライド 1

スライド 1 (5-2) 2017.5.17 電気通信大学大学院情報理工学研究科末廣尚士 6. 座標系の連鎖 何をしたいか 座標系を使って対象物の位置 姿勢を管理する 対象物の属性 アプローチ点 把持点など 形状 質量 慣性モーメント 物と物との関係 何のために 作業プログラムの記述 オフラインプログラミング 複数腕での作業 カメラ 移動台車などとの連携 2 - 座標系を用いた表現 table 上の place_a

More information

スライド 1

スライド 1 (8) 2017.6.7 電気通信大学大学院情報理工学研究科末廣尚士 9. ロボットアームの逆運動学 ( 幾何 学的 ( 解析的 ) 解法 ) 何をしたいか 手首, 手先, ツールの 3 次元空間での位置や姿勢から, それを実現する関節角度を計算する. アームソリューション, アームの解とも呼ぶ 何のために たとえばビジョンで認識された物をつかむ場合, 物の位置 姿勢は 3 次元空間で表現されることが普通である.

More information

PowerPoint Presentation

PowerPoint Presentation 知能システム論 1 (3) 2009.4.21 情報システム学研究科情報メディアシステム学専攻知能システム学講座末廣尚士 - 講義資料の HP http://www.taka.is.uec.ac.jp/ から右のメニューの class をクリック または http://www.taka.is.uec.ac.jp/class200 9/class2009.html を直接入力 2. Python 入門

More information

スライド 1

スライド 1 ( 補 1) 2018.4.18 電気通信大学大学院情報理工学研究科末廣尚士 補足 1. オブジェクト指向プログラミング プログラムを オブジェクト を中心に考える. 特徴 抽象化クラス, インスタンスの関係実装の隠ぺい カプセル化データと処理関数の一体化内部変数, 内部関数の隠ぺい 階層構造クラスの継承 多様性, 多態性関数, 演算子の上書き ( オーバーライド ), 多重化 ( オーバーロード

More information

スライド 1

スライド 1 (11-2) 2019.6.26 電気通信大学大学院情報理工学研究科末廣尚士 - 手先の軌道生成 ( 再掲 ) その都度, 逆運動学計算をするとは少し手間がかかる. 本当に必要か? 分割が小さければ, ニュートン ラフソン法で 収束 させる必要はないかもしれない. 2 - 直線軌道で分割する ( 再掲 ) 3 - 関節角の微少量をもとめる ( 再掲 ) 4 - 分解運動 ( 速度 ) 制御 ( 再掲

More information

スライド 1

スライド 1 (10-1) 2019.6.19 電気通信大学大学院情報理工学研究科末廣尚士 16. ロボットアーム RTC - 6 自由度ロボットアーム 6 回転関節シリアルリンク 2 - ロボットアーム RTC 入力 目標関節角度 :target_joints TimedDoubleSeq 型 ( 長さ 6), 単位はラジアン ハンドの開き幅 :h_width TimedDouble 型単位はメートル 出力 実際の関節角度

More information

Microsoft PowerPoint Java基本技術PrintOut.ppt [互換モード]

Microsoft PowerPoint Java基本技術PrintOut.ppt [互換モード] 第 3 回 Java 基本技術講義 クラス構造と生成 33 クラスの概念 前回の基本文法でも少し出てきたが, オブジェクト指向プログラミングは という概念をうまく活用した手法である. C 言語で言う関数に似ている オブジェクト指向プログラミングはこれら状態と振る舞いを持つオブジェクトの概念をソフトウェア開発の中に適用し 様々な機能を実現する クラス= = いろんなプログラムで使いまわせる 34 クラスの概念

More information

Pick up Part 01 2013C o n t e n t s Part 02 Part 03 Part 04 Pick up 4 2013 2013 5 Pick up 6 2013 2013 7 Part 01 8 2013 2013 9 10 2013 2013 11 12 2013 2013 13 14 2013 2013 15 16 2013 Part 02 18 2013 2013

More information

『赤すぐ』『妊すぐ』<出産・育児トレンド調査2003>

『赤すぐ』『妊すぐ』<出産・育児トレンド調査2003> 79.9 1.6 UP 86.6% 7.0 UP 61.3% 12.7UP 18-24 3 66.6 3.0 UP 38.7 0.7 UP 14.8 1.9 UP 13.3 0.3UP 4 1 024 1.23 0.01down Topics 5 79.9 1.6UP 7.0 UP 12.7U 3.5 0.4 UP 3.4 0.4 UP 6 73.1% 5.7 UP 75.0% 71.2% 7 53.9%

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

RL_tutorial

RL_tutorial )! " = $ % & ' "(& &*+ = ' " + %' "(- + %. ' "(. + γ γ=0! " = $ " γ=0.9! " = $ " + 0.9$ " + 0.81$ "+, + ! " #, % #! " #, % # + (( + #,- +. max 2 3! " #,-, % 4! " #, % # ) α ! " #, % ' ( )(#, %)!

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション 0 1 2 3 4 5 6 1964 1978 7 0.0015+0.013 8 1 π 2 2 2 1 2 2 ( r 1 + r3 ) + π ( r2 + r3 ) 2 = +1,2100 9 10 11 1.9m 3 0.64m 3 12 13 14 15 16 17 () 0.095% 0.019% 1.29% (0.348%) 0.024% 0.0048% 0.32% (0.0864%)

More information

文字列操作と正規表現

文字列操作と正規表現 文字列操作と正規表現 オブジェクト指向プログラミング特論 2018 年度只木進一 : 工学系研究科 2 文字列と文字列クラス 0 個以上の長さの文字の列 Java では String クラス 操作 文字列を作る 連結する 文字列中に文字列を探す 文字列中の文字列を置き換える 部分文字列を得る 3 String クラス 文字列を保持するクラス 文字列は定数であることに注意 比較に注意 == : オブジェクトとしての同等性

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

GEC-Java

GEC-Java Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 1 プログラミング初級 (Java) 第 14 回継承 白銀純子 第 14 回の内容 継承 オーバーライド ポリモーフィズム Copyright (C) Junko Shirogane, Waseda University 2019, All rights

More information

進展するコーポレート・ガバナンス改革と日本企業の再生

進展するコーポレート・ガバナンス改革と日本企業の再生 2 (1) 1990 (2) 90 (3) 80 90 (4) 90 3 ) ) (1) (2) ( ) (3) ( ) 3 3 ) () ( ) ( ) ) ) ( ( ) / arm length relationship ( ) 1 3 1998 (1999 3 ) 98 5-1 1 3 2 59.7( 15.8) 26 6.0 2 ( 9.4) 3 3.0 3 4 1 8.6 19.0( 16.5)

More information

cards.gif from Tkinter import * root = Tk() c0 = Canvas(root, width = 400, height = 300) c0.pack() image_data = PhotoImage(file = c1.gif ) c0.create_i

cards.gif from Tkinter import * root = Tk() c0 = Canvas(root, width = 400, height = 300) c0.pack() image_data = PhotoImage(file = c1.gif ) c0.create_i (Python ) Python Python 2 1. 2 2. 52 3. A, K, Q, J, 10, 9, 8, 7, 6, 5, 4, 3, 2 4. 13 5. 6. 7. 8. 9. 13 10. 11. 12. Python http://www.jftz.com/cards/ 1 cards.gif from Tkinter import * root = Tk() c0 = Canvas(root,

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション オブジェクト指向 プログラミング演習 第 2 回クラス インスタンス メソッド コンストラクタ 先週の出席確認 Webブラウザはどのようなプログラムでできているかこの問に答える前に Webブラウザとは 何か? 普段使ってますよね? Webブラウザを使ってできることと Webブラウザがやっていることを区別する必要がある 何をすれば Web ブラウザ と言えるのか NHK チコちゃんに叱られる! Web

More information

オブジェクト指向

オブジェクト指向 オブジェクト指向 オブジェクトとは コンピュータで扱う複雑な対象のモデル化の一つ オブジェクトの内部データは変数 ( インスタンス変数 ) の集合で表現されている オブジェクトの内部データに関する処理の方法 ( ) をオブジェクト自身が 知っている オブジェクトの内部は外からは見えない ( 隠蔽, またはカプセル化 ) 処理の名前が同じでも, オブジェクトごとに処理の中身が異なり得る ( 多相性,

More information

Microsoft PowerPoint - chap10_OOP.ppt

Microsoft PowerPoint - chap10_OOP.ppt プログラミング講義 Chapter 10: オブジェクト指向プログラミング (Object-Oriented Programming=OOP) の入り口の入り口の入り口 秋山英三 F1027 1 例 : 部屋のデータを扱う // Test.java の内容 public class Test { public static void main(string[] args) { double length1,

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション オブジェクト指向 プログラミング演習 第 4 回継承 オーバーライド ポリモルフィズム 今日のお題 継承 オーバーライド ポリモルフィズム 継承 (inherit) あるクラス c のサブクラス s を定義する : このとき s は c を継承していると言う 何かの下位概念を表すクラスは その上位概念を表すクラスの属性や機能を ( 基本的には ) 使える 継承の例 大学生 長崎県立大学の学生 大学生を継承する概念

More information

EnSight 10.1の新機能

EnSight 10.1の新機能 EnSight の処理の自動化のためのテクニックのご紹介 CEI ソフトウェア株式会社 松野康幸 2016 年 11 月 4 日 本日の予定 EnSight の処理の自動化に向けて EnSight のコマンドでできること EnSight で利用できるコマンドの種類 コマンド ファイルの作り方 Python 形式のコマンドの作り方作成したコマンド ファイルの実行方法ユーザー定義ツールの作り方ユーザー定義ツールの使い方

More information

from Tkinter import * root = Tk() c0 = Canvas(root, width = 400, height = 300) c0.pack() image_data = PhotoImage(file = c1.gif ) c0.create_image(200,

from Tkinter import * root = Tk() c0 = Canvas(root, width = 400, height = 300) c0.pack() image_data = PhotoImage(file = c1.gif ) c0.create_image(200, (Python ) Python Python 2 1. 2 2. 52 3. A, K, Q, J, 10, 9, 8, 7, 6, 5, 4, 3, 2 4. 13 5. 6. 7. 8. 9. 13 10. 11. 12. Python.gif 1 from Tkinter import * root = Tk() c0 = Canvas(root, width = 400, height =

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション オブジェクト指向 プログラミング演習 第 4 回継承 オーバーライド ポリモルフィズム 今日のお題 継承 オーバーライド ポリモルフィズム 継承 (inherit) あるクラス c のサブクラス s を定義する : このとき s は c を継承していると言う 何かの下位概念を表すクラスは その上位概念を表すクラスの属性や機能を ( 基本的には ) 使える 継承の例 大学生 長崎県立大学の学生 大学生を継承する概念

More information

CodeGear Developer Camp

CodeGear Developer Camp T2 Delphi チュートリアルセッション Delphiはじめて奮戦記 で学ぶ Delphiチュートリアル 株式会社フルネスコーチング事業部マネージャー田原孝 1 アジェンダ 株式会社フルネスについて Delphiプログラミングの基本 演習 : 計算機のテンキーを作る 演習 : 計算機の四則演算ボタンを作る 練習問題 まとめ 2 株式会社フルネスについて 事業内容 ハンズオン教育サービス コーチングサービス

More information

2.

2. 2. 10 2. 2. 1995/12006/111995/42006/12 2. 10 1995120061119954200612 02505 025 05 025 02505 0303 02505 250100 250 200 100200 5010050 100200 100 100 50100 100200 50100 10 75100100 0250512 02505 1 025051205

More information

< F2D F B834E2E6A7464>

< F2D F B834E2E6A7464> ランダムウォーク [Java アプレット ] [Java アプレリケーョン ] 1. はじめに 酔っぱらいは前後左右見境なくふらつきます 酔っぱらいは目的地にたどり着こうと歩き回っているうちに何度も同じところに戻って来てしまったりするものです 今 酔っぱらいが数直線上の原点にいるとします 原点を出発して30 回ふらつくとき 30 回目に酔っぱらいがいる位置は 出発点である原点からどれくらい離れてしまっているのでしょうか

More information

Python @HACHINONE 10 1 V Python 2014 2 : L[i] # -*- coding: utf-8 -*- def search(l, e): """L をリスト e をオブジェクトとする L に e が含まれていれば True そうでなければ False を返す """ for i in range(len(l)): if L[i] == e: return True

More information

PYTHON 資料 電脳梁山泊烏賊塾 PYTHON 入門 関数とメソッド 関数とメソッド Python には関数 (function) とメソッド (method) が有る モジュール内に def で定義されて居る物が関数 クラス内に def で定義されて居る物がメソッドに成る ( 正確にはクラスが

PYTHON 資料 電脳梁山泊烏賊塾 PYTHON 入門 関数とメソッド 関数とメソッド Python には関数 (function) とメソッド (method) が有る モジュール内に def で定義されて居る物が関数 クラス内に def で定義されて居る物がメソッドに成る ( 正確にはクラスが PYTHON 入門 関数とメソッド 関数とメソッド Python には関数 (function) とメソッド (method) が有る モジュール内に def で定義されて居る物が関数 クラス内に def で定義されて居る物がメソッドに成る ( 正確にはクラスがインスタンス化されてからメソッドに成る ) # 関数 def test_func(): print('call test_func') #

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

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

-1 - -2 - -3 - -4-2000 -5 - -6 - -7 - -8 - -9 - - 10 - -11-60 200 2,000 1980 24-12 - - 13 - - 14 - - 15 - - 16 - - 17 - 1998 '98 593'98.4. 604'99.3. 1998 '98.10.10 11 80 '98.11. 81'99.3. 49 '98.11. 50

More information

Microsoft PowerPoint - [150421] CMP実習Ⅰ(2015) 橋本 CG編 第1回 幾何変換.pptx

Microsoft PowerPoint - [150421] CMP実習Ⅰ(2015) 橋本 CG編 第1回 幾何変換.pptx コンテンツ メディア プログラミング実習 Ⅰ コンピュータグラフィックス編 1 幾何変換 橋本直 今日大事なのは プログラムをじっくり読んで なぜそうなるか? を考えよう 命令によって起きていることを頭の中でイメージしよう 2 本題の前に確認 Processingでは画面の 左上隅 が原点 (0,0) x 軸の正の向きは 右 y 軸の正の向きは 下 x y : (0,0) 3 幾何変換の基本 4 幾何変換とは

More information

listings-ext

listings-ext (10) (2) ( ) ohsaki@kwansei.ac.jp 8 (2) 1 8.1.............................. 1 8.2 mobility.fixed.......................... 2 8.3 mobility.randomwalk...................... 7 8.4 mobility.randomwaypoint...................

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション ネットワークプログラミング 演習 第 12 回 Web サーバ上で動作するプログラム 2 今日のお題 PHPのプログラム例 おみくじ アクセスカウンタ ファイルの扱い lock ファイルの所有者 許可と権限 PHP の文法 ( の一部 ) if, for, while の制御の構文は C 言語と似ている 型はあるが 明示的な宣言はしなくてよい 変数には型がない 変数の宣言はしなくてよい 変数名には

More information

レコードとオブジェクト

レコードとオブジェクト レコードとオブジェクト レコード class Point attr_accessor("x", "y") インスタンス変数の宣言 point.rb irb(main):004:0> load("point.rb") => true irb(main):005:0> p = Point.new() => # irb(main):006:0> p.x = 3 => 3

More information

Java演習(9) -- クラスとメソッド --

Java演習(9)   -- クラスとメソッド -- Java (9) Java (9) Java (9) 3 (x, y) x 1 30 10 (0, 50) 1 2 10 10 (width - 10, 80) -2 3 50 10 (width / 2, 110) 2 width 3 (RectMove4-1.java) import javax.swing.japplet; import javax.swing.timer; import java.awt.graphics;

More information

ウィンドウの構成ウィンドウはタイトルバーとウィンドウ枠からなります タイトルバーには最小化 / 最大化ボタンや閉じるボタンがあります また ウィンドウはクライアント領域をもちます クライアント領域にはボタンなど GUI 部品が配置されます GUI 部品配置 ( レイアウト ) ウィンドウ ( ステー

ウィンドウの構成ウィンドウはタイトルバーとウィンドウ枠からなります タイトルバーには最小化 / 最大化ボタンや閉じるボタンがあります また ウィンドウはクライアント領域をもちます クライアント領域にはボタンなど GUI 部品が配置されます GUI 部品配置 ( レイアウト ) ウィンドウ ( ステー HCI プログラミング 3 回目ウィンドウを表示してみよう 今日の講義で学ぶ内容 ウィンドウの表示 ウィンドウの最大/ 最小サイズと半透明化 複数のウィンドウと親子関係 ウィンドウの表示 1 ウィンドウを表示してみましょう ウィンドウアプリケーションは Application クラスを拡張して作成します ソースファイル名 :Sample3_1.java // ウィンドウの表示 public class

More information

自作デバイスボード製作 データ作成 データ登録方法 Rev.A 2017/07/29 Mille-feuille のプロジェクトに自作のデバイスを追加して自分で販売したい方向けの情報です 誰でも参加可能なコミュニティにしていきたいと思っています 大まかな流れは以下の通りです 基本的には回路設計がわか

自作デバイスボード製作 データ作成 データ登録方法 Rev.A 2017/07/29 Mille-feuille のプロジェクトに自作のデバイスを追加して自分で販売したい方向けの情報です 誰でも参加可能なコミュニティにしていきたいと思っています 大まかな流れは以下の通りです 基本的には回路設計がわか 自作デバイスボード製作 データ作成 データ登録方法 Rev.A 2017/07/29 Mille-feuille のプロジェクトに自作のデバイスを追加して自分で販売したい方向けの情報です 誰でも参加可能なコミュニティにしていきたいと思っています 大まかな流れは以下の通りです 基本的には回路設計がわかっている方か 回路設計に十分慣れてからデバイスボードを作るようにしてください デバイスボード部分はオープンソースハードになっているので

More information

課題

課題 float xball;// 円の中心の X 座標 float yball; // 円の中心の Y 座標 float rball; // 円の半径 color cball; // 円の色 // 円を移動させる void updateball(){ yball -= 1; if(yball+rball< 0){ yball = height+rball; // 円を描く void drawball(){

More information

Microsoft PowerPoint pptx

Microsoft PowerPoint pptx PFCore(RT ミドルウェア ) トレーニング中級編 10:00-11:00 第 1 部 :RT コンポーネントプログラミングの概要 担当 : 安藤慶昭 ( 産業技術総合研究所 ) 概要 :RT コンポーネントの作成方法, 設計時の注意点などの概要について解説します 第 2 部 :RT ミドルウェア (PFcore) 開発支援ツールと RT コンポーネントの作成方法 11:00-12:00 12:00-13:00

More information

レコードとオブジェクト

レコードとオブジェクト レコードとオブジェクト レコード class Point attr_accessor("x", "y") インスタンス変数の宣言 point.rb irb(main):004:0> load("point.rb") => true irb(main):005:0> p = Point.new() => # irb(main):006:0> p.x = 3 => 3

More information

2

2 Java Festa in 2007 OPEN JAVA: IMAGINE THE POSSIBILITIES 2 3 4 Java SE のダウンロード数の比率 1996/12 からのダウンロード数 5 JavaOne 2007 5/7: CommunityOne > NetBeans Day, GlassFish, OpenSolaris, OpenJDK, Web 2.0 5/8-11: JavaOne

More information

Arduino をドリトルから 制御する教材の試行 鈴木裕貴 1

Arduino をドリトルから 制御する教材の試行 鈴木裕貴 1 Arduino をドリトルから 制御する教材の試行 鈴木裕貴 1 目次 1. はじめに 1.1. 背景と目的 1.2. ScratchとViscuit 1.3. ドリトル 2. 準備 2.1. ArduinoとRaspberry Pi 3. 演習内容 3.1. ドリトル 3.2. 指導内容例 4. まとめ 2 1. はじめに ( 背景 ) 原理 理解 活用社会 3 1. はじめに ( 背景 ) 原理

More information

Microsoft PowerPoint - 04_01_text_UML_03-Sequence-Com.ppt

Microsoft PowerPoint - 04_01_text_UML_03-Sequence-Com.ppt システム設計 (1) シーケンス図 コミュニケーション図等 1 今日の演習のねらい 2 今日の演習のねらい 情報システムを構成するオブジェクトの考え方を理解す る 業務プロセスでのオブジェクトの相互作用を考える シーケンス図 コミュニケーション図を作成する 前回までの講義システム開発の上流工程として 要求仕様を確定パソコンを注文するまでのユースケースユースケースから画面の検討イベントフロー アクティビティ図

More information

piyo0702a.rtfd

piyo0702a.rtfd 21 Rectangle & Rectangle2D 1 ウィンドウに矩形を描く方法を紹介します のに Rectangle2D.Float(float x, float y, float w, float h) があります が Python では double と float との違いを意識する必要はありません void drawrect(int x, int y, int width, int height)

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

基礎輪講2週目 Kinectの話

基礎輪講2週目  Kinectの話 基礎輪講 2 週目 Kinect の話 3D Computer Vision カメラから 3 次元の情報を取得 3 次元再構築 :2 次元の画像から 3 次元形状の復元 多視点画像群 3 次元再構築結果 3 次元の情報を持つ画像ってないの? 2 距離画像 Depth( 距離 ) の情報を持った画像 各画素の部分に距離の値が入る. 距離画像 距離画像を取得する機器が必要 3 距離画像センサ 実世界の距離情報を取得できる.

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション オブジェクト指向 プログラミング演習 第 2 回クラス インスタンス メソッド フィールド コンストラクタ ICPC の宣伝 国際大学対抗プログラミングコンテスト 3 人一組のチームでプログラムを書く速さを競う 国内予選 : ネットワーク上で 6 月末 ~7 月頭 アジア地区予選 : 日本国内で秋に開催 世界大会 :2020 年は 6 月にモスクワで 参加登録締切 : 国内予選の 2~3 週間前 今年は

More information

Microsoft PowerPoint - IntroAlgDs pptx

Microsoft PowerPoint - IntroAlgDs pptx アルゴリズムとデータ構造入門 -4 202 年 0 月 23 日 大学院情報学研究科知能情報学専攻知能メディア講座音声メディア分野 http://wiie.kuis.kyoto-u.ac.jp/~okuo/lecture/0/itroalgds/ okuo@i.kyoto-u.ac.jp,okuo@ue.org TAの居室は文学部東館 4 階奥乃 研,2 研 if mod( 学籍番号の下 3 桁,3)

More information

IronPython による柔軟なゲーム開発 筑波大学 AmusementCreators

IronPython による柔軟なゲーム開発 筑波大学 AmusementCreators IronPython による柔軟なゲーム開発 筑波大学 AmusementCreators 自己紹介 Amusement Makers ではありません 注意 IronPython って?.Net Framework および Mono 上で動作する Python.NetFramework Mono は共通中間言語 (CIL) のための仮想マシン CIL が動く仮想マシンの仕様は共通言語基盤 (CLI)

More information

永和システムマネジメント SP 安井力 東京支社 Python 勉強会実習資料 2005/12/28 この資料の使い方最初から順に試してください 初心者は 書かれたとおり入力して ほかにも似た例を試してみてください 初級者は 書かれたとおり入力して なぜそれで動くのか調べてください 中級者は 設問か

永和システムマネジメント SP 安井力 東京支社 Python 勉強会実習資料 2005/12/28 この資料の使い方最初から順に試してください 初心者は 書かれたとおり入力して ほかにも似た例を試してみてください 初級者は 書かれたとおり入力して なぜそれで動くのか調べてください 中級者は 設問か この資料の使い方最初から順に試してください 初心者は 書かれたとおり入力して ほかにも似た例を試してみてください 初級者は 書かれたとおり入力して なぜそれで動くのか調べてください 中級者は 設問から解答を考えてください 根性 問題も挑戦してください 上級者は 根性 問題も含めて この資料の改善をしてください 根性 問題は やる気と ( 多少の ) 知識がある人に挑戦して欲しいものです 1. 起動と実行

More information

10K

10K 1 2 3 4 Object Oriented Object Oriented Programming(OOP) 5 6 OOP#1 OOP#2 Java 7 Java 8 手続き型 v.s. OOP #1 OOPのメリット#3 追加 変更がラク 出典 立山秀利 Javaのオブジェクト指向がゼッタイにわかる本 秀和システム 出典 立山秀利 Javaのオブジェクト指向がゼッタイにわかる本 秀和システム

More information

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

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

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

IT プロジェクト

IT プロジェクト オブジェクト指向設計による卓球 ゲームの試作 (2) 劉少英 情報科学部コンピュータ科学科 Email:sliu@hosei.ac.jp ホームページ : http://cis.k.hosei.ac.jp/~sliu/ 講義内容 1. 卓球ボールをテーブルの上に移動させる 2. 関連しているクラスにメソッドを加える 3. プログラムの文書化技術 1. 卓球ボールをテーブルの上に 移動させる 8 9

More information

ROTEX カップリング ROTEX GS カップリング INEX ROTEX カップリングの概要 呼び形式 ROTEX の構造 特長 スパイダー カップリングの選定 ROTEX の材質 ハブ形状 寸法 ROTEX の仕上げ穴径表 ROTEX の組付寸法 許容変位 ROTEX GS カップリングの概

ROTEX カップリング ROTEX GS カップリング INEX ROTEX カップリングの概要 呼び形式 ROTEX の構造 特長 スパイダー カップリングの選定 ROTEX の材質 ハブ形状 寸法 ROTEX の仕上げ穴径表 ROTEX の組付寸法 許容変位 ROTEX GS カップリングの概 ROTEX カップリング ROTEX GS カップリング INEX ROTEX カップリングの概要 呼び形式 ROTEX の構造 特長 スパイダー カップリングの選定 ROTEX の材質 ハブ形状 寸法 ROTEX の仕上げ穴径表 ROTEX の組付寸法 許容変位 ROTEX GS カップリングの概要 応用例 呼び形式 ROTEX GS の基本仕様 選定 計測 制御システム用 サーボ及び位置決め駆動用

More information

PYTHON 資料 電脳梁山泊烏賊塾 PYTHON 入門 ゲームプログラミング スプライト スプライト Pygame では pygame.sprite を用いる事でスプライトの管理 描画 衝突判定等を簡単に行う事が出来る 此れを利用してキャラクター操作に関する各種機能をスプライトクラスとして 1 個

PYTHON 資料 電脳梁山泊烏賊塾 PYTHON 入門 ゲームプログラミング スプライト スプライト Pygame では pygame.sprite を用いる事でスプライトの管理 描画 衝突判定等を簡単に行う事が出来る 此れを利用してキャラクター操作に関する各種機能をスプライトクラスとして 1 個 PYTHON 入門 ゲームプログラミング スプライト スプライト Pygame では pygame.sprite を用いる事でスプライトの管理 描画 衝突判定等を簡単に行う事が出来る 此れを利用してキャラクター操作に関する各種機能をスプライトクラスとして 1 個に纏め 複数のキャラクターを扱い易くしたコードを 下記に示す pygame.sprite.sprite. init (self) self.img

More information

プログラミング基礎I(再)

プログラミング基礎I(再) 山元進 クラスとは クラスの宣言 オブジェクトの作成 クラスのメンバー フィールド 変数 配列 メソッド メソッドとは メソッドの引数 戻り値 変数の型を拡張したもの 例えば車のデータベース 車のメーカー 車種 登録番号などのデータ データベースの操作 ( 新規データのボタンなど ) プログラムで使う部品の仕様書 そのクラスのオブジェクトを作ると初めて部品になる 継承 などの仕組みにより カスタマイズが安全

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

< F2D834F838C A815B A CC>

< F2D834F838C A815B A CC> グレゴリー ライプニッツの公式 [Java アプレット ] [Java アプリケーション ] 1. はじめに 次のグレゴリー ライプニッツの公式を用いて π の近似値を求めてみましょう [ グレゴリー ライプニッツの公式 ] π 4 =1-1 3 + 1 5-1 7 + 1 9-1 + 11 シミュレーションソフト グレゴリー ライプニッツの公式による π の近似 を使って π の近似値が求まる様子を観察してみてください

More information

HP用h1

HP用h1 06 06 01 02 07 11 18 20 22 23 vol.6 001 002 vol.6 vol.6 003 006 vol.6 vol.6 007 vol.6 011 012 vol.6 vol.6 013 014 vol.6 vol.6 015 016 vol.6 vol.6 017 PICK UP 018 vol.6 Housing Provider System PICK

More information

< F2D B838A835882CC8CF68EAE2E6A7464>

< F2D B838A835882CC8CF68EAE2E6A7464> ウォーリスの公式 [Java アプレット ] [Java アプリケーション ] 1. はじめに 次のウォーリスの公式を用いて π の近似値を求めてみましょう [ ウォーリスの公式 ] π=2{ 2 2 4 4 6 6 1 3 3 5 5 7 シミュレーションソフト ウォーリスの公式による π の近似 を使って π の近似値が求まる様子を観察してみてください 2.Java アプレット (1) Javaプログラムリスト

More information

Java言語 第1回

Java言語 第1回 Java 言語 第 8 回ウインドウ部品を用いる (1) 知的情報システム工学科 久保川淳司 kubokawa@me.it-hiroshima.ac.jp 前回の課題 (1) マウスを使って, 前回課題で作成した 6 4 のマスの図形で, \ をマウスクリックによって代わるようにしなさい 前回の課題 (2) import java.applet.applet; import java.awt.*;

More information

< F2D E E6A7464>

< F2D E E6A7464> ピタゴラス数 [Java アプレット ] [Java アプリケーション ] 1. はじめに 2 2 2 三平方の定理 a +b =c を満たす3つの自然数の組 ( a, b, c) をピタゴラス数と言います ピタゴラス数の最も簡単な例として (3,4,5) がありますね このピタゴラス数を求めるには ピタゴラスの方法とプラトンの方法の2つの方法があります 2 2 ピタゴラス数 (a,b,c) に対して

More information

Microsoft PowerPoint ppt

Microsoft PowerPoint ppt 独習 Java 第 3 版 13.9 Applet クラス 13.10 AppletContext インターフェイス 13.11 イメージの使用 Applet クラス 右の図は Applet クラスのスーパークラスの継承関係を示す 上の 4 つのクラスから Applet クラスに状態と動作が継承される java.lang.object Java.awt.Component java.awt.container

More information

Microsoft PowerPoint - ロボットの運動学forUpload'C5Q [互換モード]

Microsoft PowerPoint - ロボットの運動学forUpload'C5Q [互換モード] ロボットの運動学 順運動学とは 座標系の回転と並進 同次座標変換行列 Denavit-Hartenberg の表記法 多関節ロボットの順運動学 レポート課題 & 中間試験について 逆運動学とは ヤコビアン行列 運動方程式 ( 微分方程式 ) ロボットの運動学 動力学 Equation of motion f ( ( t), ( t), ( t)) τ( t) 姿勢 ( 関節角の組合せ ) Posture

More information

V8.1新規機能紹介記事

V8.1新規機能紹介記事 WebOTX V8.1 新規機能 EJB 3.0 WebOTX V8.1より Java EE 5(Java Platform, Enterprise Edition 5) に対応しました これによりいろいろな機能追加が行われていますが 特に大きな変更であるEJB 3.0 対応についてご紹介いたします なお WebOTX V7で対応したEJB 2.1についてもWebOTX V8.1で引き続き利用することが可能です

More information

19 ステップで 2 大人気スクリプト言語を学ぶ GUI のあるアプリを作る STEP11 から STEP12 までまとめ 1.Python での GUI アプリ作成 Python は標準ではグラフィックスの機能を持ちませんが ライブラリを使うことで GUI のアプリを作成することができる そこで

19 ステップで 2 大人気スクリプト言語を学ぶ GUI のあるアプリを作る STEP11 から STEP12 までまとめ 1.Python での GUI アプリ作成 Python は標準ではグラフィックスの機能を持ちませんが ライブラリを使うことで GUI のアプリを作成することができる そこで 19 ステップで 2 大人気スクリプト言語を学ぶ GUI のあるアプリを作る STEP11 から STEP12 までまとめ 1.Python での GUI アプリ作成 Python は標準ではグラフィックスの機能を持ちませんが ライブラリを使うことで GUI のアプリを作成することができる そこで Kivy というソフトウェアを使う Kivy は Python のパッケージ管理システム pip を使ってインターネット上のファイルサーバからインストールが可能である

More information

Microsoft PowerPoint - prog03.ppt

Microsoft PowerPoint - prog03.ppt プログラミング言語 3 第 03 回 (2007 年 10 月 08 日 ) 1 今日の配布物 片面の用紙 1 枚 今日の課題が書かれています 本日の出欠を兼ねています 2/33 今日やること http://www.tnlab.ice.uec.ac.jp/~s-okubo/class/java06/ にアクセスすると 教材があります 2007 年 10 月 08 日分と書いてある部分が 本日の教材です

More information

JavaプログラミングⅠ

JavaプログラミングⅠ Java プログラミング Ⅱ 4 回目クラスの機能 (2) コンストラクタ クラス変数 クラスメソッド課題 確認 問題次の各文は正しいか誤っているか答えなさい (1) コンストラクタはメソッドと同様に戻り値をもつ (2) コンストラクタはオブジェクトが生成されると最初に実行される (3) コンストラクタはメソッドと同様にオーバーロードができる (4) コンストラクタは常に public メンバとしなければならない

More information

piyo0704a.rtfd

piyo0704a.rtfd す ここで中核となるのは 組み込み関数 eval および compile です 1 コードを実行するだけなら Python/Jython で記述したコードを実行するためのツール作りに着手します >>> compile("3+4", "(*.*", "eval" >>> eval(compile("3+4",

More information