PowerPoint Presentation

Size: px
Start display at page:

Download "PowerPoint Presentation"

Transcription

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

2 13. アームモデルの Python による表現 理想ロボット :ArmWithHand 構造は関係なし move: 手先や持った物を動かす ハンド :Hand open, close, width アームのリンクの計算 :Link set_jparam シリアルリンクアーム :LinkedArm set_joints 2015 年度前学期電気通信大学大学院情報システム学研究科情報メディアシステム学専攻知能システム論 1 2

3 - 方針 多少 贅沢 ( 計算量のことは気にしない ) でよいから 見通しの良さ 一般性 汎用性 形状モデルの導入 larm_w_hand_sol.py 2015 年度前学期電気通信大学大学院情報システム学研究科情報メディアシステム学専攻知能システム論 1 3

4 - アームモデルの構造 link を PartsObject ( 座標系 CoordinateObject) で表現する 次のlinkは前のlinkに連鎖させる これにより関節の動作を次のlinkの位置を変化させるように連鎖できることになる jointは動かされる座標系の原点ににあり その相対座標変換を変化させることで実現する jointは指定された1 軸の並進または回転をすることができる 2015 年度前学期電気通信大学大学院情報システム学研究科情報メディアシステム学専攻知能システム論 1 4

5 - link の表現 PartsObjectを継承したclass とする baseを前のリンクの適切な場所に置く x, y, z 方向の並進 軸回りの回転のjointを持つ joint parameterによって baseに対するlink frame の相対座標が変化する link frame joint base joint parameter 2015 年度前学期電気通信大学大学院情報システム学研究科情報メディアシステム学専攻知能システム論 1 5

6 - link joint の例 回転関節 並進関節 2015 年度前学期電気通信大学大学院情報システム学研究科情報メディアシステム学専攻知能システム論 1 6

7 - link frame の配置イメージ 関節 (joint) リンク (link) 2015 年度前学期電気通信大学大学院情報システム学研究科情報メディアシステム学専攻知能システム論 1 7

8 - link の表現 PartsObjectを継承したclassとする 前の座標からの配置をbase(FRAME) で表現する. jointによる運動をbaseからの関節パラメタによる座標変換で表現する linkの形状はvframeの中で表現する class Link(PartsObject) : def init (self) : PartsObject. init (self) self.base=frame() self.type = None self.sc =1.0 self.jparam= 年度前学期電気通信大学大学院情報システム学研究科情報メディアシステム学専攻知能システム論 1 8

9 - link joint の例 次のリンク self.vbody self self.jparam self.rel_trans self.base 前のリンク 2015 年度前学期電気通信大学大学院情報システム学研究科情報メディアシステム学専攻知能システム論 1 9

10 - joint の設定 座標変換を指定して親リンクに affix する link.type に 0-5 の整数で指定することで x, y, z の並進またはその周りの回転関節を表す def place_joint(self, prnt, trans, type) : self.type=type tmp = VECTOR() if 0 <= self.type < 3 : tmp[self.type]=1.0 self.j_axis=tmp self.j_kind=0 # 0:translation elif 3 <= self.type < 6 : tmp[self.type-3]=1.0 self.j_axis=tmp self.j_kind=1 # 1:rotational else : print "error: joint type" self.affix(prnt,trans,'rigid') self.base=trans 2015 年度前学期電気通信大学大学院情報システム学研究科情報メディアシステム学専攻知能システム論 1 10

11 - joint の操作 self.typenの0から5の数値を利用して 並進 回転のFRAMEを作り set_transする 単位は 基本は並進はメートル ( のつもり ) 回転はラジアン self.scでスケール ( 単位 ) を指定することができる def set_jparam(self, val) : self.jparam=self.sc*val param=[0,0,0,0,0,0] param[self.type]=self.jparam self.set_trans(self.base*frame(xyzabc=param)) 2015 年度前学期電気通信大学大学院情報システム学研究科情報メディアシステム学専攻知能システム論 1 11

12 - 多関節アームの表現 (LinkedArm) linkの連接でアームを表現する base wristおよびhandを持つ 形状や軸配置は煩雑なので雛形を生成後に指定する class LinkedArm : def init (self,dof) : self.dof = dof self.links=[] self.base = PartsObject() for i in range(dof) : self.links.append(link()) self.wrist = PartsObject() self.tools={} self.hand=none... # base # wrist 2015 年度前学期電気通信大学大学院情報システム学研究科情報メディアシステム学専攻知能システム論 1 12

13 - LinkedArm のイメージ self.wrist self.links[ ] self.hand self.base 2015 年度前学期電気通信大学大学院情報システム学研究科情報メディアシステム学専攻知能システム論 1 13

14 - 多関節アームの表現 (2) 関節パラメタをまとめて扱う def get_joints(self): tmp=[] for i in range(self.dof) : tmp.append(self.links[i].jparam) return tmp def set_joints(self,params) : for i in range(self.dof): self.links[i].set_jparam(params[i]) 2015 年度前学期電気通信大学大学院情報システム学研究科情報メディアシステム学専攻知能システム論 1 14

15 - 3 関節アームの例 (1) まずは形状なしのスケルトン skelton3dof.py l 3 l 2 l 1 l b hand wrist link 3 link 2 link 1 base joint 3 joint 2 joint 1 from larm_w_hand_arm_sol import * # arm = LinkedArm(3) # arm.bh = 0.1 # arm.l1h = 0.05 arm.links[0].place_joint(arm.base, FRAME(xyzabc=[0,0,arm.bh,0,0,0]),5) # arm.l2h = 0.4 arm.links[1].place_joint(arm.links[0],frame(xyzabc=[0,0, arm.l1h,0,0,0]),4) # arm.l3h = 0.4 arm.links[2].place_joint(arm.links[1],frame(xyzabc=[0,0, arm.l2h,0,0,0]),4) # arm.wrist.affix(arm.links[2],frame(xyzabc=[0,0, arm.l3h,0,0,0])) 2015 年度前学期電気通信大学大学院情報システム学研究科情報メディアシステム学専攻知能システム論 1 15

16 - 3 関節アームの例 (2) hand wrist l 3 link 3 joint 3 l 2 link 2 l 1 l b link 1 base joint 2 joint 年度前学期電気通信大学大学院情報システム学研究科情報メディアシステム学専攻知能システム論 1 16

17 - 3 関節アームの例 (3) >>> arm.set_joints([pi/6,pi/4,pi/2]) >>> arm.wrist.where() f:(m:[[ , , ], [ , , ], [ , 0.0, ]],v:[ , , ]) x Base 1 = 6 y 2 = 4 3 = 2 l3h l2h z l1h bh x L 年度前学期電気通信大学大学院情報システム学研究科情報メディアシステム学専攻知能システム論 1 17

18 - 形状を付ける arm3dof.py import new from larm_w_hand_arm_sol import * from hand import * def create_arm() : hand = create_hand() arm = LinkedArm(3,hand=hand) クラスの中身の操作が出来るモジュール ハンドのモジュールハンドの生成 外で定義した関数をクラスのメソッドにする arm.make_shape=new.instancemethod(make_shape,arm,arm. class ) arm.ready_angle=[0,pi/4,pi/2] arm.park_angle=[0,0,0] arm.mark=new.instancemethod(mark_arm,arm,arm. class ) arm.solve=new.instancemethod(arm_sol,arm,arm. class ) arm.solve2=new.instancemethod(arm_sol2,arm,arm. class ) arm.move=new.instancemethod(arm_move,arm,arm. class ) arm.make_shape() return arm 2015 年度前学期電気通信大学大学院情報システム学研究科情報メディアシステム学専攻知能システム論 1 18

19 - 形状を付ける def make_shape(self) : self.bh = 0.1 self.br = 0.1 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.1 self.l1h = 0.05 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) # self.l2r = 0.04 self.l2h = 0.4 self.links[1].set_vbody(visual.cylinder(axis=(0.0, 0.0, self.l2h ), radius=self.l2r)) self.links[1].place_joint(self.links[0], FRAME(xyzabc=[0,0, self.l1h,0,0,0]),4) # self.l3r = 0.02 self.l3h = 0.4 self.links[2].set_vbody(visual.cylinder(axis=(0.0, 0.0, self.l3h ), radius=self.l3r)) self.links[2].place_joint(self.links[1], FRAME(xyzabc=[0,0, self.l2h,0,0,0]),4) # self.wrist.set_vbody(visual.box(length=0.04,height=0.04,width=0.02)) self.wrist.affix(self.links[2],frame(xyzabc=[0,0, self.l3h,0,0,0])) 2015 年度前学期電気通信大学大学院情報システム学研究科情報メディアシステム学専攻知能システム論 1 19

20 - ハンド 物をつかむときに掴みやすいように座標系を設定する. z x y x z box.grip y hand box 2015 年度前学期電気通信大学大学院情報システム学研究科情報メディアシステム学専攻知能システム論 1 20

21 - ハンド アームの手首部に装着したときに, その座標系がどのような状態になるかを考えて座標変換行列を設定する. hand y z x z hand.set_trans(frame(xyzabc=[0,0,0.09,pi,0,0])) wrist x y 2015 年度前学期電気通信大学大学院情報システム学研究科情報メディアシステム学専攻知能システム論 1 21

22 - hand.py (1) from time import * from object_model_v import * import new def create_hand() : hand = Hand() hand.body=visual.box(size=(0.03,0.06,0.04),color=visual.color.green) hand.finger1=visual.box(size=(0.03,0.004,0.05),color=visual.color.green) hand.finger2=visual.box(size=(0.03,0.004,0.05),color=visual.color.green) hand.body.pos=(0,0,0.07) hand.finger1.pos=(0,0.002,0.025) hand.finger2.pos=(0,-0.002,0.025) hand.body.frame=hand.vframe hand.finger1.frame=hand.vframe hand.finger2.frame=hand.vframe 2015 年度前学期電気通信大学大学院情報システム学研究科情報メディアシステム学専攻知能システム論 1 22

23 - hand.py (2) def hand_open(self,width) : self.finger1.pos=(0,width/ ,0.025) self.finger2.pos=(0,-width/ ,0.025) sleep(0.5) hand.open=new.instancemethod(hand_open,hand,hand. class ) def hand_close(self,width=0.0) : self.finger1.pos=(0,width/ ,0.025) self.finger2.pos=(0,-width/ ,0.025) sleep(0.5) hand.close=new.instancemethod(hand_close,hand,hand. class ) hand.set_trans(frame(xyzabc=[0,0,0.09,pi,0,0])) return hand 2015 年度前学期電気通信大学大学院情報システム学研究科情報メディアシステム学専攻知能システム論 1 23

24 - ハンドだけ作ってみる >>> hand=create_hand() >>> 2015 年度前学期電気通信大学大学院情報システム学研究科情報メディアシステム学専攻知能システム論 1 24

25 - 指の開閉 >>> hand.open(0.05) >>> >>> hand.close() >>> 2015 年度前学期電気通信大学大学院情報システム学研究科情報メディアシステム学専攻知能システム論 1 25

26 - 3 関節アーム形状, ハンド付き >>> arm=create_arm() >>> hand wrist l 3 link 3 joint 3 l 2 link 2 l 1 l b link 1 base joint 2 joint 年度前学期電気通信大学大学院情報システム学研究科情報メディアシステム学専攻知能システム論 1 26

27 - 3 関節アーム形状付き (3) hand wrist >>> arm.set_joints([pi/6,pi/4,pi/2]) >>> arm.wrist.where().xyzabc() [ , , , , , ] >>> arm.hand.where().xyzabc() [ , , , , , ] l 3 link 3 joint 3 l 2 link 2 l 1 l b link 1 base joint 2 joint 年度前学期電気通信大学大学院情報システム学研究科情報メディアシステム学専攻知能システム論 1 27

28 - 座標軸を消して アニメをする >>> AxesXYZ.visible_all(0) >>> for i in range(100) : th1=pi/6+(pi/100)*i th2=pi/4-(pi/200)*i th3=pi/2-(pi/100)*i arm.set_joints([th1,th2,th3]) time.sleep(0.1) >>> 2015 年度前学期電気通信大学大学院情報システム学研究科情報メディアシステム学専攻知能システム論 1 28

29 - 環境モデル作成 (env_arm3dof.py) from object_model_v import * from arm3dof import * def create_env() : global room, table, place_a, place_b, box, up200, arm, hand room = CoordinateObject() table_body=visual.box(color=visual.color.blue,width=0.02,length=0.5,height=0.7) 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.15,0.25,0))) hand=arm.hand 形状の原点と座標系の原点の差を調整する 2015 年度前学期電気通信大学大学院情報システム学研究科情報メディアシステム学専攻知能システム論 1 29

30 - 環境を取り込む env_arm3dof.py >>> create_env() >>> 2015 年度前学期電気通信大学大学院情報システム学研究科情報メディアシステム学専攻知能システム論 1 30

31 - 例題 13-1:wrist を box の位置へ動かす >>>??? 2015 年度前学期電気通信大学大学院情報システム学研究科情報メディアシステム学専攻知能システム論 1 31

32 - 例題 13-1:wrist を box の位置へ動かす >>>??? >>> arm.hand.where(box).xyzabc() [ , , , , , ] >>> arm.get_joints() [ , 0.62, 2.27] >>> 2015 年度前学期電気通信大学大学院情報システム学研究科情報メディアシステム学専攻知能システム論 1 32

33 - 7 自由度アーム (pa10)+ ハンド 2015 年度前学期電気通信大学大学院情報システム学研究科情報メディアシステム学専攻知能システム論 1 33

34 - 例題 13-2:6 関節アームを作る hand wrist base l h =0.09 l 6 =0.05 l 5 =0.1 l 4 =.01 l 3 =0.3 l 2 =0.4 l 1 =0.05 l b =0.1 (1) 6 関節アームを作る arm6dof.py 関節配置 リンク長は左図のとおり形状は適切に 関節パラメタが全部 0のとき ベース座標系と手首座標系の姿勢が一致している ハンドと手首の姿勢はx 軸回りに 180 度まわす (x 軸は一致 y,z 軸は反対方向になる ) 2015 年度前学期電気通信大学大学院情報システム学研究科情報メディアシステム学専攻知能システム論 1 34

35 - arm6dof_tmpl.py #!/usr/bin/env python # -*- Python -*- # import sys from larm_w_hand_arm_sol_new import * from hand import * # # instanciate 6dof arm # def create_arm() : hand = create_hand() arm = LinkedArm(6,hand=hand) arm.ready_angle=[0,pi/6,pi/2,0,pi/3,0] arm.park_angle=[0,0,0,0,0,0] make_shape(arm) return arm 2015 年度前学期電気通信大学大学院情報システム学研究科情報メディアシステム学専攻知能システム論 1 35

36 - arm6dof_tmpl.py def make_shape(self) : # base self.bh = 0.1 # self.br = 0.1 # self.base.vbody=visual.cylinder(axis=(0.0, 0.0, self.bh ), radius=self.br) # self.base.vbody.frame = self.base.vframe # # link 1 self.l1h = 0.05 # self.l1r = 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) # # link2 self.l2h = 0.4 # link3 self.l3 = 0.3 # link4 self.l4h = 年度前学期電気通信大学大学院情報システム学研究科情報メディアシステム学専攻知能システム論 1 36

37 - arm6dof_tmpl.py # link6 self.l6h = 0.05 # wrist # 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[5],frame(xyzabc=[0,0, self.l6h,0,0,0])) # end of make_shape # 2015 年度前学期電気通信大学大学院情報システム学研究科情報メディアシステム学専攻知能システム論 1 37

38 - env_arm6dof_tmpl.py from time import * from object_model_v import * from arm6dof_tmpl import *... def go_to_box(): a=[pi/6,pi/4,pi/2,0,0,pi/3] arm.set_joints(a) return arm.hand.where(box).xyzabc() 2015 年度前学期電気通信大学大学院情報システム学研究科情報メディアシステム学専攻知能システム論 1 38

39 - 次回予告 手先を望みの場所 姿勢にするには? => 逆運動学の問題 2015 年度前学期電気通信大学大学院情報システム学研究科情報メディアシステム学専攻知能システム論 1 39

PowerPoint Presentation

PowerPoint Presentation 知能システム論 1 (12) 2013.6.26 情報システム学研究科情報メディアシステム学専攻知能システム学講座末廣尚士 - 自由な構造のシリアルアームを作る larm_w_hand_arm_sol.py arm6dof のうち以下の関数は関節数が 6 以上ならいくつでも使えるので larm_w_hand_arm_sol.py に移す solve() ready(), park() move()

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

スライド 1

スライド 1 (8) 2017.6.7 電気通信大学大学院情報理工学研究科末廣尚士 9. ロボットアームの逆運動学 ( 幾何 学的 ( 解析的 ) 解法 ) 何をしたいか 手首, 手先, ツールの 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 (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 - ロボットの運動学forUpload'C5Q [互換モード]

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

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

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

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

スライド 1

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

More information

Microsoft PowerPoint - Robotics_13_review_1short.pptx

Microsoft PowerPoint - Robotics_13_review_1short.pptx 東北文化学園大学 科学技術学部知能情報システム学科 費 仙鳳 ロボットの概要 数学的基礎 座標変換 同次変換 オイラー角 ロールピッチヨウ角 座標系設定 リンクパラメータ 腕型ロボットの構造 腕型ロボットの順運動学 腕型ロボットの逆運動学 腕型ロボットのヤコビアン 速度 特異姿勢 1 2 3 4 1 三角関数 ベクトルと行列 並進変換と回転変換 同次変換行列の導入 オイラー角 (Z-Y-Z) ロール

More information

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

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

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

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

文字列操作と正規表現

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

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

スライド 1

スライド 1 機構学 Part6: ロボットの運動学 金子真 きんにく筋肉 筋紡錘 : 筋肉の長さを測るセンサ モータ センサ ロボットの運動学 関節にモータがついている場合の角度の取り方 関節にモータがついている場合の角度の取り方 関節にモータがついている場合の角度の取り方 関節にモータがついている場合の角度の取り方 関節にモータがついている場合の角度の取り方 ワイヤ駆動式ロボット ワイヤ駆動式ロボット ワイヤプーリ機構の場合

More information

Microsoft Word - thesis.doc

Microsoft Word - thesis.doc 剛体の基礎理論 -. 剛体の基礎理論初めに本論文で大域的に使用する記号を定義する. 使用する記号トルク撃力力角運動量角速度姿勢対角化された慣性テンソル慣性テンソル運動量速度位置質量時間 J W f F P p .. 質点の並進運動 質点は位置 と速度 P を用いる. ニュートンの運動方程式 という状態を持つ. 但し ここでは速度ではなく運動量 F P F.... より質点の運動は既に明らかであり 質点の状態ベクトル

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

Microsoft Word - USB60F_Raspi_ doc

Microsoft Word - USB60F_Raspi_ doc REX-USB60F USB RS-232C 変換アダプタ REX-USB60F の Raspberry Pi での使用について 1. 概要 2 2. 設定手順 2 2-1. REX-USB60F の装着と確認 2 3. 通信の確認 4 3-1. cutecom による確認 4 4. Python での使用 8 4-1. データ送信のスクリプト 8 4-2. データ受信のスクリプト 9 2016 年

More information

グラフの探索 JAVA での実装

グラフの探索 JAVA での実装 グラフの探索 JAVA での実装 二つの探索手法 深さ優先探索 :DFS (Depth-First Search) 幅優先探索 :BFS (Breadth-First Search) 共通部分 元のグラフを指定して 極大木を得る 探索アルゴリズムの利用の観点から 利用する側からみると 取り替えられる部品 どちらの方法が良いかはグラフに依存 操作性が同じでなければ 共通のクラスの派生で作ると便利 共通化を考える

More information

RL_tutorial

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

More information

離散数理工学 第 2回 数え上げの基礎:漸化式の立て方

離散数理工学 第 2回  数え上げの基礎:漸化式の立て方 2 okamotoy@uec.ac.jp 2015 10 20 2015 10 18 15:29 ( ) (2) 2015 10 20 1 / 45 ( ) 1 (10/6) ( ) (10/13) 2 (10/20) 3 ( ) (10/27) (11/3) 4 ( ) (11/10) 5 (11/17) 6 (11/24) 7 (12/1) 8 (12/8) ( ) (2) 2015 10 20

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

GUIプログラムⅣ

GUIプログラムⅣ GUI プログラム Ⅳ 画像指定ウィンドウの生成 ファイル名 :awtimage.java import java.awt.*; import java.awt.event.*; public class awtimage extends Frame // コンポーネントクラスの宣言 Button btnbrowse; Label lblcaption7; TextField txtimage; //

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

EnSight 10.1の新機能

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

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

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

pp2018-pp9base

pp2018-pp9base プログラミング入門 Processing プログラミング第 9 回 九州産業大学理工学部情報科学科神屋郁子 ( pp@is.kyusan-u.ac.jp ) 時限 クラス 水 1 機械 ( クラス 3) 水 2 機械 ( クラス 1) 水 4 電気 (B1 B2) 後ろ 5 列は着席禁止 3 人掛けの中央は着席禁止 今後の予定 第 9 回 : 複数の図形 (2) 繰り返しと座標変換第 回 : 画像の表示と音の再生

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

離散数理工学 第 2回 数え上げの基礎:漸化式の立て方

離散数理工学 第 2回  数え上げの基礎:漸化式の立て方 2 okamotoy@uec.ac.jp 2014 10 21 2014 10 29 10:48 ( ) (2) 2014 10 21 1 / 44 ( ) 1 (10/7) ( ) (10/14) 2 (10/21) 3 ( ) (10/28) 4 ( ) (11/4) 5 (11/11) 6 (11/18) 7 (11/25) ( ) (2) 2014 10 21 2 / 44 ( ) 8 (12/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

スライド 1

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

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

Program Design (プログラム設計)

Program Design  (プログラム設計) 7. モジュール化設計 内容 : モジュールの定義モジュールの強度又は結合力モジュール連結モジュールの間の交信 7.1 モジュールの定義 プログラムモジュールとは 次の特徴を持つプログラムの単位である モジュールは 一定の機能を提供する 例えば 入力によって ある出力を出す モジュールは 同じ機能仕様を実装しているほかのモジュールに置き換えられる この変化によって プログラム全体に影響をあまり与えない

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

< F2D B825082CC96E291E82E6A7464>

< F2D B825082CC96E291E82E6A7464> 3x+1 の問題 [Java アプレット ] [Java アプリケーション ] 1. はじめに どんな自然数から始めても良いので その数が偶数ならば2で割り 奇数ならば3 倍して1を加えることを繰り返します そうすると どんな自然数から始めても必ず1になるというのはほんとうなのでしょうか 例えば 11から始めると 11 34 17 52 26 13 40 20 10 5 16 8 4 2 1 となります

More information

< F2D82518E9F8AD CC95BD8D7388DA93AE2E6A7464>

< F2D82518E9F8AD CC95BD8D7388DA93AE2E6A7464> 2 次関数のグラフの平行移動 [Java アプレット ] [Java アプリケーション ] 1. はじめに 2 2 y=ax のグラフとy=a(x-b) +c のグラフは 位置は違うけれど 形も広がりも全く同じです 2 2 y=a(x-b) +c のグラフは y=ax のグラフをx 軸方向に ( 右方向に ) +b y 軸方向に ( 上方向に ) +c だけ平行移動したものです 2 シミュレーションソフト

More information

intra-mart Accel Platform — IM-Repository拡張プログラミングガイド   初版  

intra-mart Accel Platform — IM-Repository拡張プログラミングガイド   初版   Copyright 2018 NTT DATA INTRAMART CORPORATION 1 Top 目次 1. 改訂情報 2. はじめに 2.1. 本書の目的 2.2. 対象読者 2.3. サンプルコードについて 2.4. 本書の構成 3. 辞書項目 API 3.1. 最新バージョン 3.1.1. 最新バージョンの辞書を取得する 3.2. 辞書項目 3.2.1. 辞書項目を取得する 3.2.2.

More information

機構学 平面機構の運動学

機構学 平面機構の運動学 問題 1 静止座標系 - 平面上を運動する節 b 上に2 定点,Bを考える. いま,2 点の座標は(0,0),B(50,0) である. 2 点間の距離は 50 mm, 点の速度が a 150 mm/s, 点 Bの速度の向きが150 である. 以下の問いに答えよ. (1) 点 Bの速度を求めよ. (2) 瞬間中心を求めよ. 節 b a (0,0) b 150 B(50,0) 問題 1(1) 解答 b

More information

Microsoft PowerPoint - 三次元座標測定 ppt

Microsoft PowerPoint - 三次元座標測定 ppt 冗長座標測定機 ()( 三次元座標計測 ( 第 9 回 ) 5 年度大学院講義 6 年 月 7 日 冗長性を持つ 次元座標測定機 次元 辺測量 : 冗長性を出すために つのレーザトラッカを配置し, キャッツアイまでの距離から座標を測定する つのカメラ ( 次元的なカメラ ) とレーザスキャナ : つの角度測定システムによる座標測定 つの回転関節による 次元 自由度多関節機構 高増潔東京大学工学系研究科精密機械工学専攻

More information

Microsoft Word - IPC-intro.docx

Microsoft Word - IPC-intro.docx プロセス間通信 ( サーバー クライアント ) について同じコンピュータで動いている複数のプロセス ( 実行中のプログラムのこと ) もしくは異なるコンピュータで動いている複数のプロセスの間の通信 ( 情報の受け渡し ) のための方法ここでは 一つのプロセスをサーバー 他のプロセスをクライアントとする方法について述べる サーバーは文字通り クライアントからの要求を受けて何らかの仕事をする 受け のプロセス

More information

vecrot

vecrot 1. ベクトル ベクトル : 方向を持つ量 ベクトルには 1 方向 2 大きさ ( 長さ ) という 2 つの属性がある ベクトルの例 : 物体の移動速度 移動量電場 磁場の強さ風速力トルクなど 2. ベクトルの表現 2.1 矢印で表現される 矢印の長さ : ベクトルの大きさ 矢印の向き : ベクトルの方向 2.2 2 個の点を用いて表現する 始点 () と終点 () を結ぶ半直線の向き : ベクトルの方向

More information

(1) プログラムの開始場所はいつでも main( ) メソッドから始まる 順番に実行され add( a,b) が実行される これは メソッドを呼び出す ともいう (2)add( ) メソッドに実行が移る この際 add( ) メソッド呼び出し時の a と b の値がそれぞれ add( ) メソッド

(1) プログラムの開始場所はいつでも main( ) メソッドから始まる 順番に実行され add( a,b) が実行される これは メソッドを呼び出す ともいう (2)add( ) メソッドに実行が移る この際 add( ) メソッド呼び出し時の a と b の値がそれぞれ add( ) メソッド メソッド ( 教科書第 7 章 p.221~p.239) ここまでには文字列を表示する System.out.print() やキーボードから整数を入力する stdin.nextint() などを用いてプログラムを作成してきた これらはメソッドと呼ばれるプログラムを構成する部品である メソッドとは Java や C++ などのオブジェクト指向プログラミング言語で利用されている概念であり 他の言語での関数やサブルーチンに相当するが

More information

Python2 Python3 Python 2.7 Python 3.6 Python2 Python3 Python 2.7 Python3.6 Python Python Anaconda Python Anaconda Python

Python2 Python3 Python 2.7 Python 3.6 Python2 Python3 Python 2.7 Python3.6 Python Python Anaconda Python Anaconda Python (Python ) C++ Python Python 1 Python2 Python3 Python 2.7 Python 3.6 Python2 Python3 Python 2.7 Python3.6 Python Python Anaconda Python Anaconda Python https://www.continuum.io/downloads 2 Python 3.6 version

More information

Microsoft PowerPoint - kougi9.ppt

Microsoft PowerPoint - kougi9.ppt C プログラミング演習 第 9 回ポインタとリンクドリストデータ構造 1 今まで説明してきた変数 #include "stdafx.h" #include int _tmain(int argc, _TCHAR* argv[]) { double x; double y; char buf[256]; int i; double start_x; double step_x; FILE*

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション ロボティックス Robotics 先端工学基礎課程講義 小泉憲裕 2016/5/6 講義情報 当面はこちらのサイト, http://www.medigit.mi.uec.ac.jp/lect_robotics.html ロボットの運動学 ロボットの運動学 ロボットの運動学は現在 ニュートン力学を発展させた解析力学を基盤とすることが多い 解析力学では物体を 剛体としてあらわす 第 4 回 座標変換平行

More information

設問 println はそこで指定されている内容を出力して改行するものである. 一方,print は内容を出力して改行しないものである. 下記のプログラムそれぞれについて出力結果がどうなるか回答せよ. 下記のプログラム - を実行すると, fms という文字列が 回表示される. プログラム - vo

設問 println はそこで指定されている内容を出力して改行するものである. 一方,print は内容を出力して改行しないものである. 下記のプログラムそれぞれについて出力結果がどうなるか回答せよ. 下記のプログラム - を実行すると, fms という文字列が 回表示される. プログラム - vo 年組番号名前点数 設問 設問 2 設問 3 6 7 8 0 設問 4 6 7 8 0 設問 5 設問 6 2 3 4 5 6 設問 println はそこで指定されている内容を出力して改行するものである. 一方,print は内容を出力して改行しないものである. 下記のプログラムそれぞれについて出力結果がどうなるか回答せよ. 下記のプログラム - を実行すると, fms という文字列が 回表示される.

More information

C#の基本

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

More information

Microsoft PowerPoint - Ruby n

Microsoft PowerPoint - Ruby n 一般財団法人 Ruby アソシエーションホームページからの抜粋 技術者向け情報 -> 開発 -> Ruby -> チュートリアル http://www.ruby.or.jp/ja/tech/development/ruby/tutorial/ Tom. Stuart 著, 笹田耕一監訳, 笹井崇司訳 : アンダースタンディングコンピュテーション, オライリー ジャパン ( 第 1 章 ) Ruby

More information

○前期高齢者(70歳~74歳)(老人保健なし)

○前期高齢者(70歳~74歳)(老人保健なし) 入院外レセプトのカスタマイズプログラムについて変更箇所を以下に記します 1. レセプト処理時に作成する中間ファイルについてコピー句が変更となります CPCOMMONDAT2.INC CPRECEDAT1.INC このコピー句変更に伴い 中間ファイルの作成場所が /var/tmp/ から / /tmp/ に変更となり 初期処理での中間ファイル名設定時に HOSPNUM のセットが必要となります 2.

More information

JavaプログラミングⅠ

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

More information

Python C/C++ IPMU IRAF

Python C/C++ IPMU IRAF Python C/C++ IPMU 2010 11 24IRAF Python Swig Numpy array Image Python 2.6.6 swig 1.3.40 numpy 1.5.0 pyfits 2.3 pyds9 1.1 svn co hjp://svn.scipy.org/svn/numpy/tags/1.5.0/doc/swig swig/numpy.i /usr/local/share/swig/1.3.40/python

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

< 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

ツチオーネ

ツチオーネ 1038 398 430 1039 828 894 1040 1,980 2,138 1039 1320 475 513 9062 1267 336 363 1187 2,000 2,160 1359 684 739 9098 1405 351 379 1714 1715 660 713 3,135 3,386 1760 1,400 1,512 1263 532 575 9060 1339 247

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

:56 1 (Forward kinematics) (Global frame) G r = (X, Y, Z) (Local frame) L r = (x, y, z) 1 X Y, Z X Y, Z 1 ( ) ( ) 1.2 (Joint rotati

:56 1 (Forward kinematics) (Global frame) G r = (X, Y, Z) (Local frame) L r = (x, y, z) 1 X Y, Z X Y, Z 1 ( ) ( ) 1.2 (Joint rotati 2013.09.21 17:56 1 (Forward kinematics) 1.1 2 (Global frame) G r (X, Y, Z) (Local frame) L r (x, y, z) 1 X Y, Z X Y, Z 1 ( ) ( ) 1.2 (Joint rotation) 3 P G r, L r G r L r Z α : G r Q L Z,α r (1) 1 G r

More information

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

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

More information

JavaプログラミングⅠ

JavaプログラミングⅠ Java プログラミング Ⅱ 10 回目への出力 ストリーム ストリームとは入力または出力の流れをもつデータの連鎖ですストリームは異なる機器からのデータを統一的に扱う考え方です 文字ストリーム 文字ベースの入出力をサポートします - Unicode(Java 内部 ) とローカルコード (Java 外部 ) の変換が行われ プログラマはその違いを意識しなくてすみます バイトストリームバイナリデータの入出力をサポートします

More information

Microsoft PowerPoint - Salome-Meca.pptx

Microsoft PowerPoint - Salome-Meca.pptx 1 SALOME-MECA による CAD モデリングとメッシュ生成 秋山善克 2 本日の演習内容 3DCADの概要説明 CAD 演習 1 Primitivesによるモデル作成 CAD 演習 2 押出 回転によるモデル作成 Mesh 演習 1 メッシュ作成 Mesh 演習 2 メッシュアルゴリズムの変更 Mesh 演習 2 メッシュサイズの変更 Mesh 演習 3 メッシュの任意サイズ指定 Mesh

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

< F2D82518E9F8AD CC834F CC8CFC82AB82C68D4C>

< F2D82518E9F8AD CC834F CC8CFC82AB82C68D4C> 2 次関数のグラフの向きと広がり [Java アプレット ] [Java アプリケーション ] 1. はじめに 2 2 y=ax のグラフについて x の係数 aが正のときと負のときでは グラフにどのような違いがあるでしょうか 2 2 y=ax のグラフについて x の係数 aが正のとき 係数 aの値が大きくなるにつれて グラフの広がりはどうなるでしょうか 2 2 y=ax のグラフについて x の係数

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

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション 1 02 グラフゖックで簡単な図形を描く図形描画プログラム 1 今回作成するゕプリケーションの概要 ボタンをクリックすると図形を描くプログラム 行われる動作 [1] ボタンをクリック [2] そのボタンに対する図形を描く これを使用者とコンピュータの関係で描くと [ 使用者 コンピュータ ] ボタンをクリック [ 使用者 コンピュータ ] 図形を描画して見せる 使用者がコンピュータにすること ボタンをクリック

More information

Microsoft PowerPoint ppt

Microsoft PowerPoint ppt 独習 Java 第 3 版 13.1 アプレットの概要 13.2 最初の Java アプレット 13.3 アプレットのライフサイクル 13.4 Graphics クラス アプレットの概要 (1/3) Web ページの HTML ソースコードから参照されるプログラム Web サーバーからブラウザに動的にダウンロードされる ダウンロードされたアプレットはブラウザの環境で実行される アプレットビューアなどのツールで実行することもできる

More information

Microsoft PowerPoint - OOP.pptx

Microsoft PowerPoint - OOP.pptx 第 5 回 第 3 章継承 91 継承 ( インヘリタンス ): ウインドウシステムを例に説明 図 3.1: ウインドウの中にラベル, ボタン, リストの部品 各部品の属性と操作共通の属性と操作 ウインドウ内の左上を原点として (x, y) で場所指定 : 属性 (width, height) でサイズ指定 : 属性 識別のための名前 (name): 属性 置く位置の指定 (setlocation,

More information

(1) 情報表示機能 1つ目として専用ツールを作成するにあたり よく見受けられる専用画面を使用した情報表示機能 ( 以降 : 情報表示機能と記す ) を作成した これは 図形を選択すると 関連する情報が専用画面に表示される機能である 4. プラグインツールの開発手法 4.1 プラグインモジュールの開

(1) 情報表示機能 1つ目として専用ツールを作成するにあたり よく見受けられる専用画面を使用した情報表示機能 ( 以降 : 情報表示機能と記す ) を作成した これは 図形を選択すると 関連する情報が専用画面に表示される機能である 4. プラグインツールの開発手法 4.1 プラグインモジュールの開 QGIS を用いたプラグインツールの作成手法について エンジニアリング本部国土基盤情報部建設情報グループ内田照久 1. はじめに総務省では 災害発生時にも行政情報の業務を継続するため 効率的で災害に強い電子自治体の実現に向けて取り組んでいる 自治体における地理情報システム ( 以降 GIS と記す ) の整備状況は 平成 27 年 4 月 1 日現在 都道府県では 46 団体 (97.9%) 市区町村では

More information

第9回 型とクラス

第9回 型とクラス 1 関数型プログラミング 第 9 回型とクラス 萩野達也 hagino@sfc.keio.ac.jp 2 静的型検査と型推論 型 値の集合 Bool = { True, False } Char = { 'a', 'b',... } Int = {... -2, -1, 0, 1, 2, 3,... } 静的型検査 Haskell はコンパイル時に式の型を検査する 静的 = コンパイル時 (v.s.

More information

JavaプログラミングⅠ

JavaプログラミングⅠ Java プログラミング Ⅰ 12 回目クラス 今日の講義で学ぶ内容 クラスとは クラスの宣言と利用 クラスの応用 クラス クラスとは 異なる複数の型の変数を内部にもつ型です 直観的に表現すると int 型や double 型は 1 1 つの値を管理できます int 型の変数 配列型は 2 5 8 6 3 7 同じ型の複数の変数を管理できます 配列型の変数 ( 配列変数 ) クラスは double

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

JEB Plugin 開発チュートリアル 第4回

JEB Plugin 開発チュートリアル 第4回 Japan Computer Emergency Response Team Coordination Center 電子署名者 : Japan Computer Emergency Response Team Coordination Center DN : c=jp, st=tokyo, l=chiyoda-ku, email=office@jpcert.or.jp, o=japan Computer

More information

アスペクトの相互作用を解消するアスペクトの提案

アスペクトの相互作用を解消するアスペクトの提案 アスペクトの相互作用を解消する アスペクトの提案 武山文信千葉滋東京工業大学大学院情報理工学研究科数理 計算科学専攻 2009/03/11 武山文信, 千葉滋, アスペクトの相互作用を解消するアスペクトの提案 @PPL2009 in 高山 1/21 アスペクト指向プログラミング (AOP) 横断的関心事をアスペクトとしてモジュール化 オブジェクト指向 (OOP) では上手く分離できない クラス階層に

More information

Microsoft PowerPoint - lec06 [互換モード]

Microsoft PowerPoint - lec06 [互換モード] 内 容 Ⅶ. クラスの定義 クラス定義の基本 フィールドの定義 メソッド定義 例題 : 円クラスのフィールドとメソッドの定義 コンストラクタ 例題 :Circle2を使ったアプレット 1 2 クラス定義の基本 オブジェクト指向のプログラム プログラム実行時に登場するオブジェクトの性質や挙動を記述する オブジェクトの性質や挙動を記述したものが クラス である Java プログラムを書くとはクラスを定義すること

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

ToDo: 今回のタイトル

ToDo: 今回のタイトル グラフの描画 プログラミング演習 I L03 今週の目標 キャンバスを使って思ったような図 ( 指定された線 = グラフ ) を描いてみる 今週は発展問題が三つあります 2 グラフの準備 値の算出 3 値の表示 これまでは 文字列や値を表示するのには 主に JOptionPane.showMessageDialog() を使っていましたが ちょっとしたものを表示するのには System.out.println()

More information

デジタル表現論・第6回

デジタル表現論・第6回 デジタル表現論 第 6 回 劉雪峰 ( リュウシュウフォン ) 2016 年 5 月 16 日 劉 雪峰 ( リュウシュウフォン ) デジタル表現論 第 6 回 2016 年 5 月 16 日 1 / 16 本日の目標 Java プログラミングの基礎配列 ( 復習 関数の値を配列に格納する ) 文字列ファイルの書き込み 劉 雪峰 ( リュウシュウフォン ) デジタル表現論 第 6 回 2016 年

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

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 プレゼンテーション アルゴリズム設計 5 月 18 日 Agenda 諸注意 Pythonの心得 エラー処理 クラス 諸注意 諸注意 提出前に必ず実行してください! エラーがある場合はコメントアウト等, 実行されないように 関数名指定にも関わらず, 自分で関数名を決めている どの問題なのか分からなくなるので, 決められた名前を使ってください 関数をクォーテーションで囲んでいる 定義しただけでは実行されないので, クォーテーションで囲む意味はありません.

More information

シミュレーションの簡単な例 GUI 無しのシミュレーションを作る GUI を作る パラメタを設定するデモンストレーションをする 2 オブジェクト指向プログラミング特論

シミュレーションの簡単な例 GUI 無しのシミュレーションを作る GUI を作る パラメタを設定するデモンストレーションをする 2 オブジェクト指向プログラミング特論 例 : 簡単な酔歩シミュレーション 1 オブジェクト指向プログラミング特論 シミュレーションの簡単な例 GUI 無しのシミュレーションを作る GUI を作る パラメタを設定するデモンストレーションをする 2 オブジェクト指向プログラミング特論 簡単な二次元酔歩 Walker は二次元面内で 4 方向に等確率で移動 メソッド move で移動し 新しい位置を返す Simulation クラス 多数の

More information

intra-mart Accel Platform — イベントナビゲータ 開発ガイド   初版   None

intra-mart Accel Platform — イベントナビゲータ 開発ガイド   初版   None クイック検索検索 目次 Copyright 2013 NTT DATA INTRAMART CORPORATION 1 Top 目次 intra-mart Accel Platform イベントナビゲータ開発ガイド初版 2013-07-01 None 改訂情報概要イベントフローの作成 更新 削除をハンドリングするイベントフローを非表示にする回答を非表示にするリンクを非表示にするタイトル コメントを動的に変更するリンク情報を動的に変更するナビゲート結果のリンクにステータスを表示する

More information

Javaセキュアコーディングセミナー東京 第3回 入出力(File, Stream)と例外時の動作 演習解説

Javaセキュアコーディングセミナー東京 第3回 入出力(File, Stream)と例外時の動作 演習解説 Java セキュアコーディングセミナー東京第 3 回入出力と例外時の動作 演習解説 2012 年 11 月 11 日 ( 日 ) JPCERT コーディネーションセンター脆弱性解析チーム戸田洋三 1 Hands-on Exercises コンパイルエラーに対処しよう ファイルからのデータ入力を実装しよう 2 Hands-on Exercise(1) サンプルコードの コンパイルエラーに対処しよう 3

More information

デジタル表現論・第4回

デジタル表現論・第4回 デジタル表現論 第 4 回 劉雪峰 ( リュウシュウフォン ) 2016 年 5 月 2 日 劉 雪峰 ( リュウシュウフォン ) デジタル表現論 第 4 回 2016 年 5 月 2 日 1 / 14 本日の目標 Java プログラミングの基礎 出力の復習 メソッドの定義と使用 劉 雪峰 ( リュウシュウフォン ) デジタル表現論 第 4 回 2016 年 5 月 2 日 2 / 14 出力 Systemoutprint()

More information

Microsoft PowerPoint - kougi10.ppt

Microsoft PowerPoint - kougi10.ppt C プログラミング演習 第 10 回二分探索木 1 例題 1. リストの併合 2 つのリストを併合するプログラムを動かしてみる head1 tail1 head2 tail2 NULL NULL head1 tail1 tail1 があると, リストの併合に便利 NULL 2 #include "stdafx.h" #include struct data_list { int data;

More information

謗域・ュ逕ィppt

謗域・ュ逕ィppt 情報工学 2017 年度後期第 5 回 [11 月 1 日 ] 静岡大学 工学研究科機械工学専攻ロボット 計測情報講座創造科学技術大学院情報科学専攻 三浦憲二郎 講義日程 第 6 回 11 月 8 日画像処理パート第 1 回 第 7 回 11 月 15 日 CGパート第 6 回 第 8 回 11 月 22 日 CGパート第 7 回 第 9 回 11 月 29 日 CGパート試験 講義アウトライン [11

More information

Applet java.lang.object java.awt.component java.awt.container java.awt.panel java.applet.applet

Applet java.lang.object java.awt.component java.awt.container java.awt.panel java.applet.applet 13 Java 13.9 Applet 13.10 AppletContext 13.11 Applet java.lang.object java.awt.component java.awt.container java.awt.panel java.applet.applet Applet (1/2) Component GUI etc Container Applet (2/2) Panel

More information

<4D F736F F F696E74202D AC C8899E D834F E >

<4D F736F F F696E74202D AC C8899E D834F E > Java 簡単な応用プログラム ( その 2) Java は すでにある部品群を上手く使ってプログラムを組み立てます 前回と同様に Frame を使って ウインドウを表示するプログラムを作りましょう. Frameは ウインドウを作るための部品で フレーム ( 枠 ) とタイトルおよび, 決められた仕組みが入っています. java.awt パッケージは, ウインドウ関連の部品が多くあります. javax.swing

More information

piyo0704b.rtfd

piyo0704b.rtfd ウィンドウ内に収まらなくなると 右および下に スクロールバーが現われます 51 Text 部品と Scrollbar 1 Text 部品と Scrollbar とを組み合わせて利用すると便利です root = Tk(); root.title("text with: Scrollbar") root.config(width=150, height=80) frame = Frame(root) frame.pack(fill=both,

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

Java 基礎問題ドリル ~ メソッドを理解する ~ 次のプログラムコードに 各設問の条件にあうメソッドを追加しなさい その後 そのメソッドが正しく動作することを検証するためのプログラムコードを main メソッドの中に追加しなさい public class Practice { // ここに各設問

Java 基礎問題ドリル ~ メソッドを理解する ~ 次のプログラムコードに 各設問の条件にあうメソッドを追加しなさい その後 そのメソッドが正しく動作することを検証するためのプログラムコードを main メソッドの中に追加しなさい public class Practice { // ここに各設問 Java 基礎問題ドリル ~ メソッドを理解する ~ 次のプログラムコードに 各設問の条件にあうメソッドを追加しなさい その後 そのメソッドが正しく動作することを検証するためのプログラムコードを main メソッドの中に追加しなさい public class Practice { // ここに各設問のメソッドを追加する public static void main(string[] args) {

More information