2017-09-22 1 views
0

次のコードを使用してMATLABで円を作成しました。私はどのように私はこの円の内部の点のデカルト座標を見つけることができますか?MATLABを使用して3D空間内の円内のポイントの座標を見つける方法はありますか?

radius = 5; 
    theta=linspace(0,2*pi); 
    rho=ones(1,100).*radius; 

    [x,z]=pol2cart(theta,rho); 

    y=center(2)*ones(1,length(x)) 
    fill3(x,y,z,'yellow') 

3D空間での円の内側の点を見つける必要があり

+0

サークルまたは球がありますか? –

+0

yがすべて0であるので、それは、我々は無限の点を考慮する必要がない3D空間 –

答えて

1

あなたの質問をよく理解していますかわかりません。明らかに円の中に無限の点があるので、点(または点の集合)が内部にあるかどうかをチェックしたいと思います。ポイントのリストをあなたループ場合は、次の基準を満たした者は、内部(または円の周囲に)ある:

norm([xi,zi]) <= radius 
yi = 0 (same plane) 

は、あなたが求めていたものを、このましたか?

編集:あなたはループせずにMathWorks社のMATLABでかなり迅速にそれを行うことができます。あなたはx = [1 2 3]とz = [4 5 6]と想像してみましょう。すべての組み合わせを確認するには、repmatをxとz '(横)と組み合わせて使用​​します。xr = [1 2 3; 1 2 3; 1 2 3]およびzr = [4 4 4; 5 5 5; 6 6 6]。したがって、すべての可能な点の座標を持つ2つの行列があります。今度はノルムをN = sqrt(xr.^2+zr.^2)として計算できます。すべてi,jNij <= radiusです(あなたのxとzはすべて< =コースの半径を考慮して)

+0

の円であるようです。ただlinspace(分(x)は、最大(x)とlinspace(分(Z)、MAX(z)を取る。我々は解決策を見つけることができますか? – manoos

+0

私は私の答えを編集し、あなたのアイデアを得るかどうかを確認 –

関連する問題