
No.1ベストアンサー
- 回答日時:
> RECT構造体は四角形の左上隅と右下隅の座標を定義するものではあると思いますが
これは、正しいとも間違いとも言えません。
C標準にはRECT構造体なるものはありません。
あなたの言う「RECT構造体」は何かのライブラリやAPI用に追加されたもので、その定義として「四角形の左上隅と右下隅の座標」としているだけです。
例えば、↓このRECT構造体はWindowsAPI用に用意されたものです。
MacやLinuxのCではそのままでは使えません。
Windowsでも、#includeで適切なヘッダを読み込まなければ使えません。
http://msdn.microsoft.com/ja-jp/library/a5ch4fda …
他のライブラリで別の定義をしても構いません。
対応した関数等をちゃんと用意できれば、「四角形の右上隅と左下隅の座標」とか「四角形の左上隅座標と大きさ」とかで「RECT構造体」を作っても構わないわけです。
> 多角形の座標を定義する構造体はないのでしょうか?
これも同様に、C言語にはありません。
そのRECTが定義されているライブラリのマニュアル等を調べて、無いのなら「そのライブラリには」存在しないのでしょう。
無いのなら、適当に作ればいいのです。
どう定義するか、は、それをどう使いたいかを考え、都合のいいものにすればいいです。
例えば、上記のMFCを使って、Windowsの画面に多角形を書きたい、といった場合は、CDC::Polygon で簡単に使えるものがよいと考えられます。
http://msdn.microsoft.com/ja-jp/library/hhkhd4xz …
そうすると、引数にあった型で POINT構造体の配列と、点の数を記憶できるようなものがよいでしょう。
この回答への補足
<<このRECT構造体はWindowsAPI用に用意されたものです。
MacやLinuxのCではそのままでは使えません。
Windowsでも、#includeで適切なヘッダを読み込まなければ使えません。
ということはwin32APIにあるかどうかを調べればいいのですね
どうやれば調べられますか?
<<例えば、上記のMFCを使って、Windowsの画面に多角形を書きたい、といった場合は、CDC::Polygon で簡単に使えるものがよいと考えられます。
いえ、書きたいわけでなく判定に使いたいのです。
四角形の内部にかかれた画像をマウスを 左上、右上、左下、右下にマウスを乗せたらスクロールするプログラムを作りたいのですが、左上、右上、左下、右下をそれぞれ2つに分ければRECT構造体で定義させて判定させればうまくいくと思いますが、多角形の判定にして処理を短くできないかな?っと思いまして質問させていただきました。
下のような図で ┌ の部分にマウスを持っていけば左上に移動するプログラムですね
┌ - ┐
| |
└ - ┘
調べ方がわからなかったので自作のを作ってみたのですが、構造体を作ったところで判定処理させるのがどうすればいいか悩んでいたのですが
解決法を思いつきました。
┏の場合 四角形を4っつつくって斜めの部分を上と左の重複判定させれば斜めに移動させれると思いました。
ただ、判定箇所は
□□■■■□□
□ □
■ ■
■ ■
■ ■
□ □
□□■■■□□
ではなく
□■■■■■□
■ ■
■ ■
■ ■
■ ■
■ ■
□■■■■■□
になりそうですが
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
グラフの交点の求め方(Excel)
-
3次元空間上の2つの座標から...
-
18マスの左の方3×3のマス目を自...
-
シーケンサー(PLC?)で制...
-
ピクセルの座標を取得するには
-
対数表示のグラフを書くには
-
マインクラフト(pc版)で座標...
-
C言語 配列で座標
-
閉図形の座標の配列が右回りか...
-
エクセルで回転する座標の出し方
-
始点、終点の二つの座標と半径...
-
MATLABの射影変換についての質...
-
Excel VBA で自在に図形を変化...
-
VBA 図形○を入れる座標の取り方
-
エクセルシート上のマウスポイ...
-
最小二乗平面
-
直線上にある点の座標の求め方
-
以下のプログラムは重心を求め...
-
「アイテムは収集されました」...
-
エクセルで作った新しいウイン...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
グラフの交点の求め方(Excel)
-
マインクラフト(pc版)で座標...
-
始点、終点の二つの座標と半径...
-
3次元空間上の2つの座標から...
-
エクセルで回転する座標の出し方
-
C言語 配列で座標
-
エクセルである点からの距離で...
-
シーケンサー(PLC?)で制...
-
多角形の内部かどうか判定する方法
-
Excel VBA で自在に図形を変化...
-
最小二乗平面
-
回転する矩形同士の当たり判定...
-
VBで、開いているExcelシートの...
-
ワード上Shapeの位置情報を統一...
-
図形が重なりあっているかどうか
-
C言語で制作するピラミッドアー...
-
ガウシアンフィルタのCプログラム
-
Excel関数で指定範囲内に有るか...
-
3次元座標上の2直線の交点判...
-
ダイアログ内コントロールの位...
おすすめ情報