私は円の中にある円(円、楕円、楕円)の2つの点p1とp2を持っています。 2つのポイントp3とp4を、どのようにして2つの点の間に正確に(すなわち等間隔に)置くことができますか?3Dで円上の2点間の点を見つけるにはどうすればよいですか?
私のアプローチは以下の通りです。与えられた例のように、私は期待される結果を得ている(p3 = [45.87,38.43,38.97]、p4 = [54.13、41.57、21.03])が、これは必ずしもそうではなく、標識/指示及び/又はp1及びp2が中心と一致するときに行う。私はまだ問題が何かを理解していない。 n1は計算に使用されません。 P1,2は正反対の、そしてあなたのv1,2が0に追加されたとき
import numpy as np
p1 = np.array([42.96, 46.23, 33.42])
p2 = np.array([52.91, 32.21, 35.55])
center = np.array([50, 40, 30])
radius = 10
n1 = np.array([0.64233475, 0.53814965, 0.54571148])
def FindIntermPtsOnCircle(p1, p2, center, radius):
# Calculate the direction vectors of the given points from the center
v1 = p1-center
v1 = v1/np.linalg.norm(v1)
v2 = p2-center
v2 = v2/np.linalg.norm(v2)
# Use bisecting line to find direction of the points of interest
va1 = v1+v2
va1 = va1/np.linalg.norm(va1)
va2 = -va1
# Multiply direction with radius to find relative distance and add to center
p3 = va1*radius + center
p4 = va2*radius + center
return p3, p4
ありがとうr!残念ながら、あなたのコードを試してみると、自分のコードと比較して得られたポイントが異なる結果になります。私はポイントを得るが、問題が何かを見てみるだろう。 – user56574