• ベストアンサー

Java3Dにおける再描画

Java3Dで,例えば. (1.0+x,1.0+y,1.0+z)のBOXを,ボタンを押すごとにx,y,zにランダムの数値が入れ形状を変化させるプログラムを作りたいのですが,再描画の方法がわかりません. どなたか教えていただけないでしょうか?

  • Java
  • 回答数1
  • ありがとう数0

質問者が選んだベストアンサー

  • ベストアンサー
  • hrm_mmm
  • ベストアンサー率63% (292/459)
回答No.1

再描画っていったら、repaint()じゃないのかな? で、どこまで出来てるんでしょうか? 3Dはとりあえずおいといて、action→repaint の制御については、jdkのdemoにArcTestというのがあるのでこれを参考にした方がよいかと思います。

関連するQ&A

  • javaもしくはjava3Dをつかって

    最初に断っておきますが,初心者です javaもしくはjava3Dを使って正弦波をX軸Y軸の上を動かしたいのですが,うまくいきません.正弦波を表示させるところまではうまくいくのですが動かそうとするとエラーがでてしまいます.動かすプログラムが間違っているのでしょうか? 自分のやり方は線を描画して再計算して何も実行文のないwhile文で時間を稼いでもう一度描画というふうにしています.BASICではこの方法でやりました. また,表示させた画像をボタンから任意に画素数を代えて画像の2値化などができるプログラムなどは作れるでしょうか?こっちはまったくの手付かずなのですが ... どなたか,アドバイスいただける方いましたらお願いします.

  • JavaのJARファイルがうまく作成できません

    Javaプログラムを作成したのですが、Jarファイルがうまく作成できません。 (Javaプログラムの作成経験はありますが、Jarファイル作成は初めてです) どなたか解決方法をご教授下さい。 4つのソースプログラムがあります。 1) D:\Java\x\y\Random\a.java 2) D:\Java\x\y\Random\b.java 3) D:\Java\x\y\Random\c.java 4) D:\Java\x\y\Random\d.java ■1:Windowsのコマンドプロンプトで、 cd D:\Java javac x\y\Random\*.java と入力して、エラーが発生する事なく、コンパイルできました。 (D:\Java\x\y\Randomフォルダに、a.class, b.class, c.class, d.classファイルができました) ■2:次に(Windowsのコマンドプロンプトで) java x.y.Random.myClass と入力して、期待通り動作しました。 上記1)~4)のjavaソースプログラムは次のようにコーディングしています。 1) a.java package x.y.Random; ・・・ class myClass { public static void main(String args[]) { ・・・ } } 2) b.java package x.y.Random; ・・・ 3) c.java package x.y.Random; ・・・ 4) d.java package x.y.Random; ・・・ ここまではうまく行っており、問題ありません。 ■3: 次のコマンドを実行すると、 jar cvf x.y.Random.jar x\y\Random 何もエラーは発生せず、以下のようなメッセージが10行程度表示され、 ・・・を追加中です。(入=xx)(出=yy)(nn%収縮されました) 「x.y.RandomNum.jar」ファイルが作成されましたが、 このjarファイルをダブルクリックすると、以下のダイアログボックスが表示されます。 ・ダイアログボックスのタイトル Java Virtual Machine Launcher ・エラーメッセージ Failed to load Main-Class manifest attribute from D:\Java\x.y.Random.jar 宜しくお願い致します。

    • ベストアンサー
    • Java
  • Javaのアプリケーションでの円の描画について。

    Javaのアプリケーションでの円の描画について。 EcipseでJavaプログラムを書いています。 まだ始めたばかりでわからないことだらけなんですが、JavaにはJavaアプリケーションとJavaアプレットの2種類の書き方(?)があることを知りました。 作りたいものに向かってJavaアプリケーションの書き方で最初から書いていたんですが、円を表示させるプログラムのところで引っかかりました。 Javaアプリケーションの書き方では円の描画方法は見つからなかったのです。 Javaアプレットの書き方では見つかりました。 ということは1からJavaアプレットの書き方で作り直さなくてはいけないでしょうか? ここまで出来たのは結構長いプログラムなのですが・・・。 どうかアドバイスお願いします。

    • ベストアンサー
    • Java
  • java3D

    java3Dでボタンを使って速度調整ができるソースプログラムを教えていただけないでしょうか。よろしくお願いします。

  • Javaからパイプでデータ送信しGnuplot描画

    大変お世話になります。 以下のスロットで、Javaから単純にGnuplotのsin(x)コマンドを実行させ、描画される方法が紹介されていました。 http://okwave.jp/qa/q5427703.html 今回、上記の改良として以下の2点についてご質問させて頂けますでしょうか。 1)Java側で、例えば y=sin(x) の、x値(for文により生成)、y値を計算させ表示。 同時にこの、x値、y値を(多分)パイプ経由で、Gnuplot側に送りそれを描画させる方法。 (Javaから"plot sin(x)"を指示するのではなく、Gnuplotにはデータ値を送付) 2)及び上記描画(プロット)表示を、アニメーション的に描画される方法。 多分、こちらもJava側でGnuplot向けの描画コマンド中にfor文を用意し、x値とそのy値のセットを順次・動的にGnuplot側に送り出す事が必要と思います。 (C言語では同様のアニメーション表示が出来ている記載が別webにあり、sin(x)波がニョロニョロと動くように描画されています) http://ayapin-film.sakura.ne.jp/LJ/Docs/40th.pdf http://www.eng.kagawa-u.ac.jp/~haruna/memo/gnuplot/gnuC.html http://kabuto.phys.sci.osaka-u.ac.jp/~yuhii/pc/gnuplot_animation.html 以上2点をご存知でしたら、教示して頂きたいと思います。 ご理解頂ける方がいらっしゃいましたら、ご指導宜しくお願い致します。

  • Javaアプレットで描画の中断がしたい

    Java初心者です。学校の課題で数学シュミレーションの結果を Javaアプレットで表示するプログラムを作成しています。 この課題のJavaアプレットでは 複素平面のシュミレーション(計算結果を色のグラデーションで表示する)なのですが、 チョイスやボタン、マウスクリックなどによって、 初期条件や、描画方式、表示範囲などを指定することができます。 とりあえず、シュミレーション結果の描画は 試行錯誤の結果表示ができるようになりました。 paint(Graphics g)メソッドで数値計算、及び描画をしています。 (ちなみに余談かもしれませんがダブルバッファリングをしていて、 描画内容をImageとして書き込んでおいて描画するというかたちです。) 「計算途中(計算には結構時間がかかる)に 新たにボタンなどで指定条件が変更された場合、 現在の描画を中断して次の計算と描画を開始できるように プログラムを改良しなさい」というのが今回の課題です。 つまり、「プログラム的にはpaintメソッドが実行されている途中に 特定のイベントが発生したらpaintメソッドを中断し、 もういちど呼びなおしなさい」ということかと思われます。 スレッドを作り、そのスレッドを中断するなども考えました。 インターネットで検索もしてみましたが、 なかなか情報を見つけられず困っています。 学生が作るプログラムなのでそんなに難しいことではないのだと思うのですが 解決できませんでした。 どうぞよろしくお願いします。

  • Mathematicaでの3D散布図

    Mathematicaで3D散布図を描画しようとしています. Show内で,Graphics3D[Point[{x1,y1,z1}]],Graphics3D[Point[{x2,y2,z2}]],・・・というように,1プロットずつ記述しています. このとき,データごとにプロットの形状を”●”,”▲”,”■”などのように変更することは出来ますか? PlotMarkesrを使用することで,出来そうなのですが,Graphics3D内でPlotMarkersを記述するとエラーではじかれてしまいます. PlotMarkersはListPlotなどの関数じゃないと,使用出来ないのでしょうか? 公式サイトのヘルプは充実しているのですが,イマイチ分かりません. よろしくお願いします.

  • 矢印を描画

    JAVAで矢印を描画したいのですが、どうしたらいいのかわかりません。 矢印の位置をFOR文でx、yの値を変えながら、いくつもつくりたいのですが・・・。また、角度も変えていきたいのですが・・・。 なにかそのような命令があるのでしょうか?? ないのなら、どう書いたらいいか教えてください。

    • ベストアンサー
    • Java
  • パラメトリック曲線の描画アルゴリズムについて

    x = f(t) y = g(t) のように表せるパラメトリック曲線を2次元のビットマップ画像に描画したいと考えています。 (たとえばNURBS) 描画アルゴリズムですが、tを適当に変化させてx,yの組を得てその点を打つことにより曲線 を書くことはできます。 ただこの場合tの増分の選び方が大きいと穴が開いてしまいますし、小さいと何度も同じx,yを 描画することになってしまい効率が悪いです。 x、yの適切な変化量(たとえばプラスマイナス1)となるtの増分を求められればいいのですが、 具体的なアルゴリズムが思い当たりません。 他の方法でも構いませんが、一般的にパラメトリック曲線を描画する高速なアルゴリズムをご存知 でしたらご教授いただけたらと思います。

  • javaで課題を出されています

    題名の通りなのですが、javaのプログラミングで課題を出されていて うまく書けません お題としては 1 if分と論理演算を使うこと。 2 forまたはwhileを使用すること 3 メソッドを使用すること。(main以外で) 4 配列を使用すること 以上なのですが、一応昔スロットプログラムを作っていたのでこれをベースに作ろうかなと考えています import java.io.*; public class Slot01{ public static void main(String[] args){ try{ //String line =reader.readLine(); BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); System.out.println("こんにちは!スロットゲームへようこそ!"); System.out.println("EnterKeyを押して当たりを出してくださいね!"); while(true){ //while文は処理を繰り返すためのものです。 // ▽これよりソースを打ち込んでください //try{ int x=(int)(Math.random()*9)+1; int y=(int)(Math.random()*9)+1; int z=(int)(Math.random()*9)+1; int[]kakuritu; int sum; System.out.print(x); System.out.print(y); System.out.print(z); System.out.println(""); String line =reader.readLine(); //System.out.println(""); if(x==7&&y==7&&z==7){ System.out.println("スーパー大当たり"); }else if(x==y&&y==z){ System.out.println("大当たり"); }else if(x==y||y==z||x==z){ System.out.println("小当たり"); }else{ System.out.println("外れ"); } }//while文の終わり }catch (IOException e){ System.out.println(e); }catch (NumberFormatException e){ System.out.println("正しい形式で表示してください。"); } } } このプログラムなのですが、1と2はこの中に入ってます。考えてみたのですが、このプログラムに当たり確率を表示させるプログラムなら3と4も満たせそうなのですが、いまいちソースが思いつきませんのでご教授お願いします。 文章おかしいところだらけで申し訳ありません。

    • ベストアンサー
    • Java

専門家に質問してみよう