平面(2D)
一覧
-
直角三角形 点で囲まれた多角形 三角形の内接円 三角形の外接円 正多角形の内接円 正多角形の外接円 2点間の距離と角度 2直線の交点と角度 原点を中心に回転 直交座標から極座標 極座標から直交座標 3点を通る円の中心
直角三角形 | RightTriangle |
- RightTriangle
- 辺ab、高さ、辺ca、aの角度のうち2つを入力して実行すると入力していない項目を算出して出力します
-
- 【 例 】
-
入力 ab 3.0 h 4.0 ca angle 出力 out_ab 3.0 out_h 4.0 out_ca 5.0 out_angle 53.13 - 【 計算式 】
- \begin{align} \theta =& angle*\frac{\pi}{180} \\ h =& ab \cdot tan\theta &= ca \cdot sin\theta \\ ab =& ca \cdot cos\theta \end{align}
点で囲まれた多角形 | PolygonArea |
- PolygonArea
- 座標上の10点までの点を繋げた多角形の面積と外周を出力します
-
- 【 例 】
-
入力 poits [0.0,0.0] [2.0,0.0] [3.0,2.0] [1.5,2.5] [-1.0,2.0] n 5 出力 area 7.0 perimeter 10.60 - 【 計算式 】
- \[ area = \frac{1}{2} \left|\sum_{j=1}^{n} (x_{j}-x_{j+1})*(y_{j}+y_{j+1})\right| \] \[ primeter = \sum_{j=1}^{n} \sqrt{(x_{j}-x_{j+1})^{2}+(y_{j}-y_{j+1})^{2}}\ \]
三角形の内接円 | TriangleIncircle |
- TriangleIncircle
- 3辺の長さを指定した三角形の内接円の半径と円の面積を出力します
-
- 【 例 】
-
入力 ab 3.0 bc 4.0 ca 5.0 出力 r 1.0 area 3.14 - 【 計算式 】
- \[ s = \frac{ab+bc+ca}{2} \] \[ r = \frac{\sqrt{s(s-ab)(s-bc)(s-ca)}}{s} \] \[ area = \pi r^{2} \]
三角形の外接円 | TriangleCircumcircle |
- TriangleCircumcircle
- 3辺の長さを指定した三角形の外接円の半径と円の面積を出力します
-
- 【 例 】
-
入力 ab 3.0 bc 4.0 ca 5.0 出力 r 2.5 area 19.64 - 【 計算式 】
- \[ s = \frac{ab+bc+ca}{2} \] \[ r = \frac{ab\cdot bc\cdot ca}{4\sqrt{s(s-ab)(s-bc)(s-ca)}} \] \[ area = \pi r^{2} \]
正多角形の内接円 | RegularPolygonIncircle |
- RegularPolygonIncircle
- 辺の長さを指定した正多角形の内接円の半径と円の面積を出力します
-
- 【 例 】
-
入力 length 1.0 n 5 出力 r 0.69 area 1.49 - 【 計算式 】
- \[ r = \frac{l}{2tan^{2}\frac{\pi}{n}} \] \[ area = \pi r^{2} \]
正多角形の外接円 | RegularPolygonCircumcircle |
- RegularPolygonCircumcircle
- 辺の長さを指定した正多角形の外接円の半径と円の面積を出力します
-
- 【 例 】
-
入力 length 1.0 n 5 出力 r 0.85 area 2.27 - 【 計算式 】
- \[ r = \frac{l}{2sin\frac{\pi}{n}} \] \[ area = \pi r^{2} \]
2点間の距離と角度 | LinearPtoP |
- LinearPtoP
- 平面座標上の2点を通る直線の距離と角度
-
- 【 例 】
-
入力 p1 [0.0,0.0] p2 [1.0,0.8] 出力 distance 1.28 angle 38.66 - 【 計算式 】
- \[ distance = \sqrt{(p2_x-p1_x)^{2}+(p2_y-p1_y)^{2}} \] \[ angle = tan~{-1}\left( \frac{p2_y-p1_y}{p2_x-p1_x}\right) \] 計算式ではp1[0]を\(p1_x\)、p1[1]を\(p1_y\)と記述しています
2直線の交点と角度 | Intersection |
- Intersection
- 平面座標上の2直線の交点の座標と交差角度
-
Line1とLine2は2次元配列
始点の座標 xは[0,0], yは[0,1]
終点の座標 xは[1,0], yは[1,1] - 【 例 】
-
入力 L1 [0.0,0.5] [1.0,1.0] L2 [1.0,0.0][0.0,1.0] 出力 point [0.33,0.67] angle -71.57 - 【 計算式 】
-
L1を一次関数(ax+b)に変換
\begin{align}
P1=&(L1[0,0],L[0,1]) \\
P2=&(L1[1,0],L[1,1]) \\
a1=&\frac{(P2_y-P1_y)}{(P2_x-P1_x)} \\
b1=&\frac{(P2_x*P1_y-P1_x*P2_y)}{(P2_x-P1_x)}
\end{align}
L2も同様に一次関数(ax+b)に変換して\(a2,b2\)を算出
L1,L2から \begin{align} point_x = &\frac{(b2-b1)}{(a1-a2)} \\ point_y = &a1*point_x+b1 \\ angle=&tan^{-1}\left(\frac{a2-a1}{1+a1*a2} \right) \end{align}
原点を中心に回転 | PointRotate |
- PointRotate
- 平面座標上の原点を中心に回転
-
- 【 例 】
-
入力 p [1.0,0.8] angle 30.0 出力 out_p [0.47,1.19] angle -71.57 - 【 計算式 】
- \begin{align} \theta =& angle\frac{\pi}{180} \\ outp_x =& p_x*cos\theta-p_y*sin\theta \\ outp_y =& p_x*sin\theta+p_y*cos\theta \\ \end{align} 計算式ではp[0]を\(p_x\)、p[1]を\(p_y\)と記述しています
直交座標から極座標 | PolarCoordinates |
- PolarCoordinates
- 直交座標から極座標へ変換
-
- 【 例 】
-
入力 p [1.0,0.8] 出力 length 1.28 angle 38.66 - 【 計算式 】
- \begin{align} length =& \sqrt{p_x^{2}+p_y^{2}} \\ \theta =& tan^{-1}\frac{p_y}{p_x} \\ angle =& \frac{180}{\pi}\theta \end{align} 計算式ではp[0]を\(p_x\)、p[1]を\(p_y\)と記述しています
極座標から直交座標 | CartesianCoordinates |
- CartesianCoordinates
- 極座標から直交座標へ変換
-
- 【 例 】
-
入力 length 2.0 angle 30.0 出力 p [1.73,1.00] - 【 計算式 】
- \begin{align} \theta =& angle\frac{\pi}{180} \\ p_x =& length\cdot cos\theta \\ p_y =& length\cdot sin\theta \end{align} 計算式ではp[0]を\(p_x\)、p[1]を\(p_y\)と記述しています
3点を通る円の中心 | GetCenter2D |
- GetCenter2D
- 平面の3点を通る円の中心と半径を求める
-
- 【 例 】
-
入力 A [-1.0,2.0] B [0.0,1.0] C [1.0,1.0] 出力 P0 [0.5,2.5] r 1.58 - 【 計算式 】
- \[ a = \begin{bmatrix} A_x & A_y & 1 \\ B_x & B_y & 1 \\ C_x & C_y & 1 \end{bmatrix} \] \[ bx = \begin{bmatrix} A_x^{2}+A_y^{2} & A_y & 1 \\ B_x^{2}+B_y^{2} & B_y & 1 \\ C_x^{2}+C_y^{2} & C_y & 1 \end{bmatrix} \] \[ by = \begin{bmatrix} A_x^{2}+A_y^{2} & A_x & 1 \\ B_x^{2}+B_y^{2} & B_x & 1 \\ C_x^{2}+C_y^{2} & C_x & 1 \end{bmatrix} \] \begin{align} p0_x=&-\left(\frac{bx}{2a}\right) \\ p0_y=&-\left(\frac{by}{2a}\right) \\ r=&\sqrt{(A_x-p0_x)^2+(A_y-p0_y)^2} \end{align} 計算式ではA[0]を\(A_x\)、A[1]を\(A_y\)と記述しています
参考URL
- 高精度計算サイト https://keisan.casio.jp/
- WolframmathWorld https://mathworld.wolfram.com/Circumcircle.html