名前 題名 ▼ takiさん > procedure TForm1.Button3Click(Sender: TObject); > var > a,b:Variant; > rad,kaku:Double; // 角度 > begin > // 加算と減算が複素平面上でのベクトルの和と差で表され、 > // 乗算と除算が複素平面上での回転 > > a := VarComplexCreate; > rad := (27 / 180) * pi; // 27度 > a.real := cos(rad); // 偏角27度を複素数にセット > a.Imaginary := sin(rad); > > a := a * a; // 複素数の積は偏角は和 > > kaku := VarComplexAngle(a); // radian > kaku := kaku / pi * 180; > label3.Caption := floattostr(kaku); // 54 で正解 > > // 偏角45度と偏角135(=180-45)度の足し算 > rad := (45 / 180) * pi; > a.Real := cos(rad); > a.Imaginary := sin(rad); > > rad := (135 / 180) * pi; > b := VarComplexCreate(cos(rad),sin(rad)); > > a := a + b; // ベクトルの和 > > kaku := VarComplexAngle(a); > kaku := kaku / pi * 180; > label4.Caption := floattostr(kaku); // 90.000..1 > label5.Caption := floattostr(VarComplexAbs(a)); // 1.41421356... > end; > > なんとなくわかってきました。 GIF,JPEG,PNG画像ファイル及びLZH,ZIPファイルをアップロードできます.600 x 1200 ピクセルを超える画像は縮小表示されます(画像クリックで拡大表示). (上限122000(120k)バイト) 削除キー Link