A 回答 (4件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
No.3の「補足要求」でも言いましたが、問題点を整理すると、要は、
1)図形か画像か?
3D-CADでも表示された絵そのものは、2次元です。これを利用するとしても画面のハードコピーと同じこと。キーボードの「ctrl+PrintScreen」で切り貼りすれば、Wordに貼り付けることも出来ます。
そうではなくて、マウスを使ってグルグル回したりしたいんですか?それなら図形データを取り出さなくてはいけません。図形データには、
イ)幾何情報(点、線分、トリム曲面..)
ロ)位相情報(面や稜線などの相互的位置関係)
があります。CADシステム内部のデータでは、ロ)を持ちますが、汎用的な形式に掃き出すと、イ)だけになる場合が多いです。絵を描くだけなら相互の関係などなくてもいい場合が殆どです。
#以下、「図形」と仮定した場合...、
2)面は平面形状か、それとも、2次曲面、3次曲面(=NURBSなど)か?
通常の製品形状で平面形状だけなんて殆どないですが、この場合、
3)平面形状ではないとした時、面と面との繋ぎ目は以下の何れか?
3a)全てフィレットなどのRが付いている。
3b)一部鋭角的なところがある。
Open-GLなどで表示する場合、多角形毎以下の何れかを選択しなくてはなりません。
A) Flat Shading (滑らかでない陰影付け)
B)Smooth Shading(滑らかな陰影付け)
B)の場合、位相情報が失われていたり、STL形式のように自由曲面でもなんでも3角形のポリゴンになっちゃうと、幾何情報を頼りに、近い点同士を探して、「面法線ベクトル」を共有化させることにより、面同士が滑らかに繋がったように見せなくてはなりません。
この時、全てRが付いているなら、機械的に近い点同士を1-Groupにまとめちゃえばいいのです。しかし、一部鋭角的なところがあると、面同士
・滑らか
・滑らかでない
を自動的に判別しなくてはなりません。
と言うと難しそうですが、最近も弊社の若手でOpen-GLも数学知識もない者に、方法だけ教えたら、1週間で作りあげました。
原理は上のとおりですが、ポリゴンの数が数10万規模になると、近い点同士を探すのでも上手くやらないと計算時間がかかってしまいます。Octreeなど空間を階層的に管理した方がいいです。
No.3
- 回答日時:
補足です。
a)IGES
b)DXF
c)STL
のような代表的なものでしたら、Viewerがありますが、Viewer使って見るくらいなら、CAD使って見ても同じです。
要は何をやりたいかということです。その辺がイマイチ分かりません。
OPEN-GLは例題を見れば初心者や数学的知識のない者でも簡単に組めます。
No.2
- 回答日時:
mnabeさんが言われていることにほぼ間違いはないです。
1)3D-CADの内部フォーマットは独自ですが、各出力フォーマットにExportできるのが普通です。たとえば、
a)IGES
b)DXF
c)STL
これはフォーマットが分かっていますから、これを読んで、
イ)OPEN-GL
ロ)Direct-X
などのライブラリを使って描画すればいいのです。
「画像として移動できるのか?」:「画像」と言うからには、「bmp」や、「Iris-rgb」、更には、「JPEG」,「GIFF」などの形式でなくてはなりません。そのCADシステムが、これら画像ファイルに掃き出す機能を持っているかどうかでしょう。但し、これは「画像」ですから2次元です。3次元データとして扱いたいなら、上で述べたような方法を使わなくてはなりません。
No.1
- 回答日時:
3D-CADのファイルのフォーマット形式が公開されているか、表示用のライブラリが公開されていれば、C言語で表示可能です。
また、OPEN GLとの連携は難しいと考えるべきです。OPEN GL自身がライブラリですので、別のファイルフォーマットのライブラリがあったとしても読込むのは少々難儀すると思います。できないとは思いませんが...。
描画する必要性は
何を持って描画と言うのかがわかりませんが、画面上に表示するのに必要です。しかし、それをライブラリで行ってくれる可能性もあります。
まずは、3D-CADで確認してみて下さい。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- CAD・DTP CADって簡単ですか? 4 2023/05/01 22:28
- 哲学 日本語は 言語類型として あたかも始原のごとくである 3 2022/05/29 04:41
- Visual Basic(VBA) エクセルマクロでアニメを作る方法を教えてください。 1 2023/02/07 14:27
- C言語・C++・C# 画像の画素値を変えるC言語のプログラムで指定された画像の中に白い三角形を右上に表示させるにはどのよう 3 2022/10/30 01:16
- その他(言語学・言語) ピダハン語 2 2022/07/14 12:41
- HTML・CSS リンクバナーのHTMLタグ。画像を変えたり、設置位置を変えるとバナー貼付け側はどう見える? 2 2023/02/01 12:01
- その他(プログラミング・Web制作) 次に、楽天のアジャイル就活に参加して、1日で内定を獲得できる。私は大企業に就職できる? 2 2022/04/17 13:38
- 英語 描写述語の条件(本来の性質、一時的な属性、又は両方)について 2 2022/07/25 13:41
- CAD・DTP Rhinocerosについて質問です。 始めたばかりで調べても分からないのでお聞きします。 移動につ 1 2023/08/01 23:13
- その他(プログラミング・Web制作) プログラミングについて(Python) 添付した画像はC言語で簡単に作ったソースで、1つの配列に5つ 3 2022/09/10 19:15
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ListBoxで改行したい
-
for文の実行速度を遅くしたいの...
-
VB.NETでグラフィックを描くと...
-
c言語 ちらつき
-
円の頂点の求め方を知りたいです。
-
C#を用いて描画する四角形の角...
-
C# DrawImage 物理サイズでな...
-
vb6のTEXTBOX
-
win32api複数のタイマーを同時...
-
アルゴリズム : 円描画
-
Excel VBA:コントロールボタン...
-
BCB5:Canvas->FrameRectで描画...
-
VB2010にて、プロットエリア...
-
リストアイテムの更新
-
【Delphi】 Canvasへの描画につ...
-
ポリゴン 球体を三角形パッチ...
-
Word 描画オブジェクトを削除...
-
ビットマップに描画をしてピク...
-
scilabでのグラフ描画時の軸設定
-
worksheetFunctionクラスのVloo...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ListBoxで改行したい
-
for文の実行速度を遅くしたいの...
-
給紙トレイをダイアログを使わ...
-
win32api複数のタイマーを同時...
-
VB.NETでグラフィックを描くと...
-
C#を用いて描画する四角形の角...
-
MFCでのコンボボックスについて
-
画面に絵を出す方法
-
Word 描画オブジェクトを削除...
-
PowerPoint の VBA
-
C#で壁の当たり判定と自キャラ...
-
VB.netで図形描画ができません^^;
-
図の削除直後の再描画
-
円の頂点の求め方を知りたいです。
-
VB.NETでphotoshopのレイヤーの...
-
C# DrawImage 物理サイズでな...
-
ビットマップに描画をしてピク...
-
Excel 2007で、フリーフォーム描画
-
COLORREF color の反転色
-
VC;;6.0のMFCで線を簡単に引け...
おすすめ情報