質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Javaアプレット

Javaアプレットは、Webページに組み込まれて実行されるJavaアプリケーションの形式です。Java SE 11で廃止となりました。

Q&A

解決済

1回答

3092閲覧

Java アプレット 引数lengthをとって、角度degの方向に座標を移動させたい。

Rino-T_C

総合スコア95

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Javaアプレット

Javaアプレットは、Webページに組み込まれて実行されるJavaアプリケーションの形式です。Java SE 11で廃止となりました。

0グッド

0クリップ

投稿2015/06/02 08:47

Javaアプレットについて質問です。

ある点(x, y)から角度degの方向に引数を移動距離lengthのみを用いて
移動させたいのですが、どうすればいいですか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

こんにちは。

コードを書いて検証はしていませんが、以下でいけるかと思います。

lang

1x += length * Math.cos(Math.toRadians(deg)); 2y += length * Math.sin(Math.toRadians(deg));

参考:三角関数

以上ご参考になれば幸いです。


追記

Wikipediaの三角関数の説明を使って説明します。

この説明の「定義」のすぐ下の右に

∠Cを直角とする直角三角形ABC

の図があると思います。

この図で、点Aの座標を(x,y)とし、∠Aの角度をdeg(度)としますと、
求めたいのは点Bの座標ですが、図にある三角形の辺の長さ、a と bを
使うと、

B(x+b, y+a)

となりますので、あとは、aとbをlength(図では h )とdegを使って
置き換えればよいことになります。

図だと、∠Aの大きさをθとして

a = h × sin θ

b = h × cos θ

となっていますが、これをjavaのプログラムに直すときに、ちょっと気をつけ
なければならないのが、javaのサイン、コサインを求めるメソッド

 Math.sin(angle)

 Math.cos(angle)

は、角度の引数angleをラジアンで与えなければなりません。
度(deg)をラジアン(rad)に変換するには、

rad = deg * Math.PI / 180;

ですが、Mathクラスには

Math.toRadians

という便利なメソッドがあるのでこれを使いますと、

b = length * Math.cos(Math.toRadians(deg));

a = length * Math.sin(Math.toRadians(deg));

となり、これらに、それぞれ移動前の座標(x,y)を
加えると、求めたい

B(x+b, y+a)

の座標が得られます。

以上です。

投稿2015/06/02 08:54

編集2015/06/02 09:20
jun68ykt

総合スコア9058

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Rino-T_C

2015/06/02 09:18

ありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問