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

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

新規登録して質問してみよう
ただいま回答率
85.35%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Q&A

解決済

1回答

697閲覧

3Dワイヤーフレーム作成で2D表示の円や円弧を視点角度変更後の描き方・考え方

mnhktm

総合スコア26

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

0グッド

0クリップ

投稿2021/06/13 01:36

お世話になっております。

ある物の動きをXYZ座標上で直線と円、円弧で組み合わせて表示し
視点を変えていろんな角度から見ることができるプログラムを
作成しようとしています。(3D関係は全く素人でこれから勉強です)

現在はXY平面で2D表示はできておりZ軸は表示できていません。添付ファイル
黄色い線はあるものを加工する経路の動きを表示したもので
これにはZ方向は表示なしです。閉じた形状ではありません。

イメージ説明

いろんなサイトで形状のポイント座標から回転させたときの
画面への最終表示ポイントを求めるやり方が掲載されており大変
参考になるます。多角形立方体でのサンプルが多い中、ふと疑問
に思ったのが円(Ellipse)や円弧(Arc)で描いた2D形状は視点表示角度
を変えると楕円に見えるわけで、実現方法の考え方が知りたいです。
単に理解不足なわけですが。(それを知って勉強したいです)

例えば、
・円は円周を直線の角度分割で表現して全て直線で表現。円弧も同じ。
・円の外接正方形の四隅をポイントとして作り、変換後に楕円表示させる
・従来の座標変換と考え方は同じでそれも含まれている(?)
・その他便利なやり方がある・・

言い方が難しいのですが、直線と円と円弧で描かれた立体座標計上をいろんな角度から
グリグリとやりたいです。(できるかどうかは?)ですが。

宜しくお願いします。

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

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

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

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

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

guest

回答1

0

ベストアンサー

円が楕円に見えるような世界で良いのならば,
楕円を定義するのに十分な個数の制御点について計算を行い,その制御点群の結果座標に基づいて楕円を描画すればよいでしょう.
(下図では点を5個例示していますが,3つもあればいけるように思えますね)

イメージ説明

しかし,遠近感がある表現などを行う場合だと,正確な"楕円"にはならないような気がするので,そのようなことを考えると,
折れ線で描画してもよいものなのであれば,

円は円周を直線の角度分割で表現して全て直線で表現。円弧も同じ。

的な方法が最も簡単であると思います.

投稿2021/06/13 06:45

fana

総合スコア11996

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

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

mnhktm

2021/06/13 09:55

fana さん ありがとうございます。 そうですね。遠近法はややこしいので考えないとして、ご提示いただいた円の縦横のポイントと 中心、扇ならさらに開始点と終了点を回転(移動)後の座標に変換し、それに合わせて円弧描画メソッド (ArcToなど)のパラメータ調整するのがやはり良いかもしれませんね。乗り越えるべき壁は高そうです。
fana

2021/06/14 01:07 編集

最終的な円弧描画手段が求めるパラメータの形式次第ですが, 例えば,弧の範囲の2端点の角度で与えるとかならば,端点と円の中心の変換結果があれば角度を得ることは可能でしょう. でも,開始側と終了側の指定順序次第で狙いと違う側の弧が描かれてしまうとか,いろいろと面倒そうなことが起きそうな予感はしますね.
fana

2021/06/14 01:11 編集

自分なら,めんどくさいからとりあえず全部折れ線にしてみて,それでOKそうだったらもうそれで完了,みたいな感じでいくかなぁ. (実際に動くのを見てみたら,「やっぱ遠近法とか欲しいよね」とかなるかもしれないし?)
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問