test_cylpyd

Similar documents
JAPLAシンポジウム資料 2009/12/5

JAPLA研究会資料 2013/5/25

JAPLA研究会資料 2017/5/20

NB

JAPLA研究会資料 2012/8/2

JAPLA研究会資料 /6/15

JAPLA研究会資料 2010/1/23

JAPLA研究会資料 2010/4/24

JAPLA研究会資料 2017/6/17

JAPLA研究会資料 2014/9/20

JAPLA研究会資料 2017/6/17

謗域・ュ逕ィppt

JAPLA研究会資料

< 中 3 分野例題付き公式集 > (1)2 の倍数の判定法は 1 の位が 0 又は偶数 ( 例題 )1~5 までの 5 つの数字を使って 3 ケタの数をつくるとき 2 の倍数は何通りできるか (2)5 の倍数の判定法は 1 の位が 0 又は 5 ( 例題 )1~9 までの 9 個の数字を使って 3

STEP 数学 Ⅰ を解いてみた から直線 に下ろした垂線の足を H とすると, H in( 80 ) in より, S H in H 同様にして, S in, S in も成り立つ よって, S in 三角形の面積 ヘロンの公式 in in 辺の長

演算増幅器

コンピュータグラフィックスS 演習資料

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

JAPLA研究会資料 2007/4/28

数学科学習指導案 指導者ステップコース隠地純子 平野未紗 ジャンプコース中村徳寿 1 日時平成 27 年 1 月 20 日 ( 火 )5 校時 2 学年第 1 学年ステップコース 12 人 ジャンプコース 19 人 3 単元名空間図形 立体の表面積と体積 4 単元について (1) 単元観中学校学習指

木村の理論化学小ネタ 体心立方構造 面心立方構造 六方最密構造 剛球の並べ方と最密構造剛球を平面上に の向きに整列させるのに次の 2 つの方法がある 図より,B の方が A より密であることがわかる A B 1

テレビ講座追加資料1105

JAPLAシンポジウム資料 2006/12/9

相加平均 相乗平均 調和平均が表す比 台形 の上底 下底 の長さをそれぞれ, とするとき 各平均により 台形の高さ はどのように比に分けられるだろうか 相乗平均は 相似な つの台形になるから台形の高さ を : の 比に分ける また 相加平均は は : の比に分けます 調和平均は 対角線 と の交点を

Microsoft Word - 201hyouka-tangen-1.doc

謗域・ュ逕ィppt

簡単な図面を書いてみよう 『 3D編 』

tc15_tutorial02

数学の世界

2013年度 九州大・理系数学


JAPLA研究会資料 2010/9/ Excel_

PowerPoint Presentation

Math-Aquarium 例題 図形と計量 図形と計量 1 直角三角形と三角比 P 木の先端を P, 根元を Q とする A 地点の目の位置 A' から 木の先端への仰角が 30,A から 7m 離れた AQB=90 と なる B 地点の目の位置 B' から木の先端への仰角が 45 であ るとき,

vecrot

() () () F において, チェバの定理より, = F 5 F F 7 これと条件より, = よって, = すなわち F:F=7:0 F 7 F 0 FO F と直線 について, メネラウスの定理より, = F O 5 7 FO これと条件および () より, = 0 O FO よって, =

FdData理科3年

るかどうか, そして, その予想した事柄を ~は, になる という形で表現できるかどうかをみるものである 正答率は, 48.1% であり, 発展的に考え, 予想した事柄を ~は, になる という形で表現することに課題がある (3) 学習指導に当たって 事柄を予想することを大切にする数や図形について成

スライド 1

謗域・ュ逕ィppt

コンピューターグラフィックスS

libaux.dvi

P (32LX10)

XAML Do-It-Yourself シリーズ 第 12 回 3D グラフィックス -1-

【】三平方の定理

C C C - J TH-D TH-D TH-D C C C C C - J TH-D TH-D TH-D C - J TH-D TH-D TH-D C C C C

中学 1 年生 e ライブラリ数学教材一覧 学校図書 ( 株 ) 中学 1 年 数学 文字式式の計算 項と係数 中学 1 年 数学 次式 中学 1 年 数学 項のまとめ方 中学 1 年 数学 次式の加法 中学 1 年 数学 77

J研究会資料 2006/11/25

ポンスレの定理

untitled

立体切断⑹-2回切り

JAPLA研究会資料 2011/1/29

Microsoft PowerPoint - 9.pptx

Microsoft PowerPoint - 9.pptx

/*p7-1-1*/

OpenGL & GLUTの基本関数の説明

平成24年度高知県算数・数学

スライド 1

線形代数とは

問 題

<4D F736F F D20824F F6490CF95AA82C696CA90CF95AA2E646F63>

TH-42PAS10 TH-37PAS10 TQBA0286

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

JAPLA /12/07 gl2 1 1 J Java C C++ J APL J J J J J J 5.01a for Windows 2 gl2 J gl2 isigraph isigraph isigraph gl2 gl2 J Help Mapping Mode gl2

コンピュータグラフィックス第6回

C 04 D 10 D 11 D 12 D A 14 D 16 D 17 D 18 D 19 D D A A A 33 D D A 21 D 22 D 23 D 23 D 24 D 27 D 34 D 35 D 36 D 38 D A A 40 D

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

JAPLA研究会資料 2017/8/5

中学 1 年数学 ( 東京書籍 ) 単元別コンテンツ一覧 単元ドリル教材解説教材 確認問題ライブラリ (OP) プリント教材 教材数 :8 問題数 : 基本 40, 標準 40, 挑戦 40 正の数 負の数などの問題を収録 解説教材 :3 確認問題 :3 数直線 数の大小と絶対値などの解説 確認問題

二等辺三角形の性質 (2) 次の図の の大きさを求めなさい () = P=Q P=R Q 68 R P (2) (3) 五角形 は正五角形 = F 50 F (4) = = (5) === = 80 2 二等辺三角形の頂角の外角を 底角を y で表すとき y を の式で表しなさい y 2-5-2

Sudoku2

Microsoft Word - スーパーナビ 第6回 数学.docx

啓林館 / 未来へひろがる数学 1 1 章 正の数 負の数 1 正の数 負の数 1 正負の数 2 正の数 負の数の計算 2 加法と減法 (1) 4 乗法と除法 (1) 2 章 文字の式 1 文字を使った式 8 文字使用のきまり 2 文字式の計算 10 文字式の計算 (1) 3 章 方程式 1 方程式

学習指導要領

スライド 1

2017年度 神戸大・理系数学

1 3 2 OpenGL 4 3 OpenGL 5 4 OpenGL 6 OpenGl : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 6 : : : : : : : : : : : : : : : : : : : : :

< D8C6082CC90AB8EBF816989A B A>

(Microsoft Word - \213\363\212\324\220}\214`_\220\263\216l\226\312\221\314_.doc)

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

3D グラフィックス処理の一般過程 1. 3D グラフィックス処理の一般過程

京都発11.indd

測量試補 重要事項

CG

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

数学 Ⅲ 無限等比級数の問題解答 問 1 次の無限級数の和を求めよ (1) (5) (2) (6) (7) (3) ( 解 )(1) 初項 < 公比 < の無限等比級数より収束し (4) (2) (3) その和は ( 答 ) であるから 初項 < 公比 となっている よって 収束し その和は よって

2014年度 名古屋大・理系数学

座標系.rtf

[] ,,, P.,,[3,4],[5,6], 3,,,[7] [7], 1,,,,,[8],, 1 acm bcm, AB = a + b,, AP : P B = b : a AP = x

pp2018-pp4base

コンピュータグラフィックス基礎              No

<8D828D5A838A817C A77425F91E6318FCD2E6D6364>

J-OOPによる数独ゲーム

ヤコビ楕円関数とはなにか

座標軸以外の直線のまわりの回転体の体積 ( バウムクーヘン分割公式 ) の問題の解答 立体の体積の求め方 図 1 の立体の体積 V を求める方法を考えてみる 図 1 図 1 のように 軸の から までの長さを 等分する そして とおく とすると となる 図 1 のように のときの 軸に垂直な平面 に

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

スライド 1

1 1. はじめに ポンスレの閉形定理 Jacobi の証明 June 5, 2013 Akio Arimoto ヤコビは [2] においてポンスレの閉形定理に初等幾何を用いた証明を与え ている 大小 2つの円があり 一方が他方を完全に含んでいるとする 大小 2 円の半径をそれぞれ Rr, とする

学習指導要領

2

Transcription:

JAPLA 研究会資料 2013/9/14 実験と 3D グラフィックスによる幾何学 ピラミッド ( 三角錐 の体積はプリズム ( 三角柱 の 1/3 になる きみにはすぐ分かるだろうか 西川 利男 はじめに 錐体 ( 三角錐 四角錐 円錐 の体積は 柱体 ( 三角柱 四角柱 円柱 の体積の 1/3 である だれでも知っているこの有名な公式は中学校の教科書にのっているだろうが その理由をわかるように説明してはいない しかし "The VNR Concise Encyclopedia of Mathematics" の p.194 には 次の 図を使って ていねいな説明がなされている まず 三角柱は 3 つの三角錐に分解できる 三角錐 V1 と V2 とは 底面 (DEF と ABC は 等しく 高さも等しいので体積は等しい 次に 三角錐 V2 と V3 では 底面 (ACF と ADF が等しく これらの面から点 B までの距離は高さとなり 体積は等しい よって 3 つの三角錐の体 積は互いに等しく 三角錐の体積は三角柱の 1/3 になる これは実際に厚紙で立体を作って実験してみれば だれでもすぐ分かる また 教育的にも すばらしい説明である しかしながら 紙の上の立体図を頭の中でイメージするのはそれほど容易ではない この課題を OpenGL グラフィックスにより コンピュータ画面の上で より分かりやすく再現し てみた - 1 -

1. 射影幾何学と OpenGL 射影幾何学 (Projective Geometry は ルネッサンス期の画家レオナルド ダ ヴィンチや アルブレヒト ディユーラーたちの透視画法の研究を元としている その後 フランス革命期 ナポレオンが作ったエコール ポリテクニックのモンジュ ポンスレらにより機械設計のための画法幾何学となった さらに 非ユークリッド幾何学 アフィン幾何学を巻き込み 今や最も抽象性の高い位相幾何学へと発展している 射影幾何学の基本の考えは つぎの一言でいいあらわされる 3 次元空間内の物体を 2 次元の画像としてどう表したらよいか このキャンパス上の絵を現代のコンピュータ ディスプレーの画像として実現したのがまさに OpenGL グラフィックスといえよう OpenGL では 従来のグラフィックスとは異なるやり方を行う たとえば 3 角形 ABC を描くのに 直接 3 点を結ぶ線を引くのではなく 次のように行う 3 次元空間内で 3 つの点 それぞれの点は座標値 X, Y, Z の 3 つの値で示される で 3 角形のオブジェクトを定めた上で ( レンダリング glbegin GL_TRIANGLE glvertex A glvertex B glvertex C べつに定めた投影処理により 2 次元のディスプレー上に画像として描かれる ここで 射影幾何学の次の基本性質を OpenGL の目で見てみよう それまでのユークッリド幾何学の定理では 図形の長さと角度とはそれぞれ重要な意味を持っていた しかし 射影幾何学では図形の長さと角度とは意味を持たない これは OpenGL によりつぎのように実現される つまり 2 次元のディスプレー画像は投影の条件に従って頂点を結ぶ辺の長さはさまざまに変わる 2 つの辺の間の角もさまざまに変わるこのように ディスプレー上では 元の 3 次元立体からは 思いもかけない形が現れることになる これは自分の目で実験してみれば すぐ分かることである 3 次元立体をイメージするのが難しいというのはこのことである これも OpenGL で示してみよう ところで パズルの本 四角の迷宮 p.35-6 から 奇妙な見取り図として 前からと上から見 た図から どんな 3 次元立体かわかるか? というのがあった 考えてほしい - 2 -

答えはつぎのようになる このように 3 次元立体をイメージするのは難しい ここで射影幾何学について 私の個人的理解のしかたについてちょっと述べたい 数学の書を開くと Pappus, Desargues, Pascal, Brianchon とさまざまな定理が延々と説明されている 数学では射影という見方の環境を変えたときに 不変に保たれる原理の探求が大切とされ これらの定理はそれを示すのであろう また 別のパラメータとして複比 (double ratio これは cross-ratio, anharmonic ratio とも呼ばれる がある これは 例えば 3 次元の多面体でいろいろな辺の長さの比同士を 比べたとき その割合 (= 複比 は変わらない というものである しかし OpenGL を利用する立場の私の関心は 3 次元の立体 ( 実体 をどう 2 次元の画面に表現するかという射影変換だけである これは座標値を元とした行列演算で行われる ところが この計算部分は OpenGL のコマンド操作によってすべてやってくれて これを直接コーディングする必要はない 結論をいえば OpenGL を使うのに 射影幾何学を意識することはない とくに言えば 先に述べた 射影幾何学の素朴な考え方頂点を結ぶ辺の長さはさまざまに変わる 2 つの辺の間の角もさまざまに変わるという日常の体験だけである 2.J-OpenGL のプログラム -3 つの 3 角ピラミッドで 3 角プリズムをつくる J の OpenGL のプログラムの構成などは いままで何回か説明したとおりである フォームの作成 A_g プログラムの実行 run_a レンダーリング a_g_paint 投影条件の設定 a_g_size キー入力コマンド a_g_char まず 1 ページの見取り図を元に 3 つの 3 角ピラミッドの頂点の値を定める A =: 0, 2, 0 B =: 0, 2, _1 C =: 1, 2, 0 D =: 0, 0, 0 E =: 0, 0, _1 F =: 1, 0, 0-3 -

これらはまとめて 次のようにした cylpyd =: (0, 0, 0;(1, 0, 0;(0, 0, _1;(0, 2, 0;(1, 2, 0;(0, 2, _1 オブジェクト立体の作成 ( レンダリング は 立体の面に対して3つの頂点座標を指定することで行う 見取り図の3つの3 角ピラミッド V1, V2, V3 はそれぞれ次のように名付けた P V3, Q V2, R V1 レンダリング ルーチン a_g_paint から呼ぶ3 角ピラミッド作成の OpenGL プログラムは そ れぞれ次のようになる P の各面は drawp =: 3 : 0 glcolor 1 0 0 0 glvertex >0{cylpyd glvertex >1{cylpyd glvertex >3{cylpyd glcolor 0 0 1 0 glvertex >0{cylpyd glvertex >3{cylpyd glvertex >5{cylpyd glcolor 1 0 1 0 glvertex >1{cylpyd glvertex >5{cylpyd glvertex >3{cylpyd Q の各面は drawq =: 3 : 0 glcolor 1 0 0 0 glvertex y. +"(1 >1{cylpyd glvertex y. +"(1 >4{cylpyd glvertex y. +"(1 >3{cylpyd glcolor 1 1 0 0 glvertex y. +"(1 >4{cylpyd glvertex y. +"(1 >1{cylpyd glvertex y. +"(1 >5{cylpyd glcolor 1 0 1 0 glvertex y. +"(1 >3{cylpyd glvertex y. +"(1 >5{cylpyd glvertex y. +"(1 >1{cylpyd - 4 -

glcolor 0 1 0 0 glvertex y. +"(1 >3{cylpyd glvertex y. +"(1 >4{cylpyd glvertex y. +"(1 >5{cylpyd なお ここでは右引数として移動の座標値 (x, y, z を指定できるようにした R の各面は drawr =: 3 : 0 glcolor 0 0 1 0 glvertex y. +"(1 >0{cylpyd glvertex y. +"(1 >5{cylpyd glvertex y. +"(1 >2{cylpyd glcolor 0 1 1 0 glvertex y. +"(1 >0{cylpyd glvertex y. +"(1 >1{cylpyd glvertex y. +"(1 >5{cylpyd glcolor 1 1 0 0 glvertex y. +"(1 >2{cylpyd glvertex y. +"(1 >5{cylpyd glvertex y. +"(1 >1{cylpyd glcolor 0 1 0 0 glvertex y. +"(1 >0{cylpyd glvertex y. +"(1 >2{cylpyd glvertex y. +"(1 >1{cylpyd レンダリング ルーチン a_g_paint は次のようになる a_g_paint =: verb define glclearcolor 1 1 1 0 glclear GL_COLOR_BUFFER_BIT + GL_DEPTH_BUFFER_BIT draw0 '' drawp '' drawq XYZQ drawr XYZR glaswapbuffers '' NB. 初期設定 NB. 3 角ピラミッド P の作成 NB. XYZQ だけ移動して 3 角ピラミッド Q の作成 NB. XYZR だけ移動して 3 角ピラミッド R の作成 3.3 つの 3 角ピラミッドでつくる 3 角プリズム - プログラム実行の実際 3 角ピラミッド P Q R を y 方向に適当にずらして配置する これを 3 次元グラフィックスとし て いろいろな方向から見たようすを観察することができる - 5 -

ここで 3 角ピラミッド P Q R の配置はそれぞれキー入力コマンドにより移動できる 3 角ピラミッド P はコマンド u( 上方向 +y 方向 と U( 下方向 -y 方向 3 角ピラミッド R はコマンド v( 上方向 +y 方向 と V( 下方向 -y 方向 にと 別々に移動する もちろん 3 つのピラミッドを接触合体して 3 角プリズムとすることもできる その過程を見てみよう このようにして 最初の命題錐体の体積は柱体の体積の 1/3 である が コンピュータの 3 次元グラフィックスにより 実感できるものになるだろう - 6 -

NB. OpGLN_PriPyd.ijs 2013/7/24 T.Nishikawa NB. "Volume of pyramid equals to 1/3 of prism" NB. NB. Demo from "VNR Encyclopedia of Mathematics", p.194 NB. NB. Usage: NB. run '' NB. Enter 'u' split up Center Pyramid(V2, 'U' down it (=return NB. 'v' split down Right Pyramid(V1, 'V' up it (=return NB. 'r' split right Center Pyramid(V2, 'R' left it (=return NB. 'l' split left Right Pyramid(V1, 'L' right it (=return NB. Then, you will examine the pyramids from various eye-views: NB. Enter 'x X y Y z Z' rotate the object along the axis cylpyd =: (0, 0, 0;(1, 0, 0;(0, 0, _1;(0, 2, 0;(1, 2, 0;(0, 2, _1 wr =: 1!:2&2 require 'gl3' A=: 0 : 0 pc a closeok; menupop "&Help"; menu help "&Help" "" "" ""; menupopz; xywh 0 0 200 200;cc g isigraph ws_clipchildren ws_clipsiblings rightmove bottommove; pas 0 0; rem form end; run=: a_run a_run=: 3 : 0 V =: y. wd :: ] 'psel a;pclose' wd A glarc '' R =: 0 0 0 XYZQ =: 0 0 0 XYZR =: 0 0 0 PQR =: 1 1 1 glafont 'arial 30' glausefontbitmaps 0 32 26 32 wd 'pshow;ptop' NB. display the model picture ======================================= - 7 -

a_g_paint =: verb define glclearcolor 1 1 1 0 glclear GL_COLOR_BUFFER_BIT + GL_DEPTH_BUFFER_BIT gltranslate _0.5, _0.5, 0 draw0 '' if. 0 = #V do. drawp '' NB. display the left pyramid(v3 drawq XYZQ NB. display the center pyramid(v2 at the position XYZQ drawr XYZR NB. display the right pyramid(v1 at the position XYZR else. select. V NB. display one selected pyramid only case. 'p';'p' do. drawp '' case. 'q';'q' do. drawq XYZQ case. 'r';'r' do. drawr XYZR case. 'pq';'pq' do. drawp '' [ drawq XYZQ case. 'pr';'pr' do. drawp '' [ drawr XYZR case. 'qr';'qr' do. drawq XYZQ [ drawr XYZR end. end. drawtext'' glaswapbuffers '' draw0 =: 3 : 0 glpolygonmode GL_FRONT, GL_FILL glpolygonmode GL_BACK, GL_POINT glenable GL_DEPTH_TEST glmatrixmode GL_MODELVIEW glloadidentity '' glrotate R,. 3 3 $ 1 0 0 0 drawp =: 3 : 0 glcolor 1 0 0 0 glvertex >0{cylpyd glvertex >1{cylpyd glvertex >3{cylpyd glcolor 0 0 1 0 glvertex >0{cylpyd glvertex >3{cylpyd glvertex >5{cylpyd - 8 -

glcolor 1 0 1 0 glvertex >1{cylpyd glvertex >5{cylpyd glvertex >3{cylpyd glcolor 0 1 1 0 glvertex >0{cylpyd glvertex >5{cylpyd glvertex >1{cylpyd drawq =: 3 : 0 glcolor 1 0 0 0 glvertex y. +"(1 >1{cylpyd glvertex y. +"(1 >4{cylpyd glvertex y. +"(1 >3{cylpyd glcolor 1 1 0 0 glvertex y. +"(1 >4{cylpyd glvertex y. +"(1 >1{cylpyd glvertex y. +"(1 >5{cylpyd glcolor 1 0 1 0 glvertex y. +"(1 >3{cylpyd glvertex y. +"(1 >5{cylpyd glvertex y. +"(1 >1{cylpyd glcolor 0 1 0 0 glvertex y. +"(1 >3{cylpyd glvertex y. +"(1 >4{cylpyd glvertex y. +"(1 >5{cylpyd drawr =: 3 : 0 glcolor 0 0 1 0 glvertex y. +"(1 >0{cylpyd glvertex y. +"(1 >5{cylpyd glvertex y. +"(1 >2{cylpyd glcolor 0 1 1 0-9 -

glvertex y. +"(1 >0{cylpyd glvertex y. +"(1 >1{cylpyd glvertex y. +"(1 >5{cylpyd glcolor 1 1 0 0 glvertex y. +"(1 >2{cylpyd glvertex y. +"(1 >5{cylpyd glvertex y. +"(1 >1{cylpyd glcolor 0 1 0 0 glvertex y. +"(1 >0{cylpyd glvertex y. +"(1 >2{cylpyd glvertex y. +"(1 >1{cylpyd NB. project the picture on the screen =================== a_g_size =: verb define wh =. glqwh '' glviewport 0 0, wh glmatrixmode GL_PROJECTION glloadidentity '' glortho _2.7 2.7 _2.7 2.7 _2.7 2.7 NB. gluperspective 60, (%/wh, 1 30 NB. key-in x, y, z, X, Y, Z for rotation ================ a_g_char =: verb define k =. 0 { sysdata R =: 360 R + 5 * 'xyz' = 0 { sysdata R =: 360 R - 5 * 'XYZ' = 0 { sysdata XYZQ =: XYZQ + (0, 0.25, 0 * 'u' = 0 { sysdata XYZQ =: XYZQ - (0, 0.25, 0 * 'U' = 0 { sysdata XYZR =: XYZR + (0, 0.25, 0 * 'V' = 0 { sysdata XYZR =: XYZR - (0, 0.25, 0 * 'v' = 0 { sysdata XYZQ =: XYZQ + (0.25, 0, 0 * 'r' = 0 { sysdata XYZQ =: XYZQ - (0.25, 0, 0 * 'R' = 0 { sysdata XYZR =: XYZR + (0.25, 0, 0 * 'L' = 0 { sysdata XYZR =: XYZR - (0.25, 0, 0 * 'l' = 0 { sysdata glpaintx'' NB. indicate rotated angle values x, y, z in degree ============ drawtext =: verb define glmatrixmode GL_MODELVIEW glloadidentity '' - 10 -

glcolor 0 0 0 0 NB. glrasterpos _1 _2.5 0 glrasterpos _0.5 _1.5 0 glcalllists 5 ": R a_help_button =: verb define wd 'mb OpenGL *Press keys, x/x, y/y, z/z rotate, s: line or solid, h: line hidden toggle.' wd 'setfocus g' NB. key-in x, y, z, X, Y, Z for rotation ================ a_g_char =: verb define k =. 0 { sysdata R =: 360 R + 5 * 'xyz' = 0 { sysdata R =: 360 R - 5 * 'XYZ' = 0 { sysdata XYZQ =: XYZQ + XYZ0 =. (0, 0.25, 0 * 'u' = 0 { sysdata XYZQ =: XYZQ - XYZ0 =. (0, 0.25, 0 * 'U' = 0 { sysdata XYZR =: XYZR + XYZ0 =. (0, 0.25, 0 * 'V' = 0 { sysdata XYZR =: XYZR - XYZ0 =. (0, 0.25, 0 * 'v' = 0 { sysdata LS =: ('s' = k { LS, -. LS Hid =: ('h' = k { Hid, -. Hid glpaintx'' NB. indicate rotated angle values x, y, z in degree ============ drawtext =: verb define glmatrixmode GL_MODELVIEW glloadidentity '' glcolor 0 0 0 0 glrasterpos _1 _2.5 0-11 -

glcalllists 5 ": R a_help_button =: verb define wd 'mb OpenGL *Press keys, x/x, y/y, z/z rotate, s: line or solid, h: line hidden toggle.' wd 'setfocus g' - 12 -