私のC++コースに書き込むプログラムがあります。座標面では半径Rの円があります。円の中心は点(xc、yc)にあります。また、私は座標(例えばn = 2、座標は(1; 1)(-1; -1))を持つn点を持っています。助けてください:)座標(x; y)が円の内/外にある点の数を計算する方法
答えて
円の中心から点までの距離を計算する必要があります。 2点間の距離の式は:
d = sqrt((xc - x)^2 + (yc - y)^2)
ここで:(XC、YC) - 円の中心の座標(X、Y) - あなたの点の座標。
の距離が半径より大きい場合、ポイントは、円(D> R)の外側にある
その後、n個の点のためにこれを繰り返し、内部であり、外部の何であるかそれらの多く覚えている必要があります。それだけです。
これでアルゴリズムをコーディングできます。
円の式:R^2 = (xc - x)^2 + (yc-y)^2
ここで、(xc, yc)
は円の中心の座標です。 (x, y)
- ポイントの座標、R - 半径。だから、:
double distance = sqrt((xc - x)*(xc - x) + (yc-y)*(yc-y));
if (distance < R)
{
// inside
}
else if(distance > R)
{
// outside
}
else
{
// on circle
}
私は理解できないように今や気が気になりません..ありがとう:)このページは私の先生よりも良い方法です – Martynas
https://www.johndcook.com/blog/2010/06/02/whats-so-hard-about-finding - 斜辺 - –
単純な数学は...四角の
面をピクセル単位でRを与えS = pi*r^2
によって計算され、Sは、ピクセル単位で来る...
注意することは価値があります離散平面上にないので、この方法は近似です。
より正確には(しかし、かなり遅く):
@Sandro答えは、あなたの平面上の各点までの距離を確認してください..あなたは検討する必要があります2つの最適化と
:
あなたはピクセルのみ
x in [xc - r, xc + r] U y in [yc - r, yc + r]
をチェックする必要があり、外側境界ボックス
が自動的にあなたが
x in (xc - sqrt(2)r, xc + sqrt(2)r) U (yc - sqrt(2)r, yc + sqrt(2)r)
を除外
が含まれますの
参照:
- 1. 円の円周上の点の(xまたはy)座標を計算する方法は?
- 2. 各点の角度からx/y座標を計算する
- 3. 内側の円の接線に続く外側の円の上にある点を計算する方法
- 4. インテグラルxおよびy座標を点単位変数で計算する
- 5. 与えられたX座標とY座標を円の中間点として円を描く方法は?
- 6. X、Y座標を使用して円内の点をプロットする
- 7. 弾丸軌跡のx座標とy座標を計算する - Chart.js
- 8. mouseClickのx座標とy座標を取得する方法
- 9. スクリーンサイズに基づいてx、y座標を再計算する方法
- 10. PDF内のポイントのX、Y座標を取得する方法
- 11. アンドロイドのキャンバスに円drwanの位置(x座標とy座標)を取得する方法は?
- 12. 楕円のx/y座標を変更する
- 13. 新しい座標系からX座標とY座標を再計算する
- 14. APPIUM、スワイプのx座標とy座標の取得方法
- 15. Android - ビューのx座標とy座標をgridLayoutに取得する方法
- 16. recylcerView内のX座標とY座標を取得
- 17. 画像内の数字の座標(x、y)を見つける
- 18. Pythonの頂点をx、y座標で定義する
- 19. イメージコントロールでビットマップイメージのx座標とy座標を取得する方法は?
- 20. onTouchイベントのx座標とy座標を追跡する方法は?
- 21. 円の座標を連続的に計算する
- 22. PythonのGPS座標から基点方向を計算する
- 23. ブラウザのリンクの座標(x、y)を取得する方法は?
- 24. x/y座標のソートベクトル
- 25. LibGDX:円のX/Y座標はどこですか?
- 26. 新しい点x y方向の距離を計算する
- 27. 円:罫線の最大(x、y)座標を取得
- 28. ムービークリップのx/y座標を保存する方法は?
- 29. c3.jsチャートライブラリのx、y座標をプロットする方法は?
- 30. パスタグsvgに座標xとyを指定する方法は?
これは今の数学の問題ではなく、プログラミングの1のように聞こえます。 – NathanOliver
私が理解しているのは、値の集まり(ポイント)を持ち、それらのどれくらいが述語(円内の点)と一致するかを数えたいと思っています。あれは正しいですか? [std :: count_if](http://en.cppreference.com/w/cpp/algorithm/count)を参照してください。 –
あなたはインターネットの「サークルの外側にある+ +ポイント」を検索して、たくさんの例を得ることができます。 –