Teachers open the door but You must enter by yourself.

Open Media Lab.
オープンメディアラボ

【事前学習】 高校のベクトル単元の媒介変数表示について復習しておきましょう。

媒介変数表示
Prametric Representation

本章では媒介変数を用いてベクトルで幾何学図形を定義する方法について学ぶ。ベクトル方程式については前回は媒介変数を用いないケースを扱ったが、今回は媒介変数を用いるケースを扱う。

方程式による表現  媒介変数表示  ベクトル方程式
$y=2x$ \begin{eqnarray} \left\{ \begin{array}{l} x=t \\ y=2t \end{array} \right. \end{eqnarray} $\vec a=(1,2)$
$\Vec{OP}=t \vec a$
$x^2+y^2=1$ \begin{eqnarray} \left\{ \begin{array}{l} x=\cos t \\ y=\sin t \end{array} \right. \end{eqnarray} $|\Vec{OP}|=1$

Lesson

  1. $\triangle \rm{OAB}$ がある。負でない実数 $s、t$ が、条件 $s+t=1$ を満たしながら動くとき、等式 $\Vec{OP}=s\Vec{OA}+t\Vec{OB}$ で表わされる点 P の存在範囲を求めよ。
  2. $\triangle \rm{OAB}$ がある。負でない実数 $s、t$ が、条件 $s+t=2$ を満たしながら動くとき、等式 $\Vec{OP}=s\Vec{OA}+t\Vec{OB}$ で表わされる点 P の存在範囲を求めよ。
  3. 点 A$(1, 2)$ を通り、ベクトル $\vec d=(4, 3)$ に平行な直線について次の問いに答えよ。
    1. 直線上の任意の点を P$(x, y)$ として、$\Vec{AP}$ と $\vec d$ の間に成り立つベクトル方程式を示せ。
    2. 直線上の任意の点を P$(x, y)$として、$\Vec{OP}$ と $\Vec{OA}$ と $\vec d$ の間に成り立つベクトル方程式を示せ。
    3. 点 P の座標 $x, y$ を、媒介変数 $t$ を用いて表せ。
    4. 直線の方程式を求めよ。
  4. 2点 A$(-2, 1)$、B$(1, 3)$ を通る直線について次の問いに答えよ。
    1. 直線上の任意の点を P とし媒介変数 $t$ を用いて、$\Vec{AP}$ と $\Vec{AB}$ との間に成り立つベクトル方程式を示せ。
    2. 同様に、$\Vec{OP}$ と $\Vec{OA}$ と $\Vec{OB}$ との間に成り立つベクトル方程式を示せ。
    3. 点 P の座標 $x, y$ を、媒介変数 $t$ を用いて表せ。
    4. 直線の方程式を求めよ。
  5. 点 A$(x_0, y_0)$ を通り、ベクトル $\vec d=(a, b)$ に平行な直線について次の問いに答えよ。
    1. 直線上の任意の点を P$(x, y)$ として、$\Vec{AP}$ と $\vec d$ の間に成り立つベクトル方程式を示せ。
    2. 点 P の座標 $x, y$ を、媒介変数 $t$ を用いて表せ。
    3. 直線の方程式を求めよ。

Answer

  1. 線分 AB
  2. $\Vec{OA'}=2\Vec{OA}, \Vec{OB'}=2\Vec{OB}$ とすると線分 A'B'
    1. $\Vec{AP}=t \vec d$
    2. $\Vec{OP}=\Vec{OA} + t \vec d$
    3. $x=4t+1, y=3t+2$
    4. $3x-4y=-5$
    1. $\Vec{AP}=t \Vec{AB}$
    2. $\Vec{OP}=(1-t) \Vec{OA} + t \Vec{OB}$
    3. $x=3t-2, y=2t+1$
    4. $2x-3y=-7$
    1. $\Vec{AP}=t \vec d$
    2. $x=at+x_0, y=bt+y_0$
    3. $\frac{x-x_0}{a}=\frac{y-y_0}{b}$

Lesson 3D

  1. 点 A$(2, -3, 5)$ を通り、ベクトル $\vec d=(1, 2, -1)$ に平行な直線について次の問いに答えよ。
    1. 直線上の任意の点を P$(x, y, z)$ として、$\Vec{AP}$ と $\vec d$ の間に成り立つベクトル方程式を示せ。
    2. 点 P の座標 $x, y, z$ を、媒介変数 $t$ を用いて表せ。
    3. 直線の方程式を求めよ。
  2. 2点 A$(1, 2, 3)$、B$(-5, -7, 9)$ を通る直線について次の問いに答えよ。
    1. 直線上の任意の点を P$(x, y, z)$ として、P、A、B の間に成り立つベクトル方程式を示せ。
    2. 点 P の座標 $x, y, z$ を、媒介変数 $t$ を用いて表せ。
    3. 直線の方程式を求めよ。
  3. 点 A$(x_0, y_0, z_0)$ を通り、ベクトル $\vec d=(a, b, c)$ に平行な直線について次の問いに答えよ。
    1. 直線上の任意の点を P$(x, y, z)$として、$\Vec{AP}$ と $\vec d$ の間に成り立つベクトル方程式を示せ。
    2. 点 P の座標 $x, y, z$ を、媒介変数 $t$ を用いて表せ。
    3. 直線の方程式を求めよ。
  4. 直線 $l : 2x-6=2-y=z+1$ と、点 A$(3, 2, 3)$ について次の問いに答えよ。
    1. 直線 $l$ の方向ベクトルを求めよ。
    2. 直線 $l$ に平行で、点 A を通る直線の方程式を求めよ。
ウィンドウ内でのマウスドラッグ、ホイールスクロールで視点を変更できます。

Answer

    1. $\Vec{AP}=t \vec d$
    2. $x=t+2, y=2t-3, z=-t+5$
    3. $x-2=\frac{y+3}{2}=5-z$
    1. $\Vec{AP}=t \Vec{AB}$
    2. $x=-6t+1, y=-9t+2, z=6t+3$
    3. $\frac{1-x}{6}=\frac{2-y}{9}=\frac{z-3}{6}$
    1. $\Vec{AP}=t \vec d$
    2. $x=at+x_0, y=bt+y_0, z=ct+z_0$
    3. $\frac{x-x_0}{a}=\frac{y-y_0}{b}=\frac{z-z_0}{c}$
    1. $(1, -2, 2)$ $\frac{x-3}{1}=\frac{y-2}{-2}=\frac{z+1}{2}$ と変形した分母が方向ベクトル
    2. $2x-6=-y+2=z-3$ $\frac{x-3}{1}=\frac{y-2}{-2}=\frac{z-3}{2}$

Extra Lesson

three.js editor を使って、3Dの図形を表示してみましょう。

  1. Lesson 1. のベクトルを表示してみましょう。
  2. Lesson 2. のベクトルを表示してみましょう。
  3. Lesson 3. のベクトルを表示してみましょう。

three.js editorの操作方法

視点移動

オブジェクトの生成、変形

データの保存

視点移動機能付の環境構築

  1. Add/Directional Light で光源を追加(2個追加して2方向から照らすのもよい)
  2. Scene に以下のコードをアタッチ
    //ベクトルの成分 Lesson 3D 1. 3)
    const A=new THREE.Vector3(1, -4, 7);
    const B=new THREE.Vector3(7 , 2, 5);
    vector(A, B, 0.05);
    	
    const C=new THREE.Vector3((A.x+B.x*2)/3, (A.y+B.y*2)/3, (A.z+B.z*2)/3);
    sphere(C, 0.5, 0xff0000);
    
    const distance=30; //原点からの距離
    
    //以下は変更しないでください
    scene.add( new THREE.AxesHelper(100) );//座標軸
    
    function sphere(position, radius, color=0xffffff){
    	const sphere = new THREE.Mesh(
    		new THREE.SphereGeometry(radius,32,16),
    		new THREE.MeshPhongMaterial({
    			color:color,
    			specular:0x444444,
    			shininess:30,
    			emissive:color&0x333333
    		})
    	);
    	sphere.position.copy(position);
    	scene.add(sphere);
    }
    
    function vector(start, end, radius, color=0xffffff){
    	const v=(new THREE.Vector3).subVectors(end,start);
    	const l=v.length();
    	const material = new THREE.MeshPhongMaterial({
    		color:color,
    		specular:0x444444,
    		shininess:30,
    		emissive:color&0x333333
    	});
    	const rotation = new THREE.Euler(
    		Math.atan2(v.z,Math.sqrt(v.x*v.x+v.y*v.y)),
    		0,
    		-Math.atan2(v.x,v.y),
    		"ZXY"
    	);
    
    	const cone=new THREE.Mesh(
    		new THREE.ConeGeometry(radius*2, radius*6, 32),
    		material
    	);
    	cone.position.copy(new THREE.Vector3).addVectors(
    		start,
    		v.clone().multiplyScalar((l-0.15)/l)
    	);
    	cone.rotation.copy(rotation);
    	scene.add(cone);
    
    	const cylinder=new THREE.Mesh(
    		new THREE.CylinderGeometry(radius,radius,l-0.3,32),
    		material
    	);
    	cylinder.position.copy(new THREE.Vector3).addVectors(
    		start,
    		v.clone().multiplyScalar(0.5*(l-0.3)/l)
    	);
    	cylinder.rotation.copy(rotation);
    	scene.add(cylinder);
    }
    
    function line(position1, position2, color=0xfffff){
    	const line = [];
    	line.push(position1);
    	line.push(position2);
    	scene.add(new THREE.Line(
    		new THREE.BufferGeometry().setFromPoints(line),
    		new THREE.LineBasicMaterial({color:color})
    	));
    }
    
    function pointermove(event){
    	const longitude=(event.offsetX/window.innerWidth-0.5)*6.28;
    	const latitude=(event.offsetY/window.innerHeight-0.5)*3;
    	camera.position.set(
    		Math.cos(longitude)*Math.cos(latitude),
    		Math.sin(latitude),
    		Math.sin(longitude)*Math.cos(latitude)
    	).multiplyScalar(distance);
    	camera.lookAt( scene.position );
    }
    

three.js editor のマニュアル


【事後学習】 媒介変数を用いたベクトル方程式の立式をマスターしておきましょう。

This site is powered by Powered by MathJax