レコード class Point attr_accessor("x", "y") インスタンス変数の宣言 point.rb

Size: px
Start display at page:

Download "レコード class Point attr_accessor("x", "y") インスタンス変数の宣言 point.rb"

Transcription

1 レコードとオブジェクト

2 レコード class Point attr_accessor("x", "y") インスタンス変数の宣言 point.rb

3 irb(main):004:0> load ("point.rb") => true irb(main):005:0> p = Point.new() => #<Point:0x > irb(main):006:0> p.x = 3 => 3 irb(main):007:0> p.y = 4 => 7 irb(main):008:0> p => オブジェクト (Point クラスのインスタンス ) インスタンス変数への代入

4 irb(main):013:0> p.y => 4 インスタンス変数の参照 irb(main):014:0> sqrt(p.x**2 + p.y**2) => 5.0 ( もちろん include(math) が必要 ) 実は Ruby では, レコードもオブジェクトの一種 ( オブジェクトについては後で説明する )

5 def point_make(u,v) p = Point.new() p.x = u p.y = v p レコード / オブジェクト ( への参照 ) を返す point.rb

6 def point_scale(p,s) point_make(p.x*s, p.y*s) 点の座標値のスカラ倍 def point_add(p,q) point_make(p.x+q.x, p.y+q.y) 点の座標値の加算 point.rb

7 def point_interpolate(p,q,t) point_add(point_scale(p,1-t), point_scale(q,t)) def point_draw(p,a) if 0 <= p.y+0.5 && p.y+0.5 < a.length() && 0 <= p.x+0.5 && p.x+0.5 < a[0].length() a[p.y+0.5][p.x+0.5]=1 Ruby の配列の添え字が実数でもいいことを利用している 配列 a の縦の長さ 配列 a の横の長さ 0.5 は四捨五入をするため point.rb

8 load("./max.rb") load("./abs.rb") def line_draw(p0,p1,a) 2 点間の差分ベクトルの x,y の大きい数 n=max(abs(p1.x - p0.x), abs(p1.y - p0.y)) for i in 0..n point_draw(point_interpolate(p0,p1,i*1.0/n), a) line.rb

9 def bezier_draw(p0,c,p1,a) n = 10 prev = p0 for i in 1..n t = i*1.0/n q0 = point_interpolate(p0, c, t) q1 = point_interpolate(c, p1, t) r = point_interpolate(q0, q1, t) line_draw(prev, r, a) prev = r 曲線を n 等分する prev から r まで線分を描く bezier.rb

10 練習 授業の Web ページから point.rb,line.rb, bezier.rb, kana.rb をダウンロードして 練習 8.1 a) の図形 kana() を描画してみなさい (abs.rb, max.rb, make1d.rb, make2d.rb などは すでに作成したものである )

11 進捗状況の確認 1. kana() が表示できた ( できた時点で投票してください ) できた人は 教科書 168 ページの練習 8.2 に挑戦してみてください

12 Line や Bezier もレコードにできる class Line attr_accessor("p0", "p1") class Bezier attr_accessor("p0", "c", "p1")

13 load("./max.rb") load("./abs.rb") def line_draw(l, a) 2 点間の差分ベクトルの x,y の大きい数 n=max(abs(l.p1.x l.p0.x), abs(l.p1.y l.p0.y)) for i in 0..n point_draw(point_interpolate(l.p0,l.p1,i*1.0/n), a) line.rb

14 レコードの意義 一まとまりの複数のデータを表す変数が 1 個ですむ Point の場合,x 座標と y 座標をまとめて扱える Line の場合, 始点と終点をまとめて扱える 4 つの座標をまとめて扱えている Bezier の場合, 始点と終点, 第 3 点をまとめて扱える 6 つの座標をまとめて扱えている このようなデータのまとまりを値として扱える 関数の値として返すことができる 4 つの座標を一度に返すことは通常の関数では難しい

15 しかし, レコードのままだと クラス ( レコードの種類 ) ごとに操作を定義 Pointクラス Lineクラス Bezierクラス point_draw line_draw bezier_draw これらが混在している場合, if figure が Point クラスのオブジェクト point_draw(figure,a) else if figure が Line クラスのオブジェクト line_draw(figure,a) else if figure が Bezier クラスのオブジェクト bezier_draw(figure,a)

16 オブジェクト指向では オブジェクト ( ここではレコードのこと ) に自分に対する操作の仕方を覚えさせる Point のレコードに, スカラー倍, ベクトル和などの操作を覚えさせる クラス定義の中で操作法 ( メソッド ) を定義する カプセル化 (encapsulation) 継承 (inheritance) 多相性 (polymorphism)

17 class Point attr_accessor("x", "y") def initialize(u,v) self.x = u self.y = v 自分自身の でもよい 初期化メソッド クラス def scale(s) Point.new(self.x * s, self.y * s) def add(q) Point.new(self.x + q.x, self.y + q.y) scale メソッド 自分の操作法をクラス定義の一部としメソッドと呼ぶ カプセル化 oo-point.rb

18 irb(main):005:0> p = Point.new(3,4) irb(main):006:0> p.x => 3 irb(main):007:0> q = p.scale(2) irb(main):008:0> p.add(q) irb(main):009:0> p.add(q).scale(0.5) 初期化メソッドの引数 新しいオブジェクト 新しいオブジェクト 新しいオブジェクト

19 load("./max.rb") load("./abs.rb") load("./oo-point.rb ) 2 点間の差分ベクトルの x,y の大きい数 def line_draw(p0, p1, a) n=max(abs(p1.x p0.x), abs(p1.y p0.y)) for i in 0..n p0.interpolate(p1,i*1.0/n).draw(a) line_draw.rb

20 isrb(main):001:0> load("line_draw.rb") true isrb(main):002:0> load("make2d.rb") true isrb(main):003:0> a=make2d(200,200) : ( 省略 ) isrb(main):004:0> show(a) : ( 省略 ) isrb(main):005:0> line_draw(point.new(50,50),point.new(100,170),a) isrb(main):006:0> line_draw(point.new(40,150),point.new(180,70),a)

21 練習 授業のページから oo-point.rb をダウンロードして 練習 8.5 b), c) を追加したら line_draw.rb で直線を描画してみなさい 進捗状況の確認 1. 直線が描画できた時点で投票してください その後 練習 8.5 a), d) も定義してください

22 進捗状況の確認 1. 直線が描画できた時点で投票してください 2. drawメソッドはできた 3. interpolateメソッドはできた 4. どちらもできていない

23 ( 抽象的な ) クラス Figure load("oo-point.rb") load("line_draw.rb") class Figure def draw(a) pnts = self.points() for i in 0..(pnts.length()-2) line_draw(pnts[i], pnts[i+1], a) draw メソッドの定義 Figure の種類によらず points メソッドで点列が得られる カプセル化 多相性 oo-figure.rb

24 load("oo-figure.rb") class Line < Figure attr_accessor("p0", "p1") Figure オブジェクトの継承 draw メソッドを使える 継承 def initialize(q,r) self.p0 = q self.p1 = r def points() [self.p0, self.p1] points メソッドは両端点を返す カプセル化 oo-line.rb

25 load("oo-line.rb") class Bezier < Line attr_accessor("p0", "c", "p1") def initialize(q,r,s) super(q,s) self.c = r def points() n = 16 pnts = Array.new(n+1) pnts[0] = self.p0 pnts[n] = self.p1 for i in 1..(n-1) t = i*1.0/n q0 = self.p0.interpolate(c, t) q1 = self.c. interpolate(p1, t) pnts[i] = q0.interpolate(q1, t) pnts Line オブジェクトの継承 draw メソッド (iniaalize メソッド ) Line クラスの iniaalize メソッドを呼び出す points メソッドは t=0 1 の点列 (16+1 個 ) カプセル化 最初と最後の点は self.p0 と self.p1 線形補間を 2 段階して曲線上の点を求める 点列を返す oo-bezier.rb

26 練習 授業のページから oo-figure.rb, oo-line.rb, oo-bezier.rb, drawall.rb をダウンロードして drawline() と drawground() を実行してみなさい 進捗状況の確認 1. drawground() ができたら投票してください その後は oo-circle.rb を完成させて drawmoon() を実行してください ただし 練習 8.5 d) の rotate メソッドが必要です

27 回転 (rotate) と円の描画 点の回転 (θ) " $ # x! y! % " ' = & #$ cosθ sinθ sinθ cosθ %" &' $ # x y % ' & y 円の描画 ( 正多角形 ) x 軸上の点 original を θ 回転してから平行移動 self.c pnts[1] pnts[0]=pnts[1] self.r original x

28 load("oo-figure.rb") include(math) class Circle < Figure attr_accessor("c", r") def initialize(q,r) self.c = q self.r = r def points() n = 32 pnts = Array.new(n+1) original = Point.new(self.r, 0) pnts[0] = original.add(self.c) pnts[n] = pnts[0] for i in 1..(n-1) pnts[i] = # 自分で書く pnts Figure オブジェクトの継承 draw メソッドを使える points メソッドは t=0 1 の点列 (32+1 個 ) カプセル化 原点を中心とした円の始点 = 終点 (original) を作る original を平行移動する original の回転と平行移動で円周上の点列を作る 点列を返す oo-circle.rb

29 多相性の実現 def drawall(elements,a) for i in 0..elements.length()-1 elements[i].draw(a) elements[i] のクラスが何であれ, 共通した draw メソッドが使える 多相性 drawall.rb

30 def drawmoon() p0=point.new(0,85) p2=point.new(99,85) f=[line.new(p0,p2), Bezier.new(p0,Point.new(50,60),p2), Circle.new(Point.new(66,20),20)] a=make2d(100,100) drawall(f,a) show(a) drawall.rb

31 def drawall(elements,a) for i in 0..elements.length()-1 figure_draw(elements[i], a) def figure_draw(f,a) pnts = f.points() for i in 0..(pnts.length()-2) line_draw(pnts[i], pnts[i+1], a) 必ずしも draw メソッドでなくても構わないたとえば関数でも良いが 多相性 f のクラスが何であれ, 共通した points メソッドが使える 多相性 drawall_fig.rb

32 レコードのままでは クラス ( レコードの種類 ) ごとに操作を定義 Pointクラス Lineクラス Bezierクラス point_draw line_draw bezier_draw これらが混在している場合, if figure が Point クラスのオブジェクト point_draw(figure,a) else if figure が Line クラスのオブジェクト line_draw(figure,a) else if figure が Bezier クラスのオブジェクト bezier_draw(figure,a)

33 カプセル化, 継承, 多相性 カプセル化 もの を表すデータとメソッドをまとめ, 決められたインスタンスメソッドを通してのみインスタンス変数にアクセスをさせ, インスタンス変数に直接触らせないこと 継承 他のクラスのインスタンス変数やメソッドを受け継いで新しいクラスを作ること新しいクラスをサブクラス, 元のクラスをスーパークラスと呼ぶ 多相性 同じ名前のインスタンスメソッドを呼び出しても, 適用されたオブジェクトによって異なるメソッドを呼び出すこと実行時にメソッドを探す動的結合で実現する

34 ベクトルの計算など ベクトルの演算 カプセル化 加減算 内積 正規化 直交ベクトルなど Pointクラス内のメソッド定義 def dotproduct(v) self.x*v.x + self.y*v.y def normalize() self.scale(1.0 / sqrt(self.dotproduct(self))) def normal() Point.new(self.y, -self.x).normalize() ベクトルの操作法をクラス内でメソッドとして定義する カプセル化 oo-point.rb

35 交差の条件 直線 ( 線分 ) の交点計算 線分の両端点が他方の直線の両側 ( 左右 ) に分かれる = 符号付距離が異符号になる 交点の位置 線分の両端点を他方の直線からの距離で内分 ( 線形補間 )

36 def line_intersect(p0,p1,q0,q1) pnormal = p1.sub(p0).normal() qstart = pnormal.dotproduct(q0.sub(p0)) qend = pnormal.dotproduct(q1.sub(p0)) qnormal = pstart = pend = if (qstart * qend > 0) (pstart * pend > 0) nil else p0.interpolate(p1, ((pstart * 1.0) / (pstart - pend))) line_intersect.rb

37 練習 line_intersect.rb の line_intersect メソッドを定義しなさい 授業のページから drawintersect.rb をダウンロードして,drawintersect() を実行しなさい (Circle クラスが必要 ) 進捗状況の確認 1. drawintersect() が表示できた ( できた時点で投票してください )

38 : def intersect(other) spnts = self.points() opnts = other.points() results = Array.new() for i in 0..(spnts.length()-2) for j in 0..(opnts.length()-2) point = Figure オブジェクト間の intersect メソッドの定義線分列同士の交点 points メソッドで点列が得られる 大きさ 0 の配列 ( でも中に入る!) line_intersect(spnts[i],spnts[i+1],opnts[j],opnts[j+1]) if point!= nil 隣接 2 点からなる線分 results[results.length()] = point の間で交点を計算する 交点があれば配列の最後に加える ( 配列は自動的に 1 つ大きくなる ) results 交点列 ( 配列 ) を返す : oo-figure.rb

39 def drawintersect() a = make2d(400, 400) f = [Line.new(Point.new(50, 50), Point.new(300, 350)), Circle.new(Point.new(199, 199), 70), Bezier.new(Point.new(50, 200), Point.new(150, 50), Point.new(350, 300)), Bezier.new(Point.new(250, 50), Point.new(100, 150), Point.new(200, 350))] for i in 0..(f.length()-1) f[i].draw(a) for j in (i+1)..(f.length()-1) results = f[i].intersect(f[j]) for k in 0..(results.length()-1) Circle.new(results[k], 4).draw(a) show(a) i 番目の Figure を描く i 番目と j 番目の Figure の交点を配列で受け取る 各交点の位置に半径 4 の小円を描く drawintersect.rb

レコード class Point attr_accessor("x", "y") インスタンス変数の宣言 point.rb

レコード class Point attr_accessor(x, y) インスタンス変数の宣言 point.rb レコードとオブジェクト レコード 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 =>

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

レコードとオブジェクト

レコードとオブジェクト レコードとオブジェクト レコード 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

オブジェクト指向

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

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

vecrot

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

More information

Javaプログラムの実行手順

Javaプログラムの実行手順 戻り値のあるメソッド メソッドには 処理に使用する値を引数として渡すことができました 呼び出し 側からメソッドに値を渡すだけでなく 逆にメソッドで処理を行った結果の値を 呼び出し側で受け取ることもできます メソッドから戻してもらう値のことを もどりち戻り値といいます ( 図 5-4) 図 5-4. 戻り値を返すメソッドのイメージ 戻り値を受け取ることによって ある計算を行った結果や 処理に成功したか失

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

Microsoft PowerPoint - ruby_instruction.ppt

Microsoft PowerPoint - ruby_instruction.ppt Ruby 入門 流れ Ruby の文法 画面に出力 キーボードから入力 数値 文字列 変数 配列 ハッシュ 制御構造 ( 分岐 繰り返しなど ) if while case for each 関数 クラス Ruby とは プログラミング言語 インタプリタ言語 オブジェクト指向 国産 ウェブアプリケーションフレームワーク RubyOnRails で注目 弊社での Web アプリケーション開発に利用 画面に出力

More information

プログラミング入門1

プログラミング入門1 プログラミング入門 2 第 6 回継承 コンストラクタ 1 講義資料について 新しい言語の機能 ( オブジェクト指向の機構 ) については 随時参考書などを参照するのがよい 過去の資料も参考になる http://java2005.cis.k.hosei.ac.jp/ 今回の範囲は 上記ページの 17 回に詳しい 2 テーマ : 継承 コンストラクタ 継承 (inheritance) インスタンス変数の継承

More information

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

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

More information

CG

CG Grahics with Processig 7-6 座標変換と同次座標 htt://vilab.org 塩澤秀和 6-7 H. SHIOZAWA htt://vilab.org 6. * 座標系 座標系の変換 座標系 目盛りのつけかた 原点の位置 軸と 軸の方向 軸と 軸の目盛りの刻み 論理座標系 描画命令で使う目盛り ( 座標系 ) をつけかえることができる 論理座標系 描画命令で使う 座標 画面座標系

More information

線形代数とは

線形代数とは 線形代数とは 第一回ベクトル 教科書 エクササイズ線形代数 立花俊一 成田清正著 共立出版 必要最低限のことに限る 得意な人には物足りないかもしれません 線形代数とは何をするもの? 線形関係 y 直線 yもも 次式で登場する (( 次の形 ) 線形 ただし 次元の話世の中は 3 次元 [4[ 次元 ] 次元 3 次元 4 次元 はどうやって直線を表すの? ベクトルや行列の概念 y A ベクトルを使うと

More information

代数 幾何 < ベクトル > 1 ベクトルの演算 和 差 実数倍については 文字の計算と同様 2 ベクトルの成分表示 平面ベクトル : a x e y e x, ) ( 1 y1 空間ベクトル : a x e y e z e x, y, ) ( 1 1 z1

代数 幾何 < ベクトル > 1 ベクトルの演算 和 差 実数倍については 文字の計算と同様 2 ベクトルの成分表示 平面ベクトル : a x e y e x, ) ( 1 y1 空間ベクトル : a x e y e z e x, y, ) ( 1 1 z1 代数 幾何 < ベクトル > ベクトルの演算 和 差 実数倍については 文字の計算と同様 ベクトルの成分表示 平面ベクトル :, 空間ベクトル : z,, z 成分での計算ができるようにすること ベクトルの内積 : os 平面ベクトル :,, 空間ベクトル :,,,, z z zz 4 ベクトルの大きさ 平面上 : 空間上 : z は 良く用いられる 5 m: に分ける点 : m m 図形への応用

More information

PowerPoint プレゼンテーション

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

More information

02: 変数と標準入出力

02: 変数と標準入出力 C プログラミング入門 基幹 7 ( 水 5) 13: 構造体 Linux にログインし 以下の講義ページを開いておくこと http://www-it.sci.waseda.ac.jp/ teachers/w483692/cpr1/ 2016-07-06 1 例題 : 多角形の面積 n = 5 (5 角形 ) の例 n 1 n 1 1 p 1 T 0 S = i=0 p 0 T i = i=0 2

More information

数学 ⅡB < 公理 > 公理を論拠に定義を用いて定理を証明する 1 大小関係の公理 順序 (a > b, a = b, a > b 1 つ成立 a > b, b > c a > c 成立 ) 順序と演算 (a > b a + c > b + c (a > b, c > 0 ac > bc) 2 図

数学 ⅡB < 公理 > 公理を論拠に定義を用いて定理を証明する 1 大小関係の公理 順序 (a > b, a = b, a > b 1 つ成立 a > b, b > c a > c 成立 ) 順序と演算 (a > b a + c > b + c (a > b, c > 0 ac > bc) 2 図 数学 Ⅱ < 公理 > 公理を論拠に定義を用いて定理を証明する 大小関係の公理 順序 >, =, > つ成立 >, > > 成立 順序と演算 > + > + >, > > 図形の公理 平行線の性質 錯角 同位角 三角形の合同条件 三角形の合同相似 量の公理 角の大きさ 線分の長さ < 空間における座漂とベクトル > ベクトルの演算 和 差 実数倍については 文字の計算と同様 ベクトルの成分表示 平面ベクトル

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション プログラマー勉強会 1 回 basic.h 補足 [ 修飾子 ] const 付けた変数は初期化以外で値を設定することができなくなる 定数宣言に使う unsigned 付けた変数は符号がなくなり 正の値しか設定できない [ 条件コンパイル ] #ifdef M ここ以前に M がマクロとして定義されていれば ここ以下をコンパイルする #ifndef M ここ以前に M というマクロが定義されていなければ

More information

02: 変数と標準入出力

02: 変数と標準入出力 C プログラミング入門 総機 1 ( 月 1) 13: 構造体 Linux にログインし 以下の講義ページを開いておくこと http://www-it.sci.waseda.ac.jp/ teachers/w483692/cpr1/ 2015-07-06 1 例題 : 多角形の面積 n = 5 (5 角形 ) の例 n 1 n 1 p 1 S = T i = 1 2 p i p i+1 i=0 i=0

More information

p tn tn したがって, 点 の 座標は p p tn tn tn また, 直線 l と直線 p の交点 の 座標は p p tn p tn よって, 点 の座標 (, ) は p p, tn tn と表され p 4p p 4p 4p tn tn tn より, 点 は放物線 4 p 上を動くこと

p tn tn したがって, 点 の 座標は p p tn tn tn また, 直線 l と直線 p の交点 の 座標は p p tn p tn よって, 点 の座標 (, ) は p p, tn tn と表され p 4p p 4p 4p tn tn tn より, 点 は放物線 4 p 上を動くこと 567_ 次曲線の三角関数による媒介変数表示 次曲線の三角関数による媒介変数表示 次曲線 ( 放物線 楕円 双曲線 ) の標準形の, についての方程式と, 三角関数による媒介変数表示は次のように対応している.. 放物線 () 4 p (, ) ( ptn, ptn ) (). 楕円. 双曲線 () () (, p p ), tn tn (, ) ( cos, sin ) (, ), tn cos (,

More information

<8D828D5A838A817C A77425F91E6318FCD2E6D6364>

<8D828D5A838A817C A77425F91E6318FCD2E6D6364> 4 1 平面上のベクトル 1 ベクトルとその演算 例題 1 ベクトルの相等 次の問いに答えよ. ⑴ 右の図 1 は平行四辺形 である., と等しいベクトルをいえ. ⑵ 右の図 2 の中で互いに等しいベクトルをいえ. ただし, すべてのマス目は正方形である. 解 ⑴,= より, =,= より, = ⑵ 大きさと向きの等しいものを調べる. a =d, c = f d e f 1 右の図の長方形 において,

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

Microsoft PowerPoint ppt

Microsoft PowerPoint ppt 独習 Java ( 第 3 版 ) 6.7 変数の修飾子 6.8 コンストラクタの修飾子 6.9 メソッドの修飾子 6.10 Object クラスと Class クラス 6.7 変数の修飾子 (1/3) 変数宣言の直前に指定できる修飾子 全部で 7 種類ある キーワード final private protected public static transient volatile 意味定数として使える変数同じクラスのコードからしかアクセスできない変数サブクラスまたは同じパッケージ内のコードからしかアクセスできない変数他のクラスからアクセスできる変数インスタンス変数ではない変数クラスの永続的な状態の一部ではない変数不意に値が変更されることがある変数

More information

PowerPoint Presentation

PowerPoint Presentation 付録 2 2 次元アフィン変換 直交変換 たたみ込み 1.2 次元のアフィン変換 座標 (x,y ) を (x,y) に移すことを 2 次元での変換. 特に, 変換が と書けるとき, アフィン変換, アフィン変換は, その 1 次の項による変換 と 0 次の項による変換 アフィン変換 0 次の項は平行移動 1 次の項は座標 (x, y ) をベクトルと考えて とすれば このようなもの 2 次元ベクトルの線形写像

More information

問 1 図 1 の図形を作るプログラムを作成せよ 但し ウィンドウの大きさは と し 座標の関係は図 2 に示すものとする 図 1 作成する図形 原点 (0,0) (280,0) (80,0) (180,0) (260,0) (380,0) (0,160) 図 2 座標関係 問 2

問 1 図 1 の図形を作るプログラムを作成せよ 但し ウィンドウの大きさは と し 座標の関係は図 2 に示すものとする 図 1 作成する図形 原点 (0,0) (280,0) (80,0) (180,0) (260,0) (380,0) (0,160) 図 2 座標関係 問 2 問 1 図 1 の図形を作るプログラムを作成せよ 但し ウィンドウの大きさは 400 200 と し 座標の関係は図 2 に示すものとする 図 1 作成する図形 原点 (0,0) (280,0) (80,0) (180,0) (260,0) (380,0) (0,160) 図 2 座標関係 問 2 for 文を用いて図 3 の様な図形を描くプログラムを作成せよ 但し ウィンドウのサイズは 300 300

More information

Processingをはじめよう

Processingをはじめよう Processing をはじめよう 第 7 章 動きその 2 目次 フレームレート スピードと方向 移動 回転 拡大 縮小 2 点間の移動 乱数 タイマー 円運動 今回はここまで 2 2 点間の移動 Example 7-6 (EX_08_06) 始点 (startx, starty) から終点 (stopx, stopy) まで移動する 座標更新の計算方法は後述 始点と終点を変更しても動作する 変更して確認

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

平成 年 月 7 日 ( 土 第 75 回数学教育実践研究会アスティ 45 ビル F セミナールーム A 札幌医科大学 年 P ab, を正の定数とする 平面上において ( a, を中心とする円 Q 4 C と (, b を中心とする円 C が 原点 O で外接している また P を円 C 上の点と

平成 年 月 7 日 ( 土 第 75 回数学教育実践研究会アスティ 45 ビル F セミナールーム A 札幌医科大学 年 P ab, を正の定数とする 平面上において ( a, を中心とする円 Q 4 C と (, b を中心とする円 C が 原点 O で外接している また P を円 C 上の点と 平成 年 月 7 日 ( 土 第 75 回数学教育実践研究会アスティ 45 ビル F セミナールーム 微分積分の拡張 変数関数問題へのアプローチ 予選決勝優勝法からラグランジュ未定乗数法 松本睦郎 ( 札幌北高等学校 変数関数の最大値 最小値に関する問題には多様なアプローチ法がある 文字を固定した 予選決勝優勝法, 計算のみで解法する 文字消去法, 微分積分を利用した ラグランジュ未定乗数法 がある

More information

PowerPoint プレゼンテーション

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

More information

PowerPoint プレゼンテーション

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

More information

相関係数と偏差ベクトル

相関係数と偏差ベクトル 相関係数と偏差ベクトル 経営統計演習の補足資料 07 年 月 9 日金沢学院大学経営情報学部藤本祥二 相関係数の復習 r = s xy s x s y = = n σ n i= σn i= n σ n i= n σ i= x i xҧ y i തy x i xҧ n σ n i= y i തy x i xҧ x i xҧ y i തy σn i= y i തy 式が長くなるので u, v の文字で偏差を表すことにする

More information

ベクトルの基礎.rtf

ベクトルの基礎.rtf 章ベクトルの表現方法 ベクトルは大きさと方向を持つ量である. 図.に示すように始点 Pから終点 Qに向かう有向線分として で表現する. 大きさは矢印の長さに対応している. Q P 図. ベクトルの表現方法 文字を使ったベクトルの表記方法として, あるいは の表記が用いられるが, このテキストでは太字表示 を採用する. 専門書では太字で書く の表記が一般的であり, 矢印を付ける表記は用いない. なお,

More information

Microsoft PowerPoint - lec06 [互換モード]

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

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

DVIOUT-exer

DVIOUT-exer プログラム理論と言語 : 期末試験用問題集 Part2 (2009) 演習問題 2-0 オブジェクト指向言語, とりわけ Java に関する用語の設問をもうける. 重要な語句については復習をしておくこと. 1 演習問題 2-1( レジメ記載の問題を具体化した問題 ) 下記は, 整数 (int) を要素とする線形リストのプログラムである. class IntCell { private int value

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション オブジェクト指向 プログラミング演習 第 3 回継承 オーバーライド インタフェース 前回までのお話 モジュール化 大きなプログラムは部品に分けて設計する オブジェクト指向 モノ中心に考える プログラムでは クラス ( モノの種類 ) を定義する ある特定のモノは インスタンスで表す クラスは型 インスタンスは値 プログラムを書くときも部品ごとに書く モノの部品であるモノはフィールドに書く 手順の部品である手順はメソッドに書く

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

公式集 数学 Ⅱ B 頭に入っていますか? 8 和積の公式 A + B A B si A + si B si os A + B A B si A si B os si A + B A B os A + os B os os A + B A B os A os B si si 9 三角関数の合成 si

公式集 数学 Ⅱ B 頭に入っていますか? 8 和積の公式 A + B A B si A + si B si os A + B A B si A si B os si A + B A B os A + os B os os A + B A B os A os B si si 9 三角関数の合成 si 公式集 数学 Ⅱ B 頭に入っていますか? < 図形と方程式 > 点間の距離 A x, B x, のとき x x + : に分ける点 A x, B x, のとき 線分 AB を:に分ける点 æ x + x + ö は ç, è + + ø 注 < のとき外分点 直線の方程式 傾き で 点 x, を通る : x 点 x, x, を通る : x 注 分母が のとき は座標軸と平行な直線 x x 4 直線の位置関係

More information

20~22.prt

20~22.prt [ 三クリア W] 辺が等しいことの証明 ( 円周角と弦の関係利用 ) の の二等分線がこの三角形の外接円と交わる点をそれぞれ とするとき 60 ならば であることを証明せよ 60 + + 0 + 0 80-60 60 から ゆえに 等しい長さの弧に対する弦の長さは等しいから [ 三クリア ] 方べきの定理 接線と弦のなす角と円周角を利用 線分 を直径とする円 があり 右の図のように の延長上の点

More information

2013年度 九州大・理系数学

2013年度 九州大・理系数学 九州大学 ( 理系 ) 前期日程問題 解答解説のページへ a> とし, つの曲線 y= ( ), y= a ( > ) を順にC, C とする また, C とC の交点 P におけるC の接線をl とする 以下 の問いに答えよ () 曲線 C とy 軸および直線 l で囲まれた部分の面積をa を用いて表せ () 点 P におけるC の接線と直線 l のなす角を ( a) とき, limasin θ(

More information

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

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

More information

Microsoft PowerPoint - 9.pptx

Microsoft PowerPoint - 9.pptx 9/7/8( 水 9. 線形写像 ここでは 行列の積によって 写像を定義できることをみていく また 行列の積によって定義される写像の性質を調べていく 拡大とスカラー倍 行列演算と写像 ( 次変換 拡大後 k 倍 k 倍 k 倍拡大の関係は スカラー倍を用いて次のように表現できる p = (, ' = k ' 拡大前 p ' = ( ', ' = ( k, k 拡大 4 拡大と行列の積 拡大後 k 倍

More information

のようにする 上の例では GeneralPath を new するときに コンストラクタに何も指定していないが 直線を表す Line, 四角形を表す Rectangle などを引数に与えてもよい 矢印を作成するメソッドの引数矢印を表す GeneralPath を生成するために getarrowpat

のようにする 上の例では GeneralPath を new するときに コンストラクタに何も指定していないが 直線を表す Line, 四角形を表す Rectangle などを引数に与えてもよい 矢印を作成するメソッドの引数矢印を表す GeneralPath を生成するために getarrowpat 手書認識 グラフ描画 Step3 認識した数式をもとに関数グラフを描画する < 数式の構造解析 > 一般に 1+3 などと文字列で数式をうけとっても コンピュータはそれをそのままで式とは認識しない あくまで 文字列は文字の並びであり そこに数学的な意味は含まれない 数式として計算するためには プログラムによって数式の構造を解析し コンピュータが計算できる形式に変換する必要がある 今回のプログラムでは

More information

Chap3.key

Chap3.key 区分求積法. 面積 ( )/ f () > n + n, S 長方形の和集合で近似 n f (n ) リーマン和 f (n ) 区分求積法 リーマン和 S S n n / n n f ()d リーマン積分 ( + ) + S (, f ( )) 微分の心 Zoom In して局所的な性質を調べる 積分の心 Zoom Ou して大域的な性質を調べる 曲線の長さ 領域の面積や体積 ある領域に含まれる物質の質量

More information

プログラミング入門1

プログラミング入門1 プログラミング入門 2 第 8 回表形式データ (1) 1 テーマ : 表形式データ (1) 配列と複合データを用いた表形式データ データの登録 データの検索 データの更新 実際的はソフトウェアでは 表形式データの ( 例えば データベースのデータ ) を利用する場面が非常に多く とても重要である そこで 表形式を扱うプログラミングを繰り返しとりあげる 2 テーマ : 表形式データ (1) 配列と複合データを用いた表形式データ

More information

Microsoft PowerPoint - 9.pptx

Microsoft PowerPoint - 9.pptx 9. 線形写像 ここでは 行列の積によって 写像を定義できることをみていく また 行列の積によって定義される写像の性質を調べていく 行列演算と写像 ( 次変換 3 拡大とスカラー倍 p ' = ( ', ' = ( k, kk p = (, k 倍 k 倍 拡大後 k 倍拡大の関係は スカラー倍を用いて次のように表現できる ' = k ' 拡大前 拡大 4 拡大と行列の積 p ' = ( ', '

More information

<4D F736F F D20824F E B82CC90FC90CF95AA2E646F63>

<4D F736F F D20824F E B82CC90FC90CF95AA2E646F63> 1/1 平成 3 年 6 月 11 日午前 1 時 3 分 4 ベクトルの線積分 4 ベクトルの線積分 Ⅰ. 積分の種類 通常の物理で使う積分には 3 種類あります 積分変数の数に応じて 線積分 ( 記号 横(1 重 d, dy, dz d ( ine: 面積分 ( 記号 縦 横 ( 重 線 4 ベクトルの線積分 重積分記号 ddy, dydz, dzdz ds ( Surface: 1 重積分記号

More information

平成 30 年度入学試験問題 数学 注意事項試験開始後, 問題冊子及び解答用紙のページを確かめ, 落丁, 乱丁あるいは印刷が不鮮明なものがあれば新しいものと交換するので挙手すること 1. 試験開始の合図があるまで問題冊子を聞かないこと 試験開始後は, すべての解答用紙に受験番号 氏名を記入すること

平成 30 年度入学試験問題 数学 注意事項試験開始後, 問題冊子及び解答用紙のページを確かめ, 落丁, 乱丁あるいは印刷が不鮮明なものがあれば新しいものと交換するので挙手すること 1. 試験開始の合図があるまで問題冊子を聞かないこと 試験開始後は, すべての解答用紙に受験番号 氏名を記入すること 平成 30 年度入学試験問題 数学 注意事項試験開始後, 問題冊子及び解答用紙のページを確かめ, 落丁, 乱丁あるいは印刷が不鮮明なものがあれば新しいものと交換するので挙手すること 1. 試験開始の合図があるまで問題冊子を聞かないこと 試験開始後は, すべての解答用紙に受験番号 氏名を記入すること 各志願者は, 下の表 に指示した問題を解答すること ただし, 教育学部に ついては志望するコース (

More information

断面の諸量

断面の諸量 断面の諸量 建設システム工学科高谷富也 断面 次モーメント 定義 G d G d 座標軸の平行移動 断面 次モーメント 軸に平行な X Y 軸に関する断面 次モーメント G X G Y を求める X G d d d Y 0 0 G 0 G d d d 0 0 G 0 重心 軸に関する断面 次モーメントを G G とし 軸に平行な座標軸 X Y の原点が断面の重心に一致するものとする G G, G G

More information

Math-quarium 練習問題 + 図形の性質 線分 は の二等分線であるから :=:=:=: よって = = = 線分 は の外角の二等分線であるから :=:=:=: よって :=: したがって == 以上から =+=+= 右の図において, 点 は の外心である α,βを求めよ α β 70

Math-quarium 練習問題 + 図形の性質 線分 は の二等分線であるから :=:=:=: よって = = = 線分 は の外角の二等分線であるから :=:=:=: よって :=: したがって == 以上から =+=+= 右の図において, 点 は の外心である α,βを求めよ α β 70 Math-quarium 練習問題 + 図形の性質 図形の性質 線分 に対して, 次の点を図示せよ () : に内分する点 () : に外分する点 Q () 7: に外分する点 R () 中点 M () M () Q () () R 右の図において, 線分の長さ を求めよ ただし,R//Q,R//,Q=,=6 とする Q R 6 Q から,:=:6=: より :=: これから,R:=: より :6=:

More information

補足 中学で学習したフレミング左手の法則 ( 電 磁 力 ) と関連付けると覚えやすい 電磁力は電流と磁界の外積で表される 力 F 磁 電磁力 F li 右ねじの回転の向き電 li ( l は導線の長さ ) 補足 有向線分とベクトル有向線分 : 矢印の位

補足 中学で学習したフレミング左手の法則 ( 電 磁 力 ) と関連付けると覚えやすい 電磁力は電流と磁界の外積で表される 力 F 磁 電磁力 F li 右ねじの回転の向き電 li ( l は導線の長さ ) 補足 有向線分とベクトル有向線分 : 矢印の位 http://totemt.sur.ne.p 外積 ( ベクトル積 ) の活用 ( 面積, 法線ベクトル, 平面の方程式 ) 3 次元空間の つのベクトルの積が つのベクトルを与えるようなベクトルの掛け算 ベクトルの積がベクトルを与えることからベクトル積とも呼ばれる これに対し内積は符号と大きさをもつ量 ( スカラー量 ) を与えるので, スカラー積とも呼ばれる 外積を使うと, 平行四辺形や三角形の面積,

More information

JAVA入門

JAVA入門 JAVA 入門後期 10 情報処理試験例題解説 H14 年度秋問 8 次の Java プログラムの説明及びプログラムを読んで, 設問に答えよ プログラムの説明 ディジタル論理回路シミュレータを作成するためのクラスとテスト用クラスである (1) ゲートを表す抽象クラス Gate のサブクラスとして, NOT ゲートを表すクラス NotGate 及び AND ゲートを表すクラス AndGate を定義する

More information

PowerPoint プレゼンテーション

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

More information

スライド タイトルなし

スライド タイトルなし 線形代数 演習 (008 年度版 ) 008/5/6 線形代数 演習 Ⅰ コンピュータ グラフィックス, 次曲面と線形代数指南書第七の巻 直交行列, 実対称行列とその対角化, 次曲線池田勉龍谷大学理工学部数理情報学科 実行列, 正方行列, 実対称行列, 直交行列 a a N A am a MN 実行列 : すべての成分 a が実数である行列 ij ji ij 正方行列 : 行の数と列の数が等しい (

More information

Microsoft PowerPoint - prog04.ppt

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

More information

2015年度 岡山大・理系数学

2015年度 岡山大・理系数学 5 岡山大学 ( 理系 ) 前期日程問題 解答解説のページへ を 以上の自然数とし, から までの自然数 k に対して, 番号 k をつけたカードをそれぞれ k 枚用意する これらすべてを箱に入れ, 箱の中から 枚のカードを同時に引くとき, 次の問いに答えよ () 用意したカードは全部で何枚か答えよ () 引いたカード 枚の番号が両方とも k である確率を と k の式で表せ () 引いたカード 枚の番号が一致する確率を

More information

情報システム設計論II ユーザインタフェース(1)

情報システム設計論II ユーザインタフェース(1) プログラミング演習 (3) 変数 : 計算とアニメーション 中村, 高橋 小林, 橋本 1 目標 Processing で計算してみよう Processing でアニメーションしよう 計算の方法を理解する 変数を理解する 課題 : Processing でアニメーションしよう! 計算してみよう 地球の半径は 6378.137km. では, 地球 1 周の距離はどれくらいになるでしょうか? println(

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

2017年度 長崎大・医系数学

2017年度 長崎大・医系数学 07 長崎大学 ( 医系 ) 前期日程問題 解答解説のページへ 以下の問いに答えよ () 0 のとき, si + cos の最大値と最小値, およびそのときの の値 をそれぞれ求めよ () e を自然対数の底とする > eの範囲において, 関数 y を考える この両 辺の対数を について微分することにより, y は減少関数であることを示せ また, e< < bのとき, () 数列 { } b の一般項が,

More information

Prog2_9th

Prog2_9th 2017 年 11 月 30 日 ( 木 ) 実施 Canvas による描画 Canvas とは Canvas は, 描画コールを保持するためのクラスである 描画には, 次の 4 つの要素が必要である (1) ビットマップピクセル ( 画素 ) を保持 (2) キャンバス描画コール ( ビットマップへの書き出し要請 ) に対応 (3) 描画プリミティブ描画領域, パス, テキスト, ビットマップ等

More information

. 角の二等分線と調和平均 平面上に点 を端点とする線分 と を重ならないようにとる, とし とする の二等分線が線分 と交わる点を とし 点 から に垂直に引いた直線が線分 と交わる点 とする 線分 の長さを求めてみよう 点 から に垂直な直線と および との交点をそれぞれ, Dとする つの直角三

. 角の二等分線と調和平均 平面上に点 を端点とする線分 と を重ならないようにとる, とし とする の二等分線が線分 と交わる点を とし 点 から に垂直に引いた直線が線分 と交わる点 とする 線分 の長さを求めてみよう 点 から に垂直な直線と および との交点をそれぞれ, Dとする つの直角三 角の二等分線で開くいろいろな平均 札幌旭丘高校中村文則 0. 数直線上に現れるいろいろな平均下図は 数 (, ) の調和平均 相乗平均 相加平均 二乗平均を数直線上に置いたものである, とし 直径 中心 である円を用いていろいろな平均の大小関係を表現するもっとも美しい配置方法であり その証明も容易である Q D E F < 相加平均 > (0), ( ), ( とすると 線分 ) の中点 の座標はである

More information

ToDo: 今回のタイトル

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

More information

複素数平面への誘い

複素数平面への誘い いざな複素数平面への誘い GRS による複素数平面の表現 複素数平面への第一歩 - 複素数モード - 点と複素数 -3 複素数の四則演算 -4 絶対値と偏角, 共役複素数 -5 絶対値と偏角による複素数の表現 複素数平面の変換 4 - 回転移動と相似拡大 - 直線 に関する対称変換 -3 単位円に関する反転変換 -4 複素数平面の変換と曲線 3 入試問題に挑戦 6 3- 陰関数を利用した図形の表示

More information

2015-2017年度 2次数学セレクション(複素数)解答解説

2015-2017年度 2次数学セレクション(複素数)解答解説 05 次数学セレクション解答解説 [ 筑波大 ] ( + より, 0 となり, + から, ( (,, よって, の描く図形 C は, 点 を中心とし半径が の円である すなわち, 原 点を通る円となる ( は虚数, は正の実数より, である さて, w ( ( とおくと, ( ( ( w ( ( ( ここで, w は純虚数より, は純虚数となる すると, の描く図形 L は, 点 を通り, 点 と点

More information

pp2018-pp4base

pp2018-pp4base プログラミング入門 Processing プログラミング第 4 回 九州産業大学理工学部情報科学科神屋郁子 ( pp@is.kyusan-u.ac.jp ) 時限 クラス 水 1 機械 ( クラス 3) 水 2 機械 ( クラス 1) 水 4 電気 (B1 B2) 後ろ 5 列は着席禁止 3 人掛けの中央は着席禁止 第 4 回の内容 前回の質問への回答 マウスの操作と図形の描画 : メソッド 小テスト

More information

2011年度 東京工大・数学

2011年度 東京工大・数学 東京工業大学前期日程問題 解答解説のページへ n n を自然数とする 平面上で行列 n( n+ ) n+ の表す 次変換 ( 移動とも いう ) を n とする 次の問いに答えよ () 原点 O(, ) を通る直線で, その直線上のすべての点が n により同じ直線上に移 されるものが 本あることを示し, この 直線の方程式を求めよ () () で得られた 直線と曲線 (3) を求めよ n Sn 6

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

Microsoft PowerPoint - [150428] CMP実習Ⅰ(2015) 橋本 CG編 第2回 ベジエ曲線とフラクタル.pptx

Microsoft PowerPoint - [150428] CMP実習Ⅰ(2015) 橋本 CG編 第2回 ベジエ曲線とフラクタル.pptx コンテンツ メディア プログラミング実習 Ⅰ コンピュータグラフィックス編 ベジェ曲線とフラクタル 橋本直 今日大事なのは 難しい数式が出てきたら 落ち着いて式のつくりを読み取ろう 数式の意味を完全に理解できていなくても プログラムで実装することはできる 難しいアルゴリズムが出てきたら コンピュータになりきってどういう処理が われるか ずつ丁寧に考えよう . ベジェ曲線 滑らかな曲線を描くアルゴリズム

More information

< BD96CA E B816989A B A>

< BD96CA E B816989A B A> 数 Ⅱ 平面ベクトル ( 黄色チャート ) () () ~ () " 図 # () () () - - () - () - - () % から %- から - -,- 略 () 求めるベクトルを とする S であるから,k となる実数 k がある このとき k k, であるから k すなわち k$, 求めるベクトルは --,- - -7- - -, から また ',' 7 (),,-,, -, -,

More information

第二回独習 Java ゼミ 第二章クラスとメソッド 2.1 メソッドの構造 2.2 静的メソッドと静的変数の概要 2.3 インスタンスメソッドとインスタンス変数の概要 2.4 Integerクラス 2006/04/19 神津健太

第二回独習 Java ゼミ 第二章クラスとメソッド 2.1 メソッドの構造 2.2 静的メソッドと静的変数の概要 2.3 インスタンスメソッドとインスタンス変数の概要 2.4 Integerクラス 2006/04/19 神津健太 第二回独習 Java ゼミ 第二章クラスとメソッド 2.1 メソッドの構造 2.2 静的メソッドと静的変数の概要 2.3 インスタンスメソッドとインスタンス変数の概要 2.4 Integerクラス 2006/04/19 神津健太 2.1 メソッドの構造 メソッドとは プログラムステータメントの集合体 Java の基本的な実行単位 クラスの一部 メソッドの外部にプログラムコードを置いたり クラスの外部にメソッドを置くことはできない

More information

2017年度 千葉大・理系数学

2017年度 千葉大・理系数学 017 千葉大学 ( 理系 ) 前期日程問題 1 解答解説のページへ n を 4 以上の整数とする 座標平面上で正 n 角形 A1A A n は点 O を中心とする半径 1 の円に内接している a = OA 1, b = OA, c = OA 3, d = OA4 とし, k = cos とおく そして, 線分 A1A3 と線分 AA4 との交点 P は線分 A1A3 を n :1に内分するとする

More information

Microsoft Word - 3new.doc

Microsoft Word - 3new.doc プログラミング演習 II 講義資料 3 ポインタ I - ポインタの基礎 1 ポインタとは ポインタとはポインタは, アドレス ( データが格納されている場所 ) を扱うデータ型です つまり, アドレスを通してデータを間接的に処理します ポインタを使用する場合の, 処理の手順は以下のようになります 1 ポインタ変数を宣言する 2 ポインタ変数へアドレスを割り当てる 3 ポインタ変数を用いて処理 (

More information

進捗状況の確認 1. gj も gjp も動いた 2. gj は動いた 3. gj も動かない 2

進捗状況の確認 1. gj も gjp も動いた 2. gj は動いた 3. gj も動かない 2 連立 1 次方程式の数値解法 小規模な連立 1 次方程式の解法 消去法 Gauss 消去法 Gauss-Jordan 法 ( 大規模な連立 1 次方程式の解法 ) ( 反復法 ) (Jacobi 法 ) 講義では扱わない 1 進捗状況の確認 1. gj も gjp も動いた 2. gj は動いた 3. gj も動かない 2 パターン認識入門 パターン認識 音や画像に中に隠れたパターンを認識する 音素

More information

JavaプログラミングⅠ

JavaプログラミングⅠ Java プログラミング Ⅱ 8 回目抽象クラスとインタフェース課題 確認 問題次の各文は正しいか誤っているか答えなさい (1) 抽象クラスのオブジェクトは生成できる (2) 抽象メソッドとはメソッドの本体が未定義のメソッドである (3) 抽象メソッドをメンバーにもつクラスは抽象クラスである (4) 抽象クラスを拡張してすべての抽象メソッドをオーバーライドすれば サブクラスのオブジェクトを生成できる

More information

11yama

11yama 連立 1 次方程式の数値解法 小規模な連立 1 次方程式の解法 消去法 Gauss 消去法 Gauss-Jordan 法 ( 大規模な連立 1 次方程式の解法 ) ( 反復法 ) (Jacobi 法 ) 講義では扱わない 1 進捗状況の確認 1. gj も gjp も動いた 2. gj は動いた 3. gj も動かない 2 パターン認識入門 パターン認識 音や画像に中に隠れたパターンを認識する 音素

More information

演習2

演習2 神戸市立工業高等専門学校電気工学科 / 電子工学科専門科目 数値解析 2017.6.2 演習 2 山浦剛 (tyamaura@riken.jp) 講義資料ページ h t t p://clim ate.aic s. riken. jp/m embers/yamaura/num erical_analysis. html 曲線の推定 N 次多項式ラグランジュ補間 y = p N x = σ N x x

More information

3D の作図ツールについて 3D 画面を表示すると 以下の新しい作図ツールが表示されます より多くのオプションを見るためには ボタンの右下の小さな矢印 をクリックして下さい 28

3D の作図ツールについて 3D 画面を表示すると 以下の新しい作図ツールが表示されます より多くのオプションを見るためには ボタンの右下の小さな矢印 をクリックして下さい 28 GeoGebra5.0Beta には 3D のグラフィックスビューの機能が備わっています これにより 立体図形についても扱うことが出来ます 3.1 3D 画面まず 通常と同じように GeoGebra を起動させましょう そして メニューバーの表示から グラフィックスビュ-3D を選択します ( または Ctrl+Shift+3 でも同様 ) すると グラフィックスビューの隣にグラフィックスビュー 3D

More information

C プログラミング演習 1( 再 ) 2 講義では C プログラミングの基本を学び 演習では やや実践的なプログラミングを通して学ぶ

C プログラミング演習 1( 再 ) 2 講義では C プログラミングの基本を学び 演習では やや実践的なプログラミングを通して学ぶ C プログラミング演習 1( 再 ) 2 講義では C プログラミングの基本を学び 演習では やや実践的なプログラミングを通して学ぶ 今回のプログラミングの課題 次のステップによって 徐々に難易度の高いプログラムを作成する ( 参照用の番号は よくわかる C 言語 のページ番号 ) 1. キーボード入力された整数 10 個の中から最大のものを答える 2. 整数を要素とする配列 (p.57-59) に初期値を与えておき

More information

cp-7. 配列

cp-7. 配列 cp-7. 配列 (C プログラムの書き方を, パソコン演習で学ぶシリーズ ) https://www.kkaneko.jp/cc/adp/index.html 金子邦彦 1 本日の内容 例題 1. 月の日数配列とは. 配列の宣言. 配列の添え字. 例題 2. ベクトルの内積例題 3. 合計点と平均点例題 4. 棒グラフを描く配列と繰り返し計算の関係例題 5. 行列の和 2 次元配列 2 今日の到達目標

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

基本作図・編集

基本作図・編集 基本作図パターン 基本作図 編集 ) 線の作図 ) 補助線の作図 ) 連続線の作図 ) 平行線の作図 ) 拡大表示 縮小表示 6) 座標の入力 7) 矩形の作図 8) 円の作図 9) 距離の計測 0) 寸法線の作図 ) 連続寸法線の作図 ) 文字の作図 6 ) ラベルの作図 6 ) バルーンの作図 6 ) 回路番号の作図 7 基本編集パターン ) コマンドキャンセル ピックキャンセル 8 ) 領域選択

More information

ARCHITREND ZERO 汎用コマンド一覧

ARCHITREND ZERO 汎用コマンド一覧 ARCHITREND ZERO 汎用コマンド一覧 一覧表でグレーに塗りつぶされているコマンドは 初期状態では表示されていません 使用するには コマンドカスタマイズで表示する必要があります 情報メニュー 2 線間の距離 角度を計測します また 計測結果の距離をそのまま寸法線として入力できます 2 点間の距離 角度 水平距離 垂直距離を計測します また 計測結果の距離をそのまま寸法線として入力できます

More information

基本作図・編集

基本作図・編集 基本作図パターン 基本作図 編集 ) 線の作図 ) 補助線の作図 ) 連続線の作図 ) 平行線の作図 ) 拡大表示 縮小表示 6) 座標の入力 7) 矩形の作図 8) 円の作図 9) 距離の計測 0) 寸法線の作図 ) 連続寸法線の作図 ) 文字の作図 ) ラベルの作図 ) バルーンの作図 ) 回路番号の作図 基本編集パターン ) コマンドキャンセル ピックキャンセル ) 領域選択 ) コントロールポイント

More information

1999年度 センター試験・数学ⅡB

1999年度 センター試験・数学ⅡB 99 センター試験数学 Ⅱ 数学 B 問題 第 問 ( 必答問題 ) [] 関数 y cos3x の周期のうち正で最小のものはアイウ 解答解説のページへ 0 x 360 のとき, 関数 y cos3x において, y となる x はエ個, y となる x はオ 個ある また, y sin x と y cos3x のグラフより, 方程式 sin x cos3x は 0 x 360のときカ個の解をもつことがわかる

More information

Microsoft Word - 92.doc

Microsoft Word - 92.doc 208 9.2 陰線消去 (1) 考え方 9.2 陰線消去 等高線は,3 次元形状を数値的に正確に表示するという意味では有効ですが, 直感的に図形を把握するのが困難です そこで, 普段, 見慣れた見取り図で表示することを試みましょう 曲線の XYZ 座標を 2 次元に平行投影するのが, 最も簡単に見取り図を表示する方法です 図 9-3 に示す式が平行投影における変換式です z,y X Y j j j

More information

2014年度 筑波大・理系数学

2014年度 筑波大・理系数学 筑波大学 ( 理系 ) 前期日程問題 解答解説のページへ f ( x) = x x とする y = f ( x ) のグラフに点 P(, ) から引いた接線は 本あるとする つの接点 A (, f ( )), B(, f ( )), C(, f ( )) を頂点とする三角形の 重心を G とする () + +, + + および を, を用いて表せ () 点 G の座標を, を用いて表せ () 点 G

More information

Microsoft PowerPoint - 12.ppt [互換モード]

Microsoft PowerPoint - 12.ppt [互換モード] 第 12 回構造体 1 今回の目標 構造体を理解する 構造体の定義の仕方を理解する 構造体型を理解する 構造体型の変数 引数 戻り値を理解する 複素数同士を足し算する関数を作成し その関数を利用するプログラムを作成する 2 複素数の足し算 複素数は実部と虚部の2つの実数で 表現される 表現される z = a+ bi 2 つの複素数 z 1 = a 1+ bi 1 と z2 = a2 + b2i の和

More information

program7app.ppt

program7app.ppt プログラム理論と言語第 7 回 ポインタと配列, 高階関数, まとめ 有村博紀 吉岡真治 公開スライド PDF( 情報知識ネットワーク研 HP/ 授業 ) http://www-ikn.ist.hokudai.ac.jp/~arim/pub/proriron/ 本スライドは,2015 北海道大学吉岡真治 プログラム理論と言語, に基づいて, 現著者の承諾のもとに, 改訂者 ( 有村 ) が加筆修正しています.

More information

できるプログラマーを本気で育てる Java 超 Webプログラマーへの第 歩 第 2 回オブジェクト指向 テクノロジックアート 瀬 嘉秀

できるプログラマーを本気で育てる Java 超 Webプログラマーへの第 歩 第 2 回オブジェクト指向 テクノロジックアート 瀬 嘉秀 できるプログラマーを本気で育てる Java 超 Webプログラマーへの第 歩 第 2 回オブジェクト指向 テクノロジックアート 瀬 嘉秀 内容 オブジェクト指向とは オブジェクト指向のしくみ Java 言語とオブジェクト指向 属性と振る舞い クラスとメソッド オブジェクト指向の特徴 演習問題 勉強会の参考書 Java ( アジャイルソフトウェア開発技術シリーズ 基礎編 ) 発売日 2012 年 5

More information

Microsoft PowerPoint - 12.ppt [互換モード]

Microsoft PowerPoint - 12.ppt [互換モード] 第 12 回新しい型と構造体 1 今回の目標 新しい型の定義法を理解する 構造体を理解する 複素数同士を足し算する関数を作成し その関数を利用するプログラムを作成する 2 複素数の足し算 複素数は実部と虚部の2つの実数で 表現される z = a+ bi z = a + bi z = a + b i 2 つの複素数 1 1 1 と 2 2 2 の和 z = a + bi は 次式で与えられる 3 3

More information

た場合クラスを用いて 以下のように書くことが出来る ( 教科書 p.270) プログラム例 2( ソースファイル名 :Chap08/AccountTester.java) // 銀行口座クラスとそれをテストするクラス第 1 版 // 銀行口座クラス class Account String name

た場合クラスを用いて 以下のように書くことが出来る ( 教科書 p.270) プログラム例 2( ソースファイル名 :Chap08/AccountTester.java) // 銀行口座クラスとそれをテストするクラス第 1 版 // 銀行口座クラス class Account String name クラス ( 教科書第 8 章 p.267~p.297) 前回は処理をまとめる方法として メソッドについて学習した 今回はメソッドとその処理の対象となるデータをまとめるためのクラスについて学習する このクラスはオブジェクト指向プログラミングを実現するための最も重要で基本的な技術であり メソッドより一回り大きなプログラムの部品を構成する 今回はクラスにおけるデータの扱いとクラスの作成方法 使用方法について説明していく

More information

デザイン戦略(コンピュータアニメーション) 2009年度春学期

デザイン戦略(コンピュータアニメーション) 2009年度春学期 第 3 回 MEL の基礎 (1) MEL の基礎 MEL(Maya Embedded Language) は Maya の中心となるスクリプト言語で Maya の GUI 上での作業は MEL コマンドの実行と言い換えることもできる スクリプトエディタを開いて Maya の GUI 上で作業を行うと その作業に対応した MEL がスクリプトエディタ上に表示されるのを観察できる 3DCG 制作においては

More information

2016年度 筑波大・理系数学

2016年度 筑波大・理系数学 06 筑波大学 ( 理系 ) 前期日程問題 解答解説のページへ k を実数とする y 平面の曲線 C : y とC : y- + k+ -k が異なる共 有点 P, Q をもつとする ただし点 P, Q の 座標は正であるとする また, 原点を O とする () k のとりうる値の範囲を求めよ () k が () の範囲を動くとき, OPQ の重心 G の軌跡を求めよ () OPQ の面積を S とするとき,

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

基本情報STEP UP演習Java対策

基本情報STEP UP演習Java対策 トレーニング編 1. 予約語 extends アクセスレベル class サブクラス名 extends スーパクラス名 { (1) スーパクラス ( 既存のクラス ) を拡張して, サブクラス ( 新しいクラス ) を定義する場合に extends を利用する (2) extends の後ろには, スーパクラスの名前を一つだけ指定できる (3) サブクラスからインスタンスを生成すると, スーパクラスに定義されたインスタンス変数やメソッドがこのインスタンス内部に引き継がれる

More information

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

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

More information

Microsoft PowerPoint - 13.ppt [互換モード]

Microsoft PowerPoint - 13.ppt [互換モード] 第 13 回構造体 1 今回の目標 構造体を理解する 構造体の定義の仕方を理解する 構造体型を理解する 構造体型の変数 引数 戻り値を理解する 複素数同士を足し算する関数を作成し その関数を利用するプログラムを作成する 2 複素数の足し算 複素数は実部と虚部の2つの実数で 表現される z = a+ bi z = a + bi z = a + b i 2 つの複素数 1 1 1 と 2 2 2 の和

More information

プログラミング基礎

プログラミング基礎 C プログラミング Ⅱ 演習 2-1(a) BMI による判定 文字列, 身長 height(double 型 ), 体重 weight (double 型 ) をメンバとする構造体 Data を定義し, それぞれのメンバの値をキーボードから入力した後, BMI を計算するプログラムを作成しなさい BMI の計算は関数化すること ( ) [ ] [ ] [ ] BMI = 体重 kg 身長 m 身長

More information

基本作図・編集

基本作図・編集 基本作図 編集 HAS-C-school-008-6 Copyrightc 0-08 DAIKIN INDUSTRIES, LTD. All Rights Reserved. 基本操作 ) 新規ファイルを開く ) 既存ファイルを開く ) スケール合わせ ) ファイルの保存 ) ファイルの印刷 基本作図パターン ) 線の作図 ) 補助線の作図 ) 連続線の作図 ) 平行線の作図 ) 拡大表示 縮小表示

More information