HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2013
0227
なーさんpsetを使った立体表現3未解決


なーさん

リンク

2013/2/27(Wed) 08:19:52|NO.52600

N88BasicのプログラムをHSPに移植しました。
実行すると波形の三次元図が映し出されます。
forからnextまででどのような処理をして、波形を映し出しているのか説明をお願いします。

color 0,255,0
R1=sin(deg2rad(θ)):R2=cos(deg2rad(θ))
for y,-220,220,5
for x,-220,220,5
d=sqrt(x*x+y*y)
z=10.0*cos(M_pi*3.0*d/100)
xa=r2*x-r1*y
ya=r1*x+r2*y
za=r1*ya+r2*z
pset xa+320,za+240
next
next



この記事に返信する


f(出張中)

リンク

2013/2/27(Wed) 16:28:46|NO.52603

>波形の三次元図が映し出されます

俺にはそのように見えないんだが、これで正しいのか?



(´ω`)

リンク

2013/2/27(Wed) 17:53:34|NO.52604

なんか違う……

これたぶん、内側のループ毎に描画位置をちょっとずつズラさないと
いけないんじゃないかしら。(u´ω`)



暇人

リンク

2013/2/27(Wed) 18:44:45|NO.52609

θが設定されてないから波が見えなくなってる


button "回転角度" , *start button "波の高さ" , *start button "波の数" , *start pos 70,0 θ=45 input θ,64,24 h=10.0 input h,64,24 c=3.0 input c,64,24 *start color boxf color 0,255,0 R1=sin(deg2rad(θ)):R2=cos(deg2rad(θ)) for y,-220,220,5 for x,-220,220,5 d=sqrt(x*x+y*y) //中心からの距離を取得 z=double(h)*cos(M_pi*double(c)*d/100) //距離を波の角度としてcosを取得,cは波の数に影響、hは波の高さに影響 xa=r2*x-r1*y //中心からの座標にsin,cosをかけてX座標を出す(ベクトルの回転 http://www7.plala.or.jp/kfb/program/stg2dvec.html ) ya=r1*x+r2*y //こっちはY座標用 za=r1*ya+r2*z //Y座標と波の高さをZ座標として回転させて、描画用のY座標にする pset xa+320,za+240 next next
波形の三次元図とかやった事ないから説明はかなり適当



ONION software Copyright 1997-2023(c) All rights reserved.