C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

線がC++の原点を通過するかどうかを確認します


このセクションでは、線分が原点を通過しているかどうかを確認する方法を説明します。線分の端点を表す2つの座標点があります。

アプローチは簡単です。直線の方程式を作成でき、方程式に(0、0)を入れて方程式が満たされる場合、直線は原点を通過します。

点がであると仮定すると、直線の方程式はこれらの2つの直線を通過します-

$$ y-y_ {1} =\ left(\ frac {y_ {2} -y_ {1}} {x_ {2}-x_ {1}} \ right)* \ lgroup x-x_ {1} \ rgroup + c $$

x=0およびy=0とすると、次のようになります

$$ x_ {1} \ lgroup y_ {2}-y_ {1} \ rgroup =y_ {1} \ lgroup x_ {2}-x_ {1} \ rgroup $$

#include<iostream>
using namespace std;
bool checkPassOrigin(int x1, int y1, int x2, int y2) {
   return (x1 * (y2 - y1) == y1 * (x2 - x1));
}
int main() {
   if (checkPassOrigin(10, 0, 20, 0) == true)
      cout << "Passes Through Origin";
   else
      cout << "Not Passing Through Origin";
}

出力

Passes Through Origin

  1. C++で線の中点を見つけるプログラム

    この問題では、線の始点と終点の2つの点AとBが与えられます。私たちの仕事は、C++で線の中点を見つけるプログラムを作成することです。 問題の説明 −ここでは、開始点と終了点がA(x1、y1)とB(x2、y2)の線があります。そして、線の中点を見つける必要があります。 問題を理解するために例を見てみましょう 入力 a(x1, y1) = (4, -5) b(x2, y2) = (-2, 6) 出力 (1, 0.5) 説明 (x1 + x2)/2 = 4 - 2 / 2 = 1 (y1 + y2)/2 = -5 + 6 / 2 = 0.5 ソリューションアプローチ この問題を解決する

  2. C++で線が円に接触または交差するかどうかを確認します

    円と別の直線があるとします。私たちの仕事は、線が円に接しているか交差しているかを見つけることです。そうでない場合は、線が外側を通過します。したがって、以下のような3つの異なるケースがあります- ここでは、次の手順で解決します。これらは以下のようなものです- 中心と与えられた線の間の垂線Pを見つけます Pを半径r−と比較します rの場合、外部 P =rの場合、タッチします それ以外の場合は内部 垂直距離を取得するには、次の式を使用する必要があります(中心点は(h、k)) $$ \ frac {ah + bk + c} {\ sqrt {a ^ 2 + b ^ 2}} $$