HSP用複素数(虚数)モジュール
時間ができたので作ってみました。使いたい方はご自由にどうぞ。著作権フリーです。ただし使い方は書いてませんw 2Dのシューティングゲームやアクションゲームで需要がありそう。とはいっても虚数使おうと考える人は自分で書いちゃう気もしますし、虚数をなんで使うのという方には必要ない気もしますが。
#define make_complex_number(%1) ddim %1,2
#module
#deffunc set_imasinary_number array name,int real_part,int imasinary_part
name(0)=real_part
name(1)=imasinary_part
return
#deffunc add array name,int r1,int i1,int r2,int i2
name(0)=r1+r2
name(1)=i1+i2
return
#defcfunc arg array var
return atan(var(0),var(1))
#deffunc product array name,int r1,int i1,int r2,int i2
name(0)=r1*r2-i1*i2
name(1)=r1*i2+r2*i1
return
#deffunc conjugate array name1,array name
name1(0)=name(0)
name1(1)=-name(1)
return
#defcfunc comf array var,int type
if type=1:return strf("(%f,%f)",sqrt(var(0)*var(0)+var(1)*var(1)),atan(var(0),var(1)))
return strf("%d+%di",var(0),var(1))
#global
;~~~~~~以下サンプル~~~~~~
make_complex_number a
make_complex_number x
make_complex_number y
make_complex_number z
set_imasinary_number x,3,2
set_imasinary_number y,1,1
add z,1,2,4,3;imasinary y
product z,11,2,3,4
conjugate a,x
product z,a(0),a(1),x(0),x(1)
mes comf(y,0)
autor:いかろ
#define make_complex_number(%1) ddim %1,2
#module
#deffunc set_imasinary_number array name,int real_part,int imasinary_part
name(0)=real_part
name(1)=imasinary_part
return
#deffunc add array name,int r1,int i1,int r2,int i2
name(0)=r1+r2
name(1)=i1+i2
return
#defcfunc arg array var
return atan(var(0),var(1))
#deffunc product array name,int r1,int i1,int r2,int i2
name(0)=r1*r2-i1*i2
name(1)=r1*i2+r2*i1
return
#deffunc conjugate array name1,array name
name1(0)=name(0)
name1(1)=-name(1)
return
#defcfunc comf array var,int type
if type=1:return strf("(%f,%f)",sqrt(var(0)*var(0)+var(1)*var(1)),atan(var(0),var(1)))
return strf("%d+%di",var(0),var(1))
#global
;~~~~~~以下サンプル~~~~~~
make_complex_number a
make_complex_number x
make_complex_number y
make_complex_number z
set_imasinary_number x,3,2
set_imasinary_number y,1,1
add z,1,2,4,3;imasinary y
product z,11,2,3,4
conjugate a,x
product z,a(0),a(1),x(0),x(1)
mes comf(y,0)
autor:いかろ
スポンサーサイト
| ホーム |