VPythonは、 Pythonプログラミング言語とVisualと呼ばれる3Dグラフィックスモジュールを組み合わせたオープンソースアプリケーションです。
このライブラリアプリケーションを使用すると、球体や円錐などの3Dオブジェクトを作成し、アプリウィンドウに表示できます。これにより、シンプルな視覚化の作成が容易になり、プログラマーはプログラムの計算処理に集中できます。VPythonは、そのシンプルさとオープンソースライセンスのおかげで、特に教育分野において、簡単な数学や物理学の図解によく用いられるツールです。
cTプログラミング言語は、1985年にカーネギーメロン大学の研究者によって開発され、David Andersen、 Bruce Sherwood、Judith Sherwood、Kevin Whitley といった研究者が貢献しました。TUTOR (1965年)やMicroTutor(1977年)といった先行言語から派生したcTは、教育、特に教室における2Dグラフィックスの生成に主な用途を見出しました。特筆すべきは、 VISQなどの賞を受賞したものを含め、数多くの教育プログラムがcTで作成されており、特に物理学の分野でその傾向が顕著です。1997年、カーネギーメロン大学の学生は、 Ruth ChabayとBruce Sherwoodが指導する新設の入門物理学 コースを通じてcTに触れる機会を得ました 。
1998年、デビッド・シェラーは大学に入学し、cTを使用する入門物理学の授業を受講した。cTは比較的簡単な2Dグラフィックスプログラミング環境を提供していたが、シェラーは別のツールを作成できる可能性を見出した。2000年の春と夏、デビッド・アンダーセン、ルース・チャベイ、アリ・ハイトナー、イアン・ピーターズ、ブルース・シャーウッドの協力を得て、シェラーはオブジェクトを3次元でレンダリングするPythonモジュールであるVisualを作成した。PythonとVisualの組み合わせはVPythonと呼ばれている。cTプログラミング言語のさらなる開発は終了し、新しく作成されたVPythonがその代わりに使用されるようになった。VPythonの作成以来、いくつかのバージョンが一般に公開されている。
2016年に開発者たちは[ 2 ] [ 3 ]、従来のVPythonは今後開発されないと発表した。代わりに、開発はGlowscriptとJupyterによる言語の実装に集中する。
VPythonは、3Dオブジェクトやグラフのレンダリングツールです。主に教育分野で利用されてきましたが、商業分野や研究分野でも活用されています。VPythonは、カーネギーメロン大学の物理学入門コースで初めて使用され、その後他の大学、そして最終的には高校へと広がり、特に「物質と相互作用」カリキュラムとの関連で広く利用されるようになりました。
デビッド・シェラーとブルース・シャーウッドによる関連開発として、GlowScriptがある。これは、モバイルデバイスを含むブラウザ上でVPythonプログラムを作成および実行することを可能にする。
Pythonの構文については、Pythonに関する記事を参照してください。この記事では、VPython固有のオブジェクトをいくつか取り上げます。完全なドキュメントについては、こちらをクリックしてください。円筒オブジェクトは、シンプルなVPythonオブジェクトの一例です。以下は、VPythonのドキュメントに記載されている円筒の例です(古いVPython実装では、インポートするモジュールはvisualではなくvpythonです)。
from visual import * # ビジュアルモジュールをインポートしますロッド=円筒(位置= ( 0 , 2 , 1 ),軸= ( 5 , 0 , 0 ),半径= 1 )
VPython 3Dレンダリングエンジンが提供する類似オブジェクトには、円錐、球、ボックスオブジェクトなどがあります。VPythonは、立体オブジェクトに加えて、グラフ作成ツールも提供しています。以下は、VPythonのドキュメントに記載されている、VPythonで作成したシンプルなグラフの例です。
from visual.graph import * # グラフ作成機能をインポートfrom numpy import arange , cos , expfunct1 = gcurve ( color = color.cyan ) # 接続された曲線オブジェクトfor x in arange ( 0. , 8.1 , 0.1 ): # x は 0 から 8 まで変化しますfunct1 . plot ( pos = ( x , 5. * cos ( 2. * x ) * exp ( - 0.2 * x ))) # プロット