![]() |
| サイトマップ | |
|
編集メニューには、Windows 標準の編集機能に加え、条件の競合を対処する手段、および、プログラム全体の設定項目が用意されています。このうち幾つかのオプションは、アイコンバーにも用意されています。
| メニューオプション | 機能 | 選択できる条件 |
|---|---|---|
| 実行した動作を前の時点に戻します。 | 任意の動作を実行した後 | |
| 直前に取り消した動作を前の時点に戻します。 | 元に戻すを使用した後 | |
| 選択すると、選択モードが有効になります。 | 選択モードは、描画ツールを使用したり、図形や描画ウィンドウの移動中以外は、常に有効です。 | |
| すべてを選択 | 描画ウィンドウにあるすべてのオブジェクトを選択します。 | 常に選択可能 |
| 選択を解除 | 選択状態のオブジェクトを選択解除します。 | 常に選択可能 |
| オブジェクトを削除します。ただし、その内容は、任意の場所に貼り付けることができるよう一時的に格納されます。 | オブジェクトを選択したとき | |
| オブジェクトは削除されません。任意の場所にその内容を貼り付けることができるよう一時的に格納されます。 | オブジェクトを選択したとき | |
| 形式を指定してコピー | 数式をコピーする他のプログラムの選択肢がサブメニューに表示されます。 | 数式や公式を選択したとき |
| 描画ウィンドウのすべてを Enhanced Metafile (.emf) 形式でコピーします。 | 常に選択可能 | |
| 描画ウィンドウでカーソルをドラッグして作成される矩形の内側の選択範囲をコピーします。 | 常に選択可能 | |
| 切り取りまたはコピーされた内容を現在の描画ウィンドウに貼り付けます。 | オブジェクト (複数可) を切り取りまたはコピーしたとき | |
| 削除 | 選択したオブジェクトを削除します。内容は格納されません。 | 1つまたは複数のオブジェクトを選択したとき |
| 整列 | 選択したオブジェクトの選択や表示を容易にするために、それ以外のオブジェクトの最前面 (前面へ移動) または最背面 (背面へ移動) に配置します。 | 1つまたは複数のオブジェクトを選択したとき |
| Mathematica に送る | 別ウィンドウで Mathematica を実行しているとき、数式を Mathematica にインプットします。 | Windows 版のみ 出力された数式や公式を選択したとき |
| 条件に変換 | 選択した出力結果 [2θ] を他の条件との競合がない限り、入力条件に変換します。 | 出力された数式を選択したとき |
| 測定結果に変換 | 選択した条件を測定結果 (出力) に変換します。 | 入力条件を選択したとき |
| 数値に変換 | 演算結果を数式から数値に変換します。 | 数式の出力結果を選択したとき |
| 数式に変換 | 演算結果を数値から数式に変換します。 | 数値の出力結果を選択したとき |
| 詳細... | テキストの編集ダイアログを表示して、テキストブロックを編集します。 | テキストブロックを選択したとき |
| パラメータ... | 関数、軌跡、トレースのパラメータを編集します。 | 関数、軌跡、トレースのいずれかを選択したとき |
| プロパティ... | 選択オブジェクトの表示プロパティを編集します。 | 同一タイプの1つまたは複数のオブジェクトを選択したとき |
| 環境設定... | 表示法の初期値や、プロジェクトの図形、テキスト、計算方法のプロパティを定義します。 | 常に選択可能 |
注意:Mac 版では、環境設定は Geometry Expressions メニューにあります。
数式や関数を代数システムやその他のプログラムにコピーするには:
![]() |

サブメニューを選択すると、選択された数式が Windows のクリップボードにコピーされ、それぞれ該当するアプリケーションにその内容を貼り付ける (Ctrl+V) ことができます。
Geometry Expressions では、様々な言語のコンピュータ・ソースコードを生成することができます。
![]() |
Geometry Expressions には、2種類の数式表現があります:
ソースコードは、中間変数の有無によってその形式が異なります。
なお、各言語間で生成される数式にはそれほど大きな違いはない点に注意してください。おもな違いは以下の通りです:
いずれの言語にも関数を呼び出す固有の方法があります。関数からベクトルを返す場合は、言語によって挙動が異なります。
以下のサンプルを元に、コード生成で得られる点 D の位置 (ベクトル) と AD の距離(スカラー) をあらわす数式をコピーすることにします。
![]() |
スカラー / 中間変数なし
(pow((pow(c,2)+((a+(b*-1))*c)),0.5)*pow((a+b+c),-0.5)*pow(a,0.5))
スカラー / 中間変数
double distance(
double a ,
double b ,
double c )
{
double d_1;
double v_1;
double phi_0;
double d_2;
double d_0;
double u_1;
d_1 =
(pow(((a*-1)+b+c),0.5)*pow((a+(b*-1)+c),0.5)*pow((a+b+(c*-1)),0.5)
*pow((a+b+c),0.5));
v_1 = (d_1*pow(a,-1)*0.5);
phi_0 = ((a+b+c)*v_1*pow(c,-1)*pow(b,-1));
d_2 = (v_1*pow(b,-1)*a*-1);
d_0 = (pow(a,2)+(pow(b,2)*-1)+pow(c,2));
u_1 = (d_0*pow(a,-1)*0.5);
return
(pow(fabs(phi_0),-1)*fabs(d_2)*pow((pow(c,2)+(u_1*c*2)+pow(u_1,2)+
pow(v_1,2)),0.5)*pow(c,-1));
}
関数の名称が Geometry Expressions における数式の名称になっており、そのパラメータは入力変数、戻り値は数式の値になっていることが分かります。
ベクトル / 中間変数
ベクトル値からなる location の数式を選択すると、関数は2つの量を返します。これは言語によって異なる方法で実行されます。
C / Objective C
void location(
double a ,
double b ,
double c ,
double *location_x_ ,
double *location_y_ )
{
double location_x;
double location_y;
double d_1;
double v_1;
double d_2;
double d_0;
double u_1;
double phi_0;
d_1 =
(pow(((a*-1)+b+c),0.5)*pow((a+(b*-1)+c),0.5)*pow((a+b+(c*-1)),0.
5)*pow((a+b+c),0.5));
v_1 = (d_1*pow(a,-1)*0.5);
d_2 = (v_1*pow(b,-1)*a*-1);
d_0 = (pow(a,2)+(pow(b,2)*-1)+pow(c,2));
u_1 = (d_0*pow(a,-1)*0.5);
phi_0 = ((a+b+c)*v_1*pow(c,-1)*pow(b,-1));
location_x = (((d_2*-1)+(u_1*d_2*pow(c,-1)*-1))*pow(phi_0,-1));
location_y = (pow(phi_0,-1)*v_1*d_2*pow(c,-1)*-1);
*location_x_ = location_x;
*location_y_ = location_y;
}
C++
void location(
double a ,
double b ,
double c ,
double &location_x_ ,
double &location_y_ )
{
double location_x;
double location_y;
...
location_x_ = location_x;
location_y_ = location_y;
}
C Sharp
void location(
double a ,
double b ,
double c ,
out double location_x_ ,
out double location_y_ )
{
double location_x;
double location_y;
...
location_x_ = location_x;
location_y_ = location_y;
}
Visual Basic / VBA
Sub z_0(ByVal a As Double , ByVal b As Double , ByVal c As Double , ByRef z_0_x_ As Double ,ByRef z_0_y_ As Double ) Dim z_0_x As Double Dim z_0_y As Double … z_0_x_ = z_0_x z_0_y_ = z_0_y End Sub
Java
double location(
double a ,
double b ,
double c ,
double[] location_v )
{
double location(
double a ,
double b ,
double c ,
double[] location_v )
{
double location_x = 0;
double location_y = 0;
...
location_v[0] = location_x;
location_v[1] = location_y;
}
JavaScript
function location(
a ,
b ,
c ,
location_v )
{
var location_x = 0;
var location_y = 0;
...
location_v[0] = location_x;
location_v[1] = location_y;
}
Action Script
public function location(
a:Number ,
b:Number ,
c:Number ,
location_v:Array) )
:void
{
var location_x:Number;
var location_y:Number;
…
location_v[0] = location_x;
location_v[1] = location_y;
}