2017-03-08 17 views
-2

私はPythonをRhino 3Dで使用していますが、以下の問題があります。私はポイントを表す2つのリストを持っています。Pythonでポイントを表す2つのリストをマージする

たとえばリスト1:

StartPoints = [[x1,y1,z1],[x2,y2,z2],[x3,y3,z3]] 

及び第二のリストは以下のとおりです。

EndPoints = [[x4,y4,z4],[x5,y5,z5],[x6,y6,z6]] 

私の目標は、フォームを以下にそれらを結合することです:私はのdidnを試してみました

MergedPoints = [[x1,y1,z1],[x2,y2,z2],[x3,y3,z3],[x4,y4,z4],[x5,y5,z5],[x6,y6,z6]] 

すべてうまくいった。私はzipを使用すると3つの要素を持つ3つのブランチが得られます。マップを使用しようとすると、「Point3d is not callabe」と表示されます。私のゴールは6ポイントのリストです。あなたが今Rhino3Dのためにメルトをつけていれば、マージエレメントのようです。私は知っているthouseのための写真を添付し​​た。ご協力いただきありがとうございます!

enter image description here

+0

「[x6、y6、z6]」にどうなりましたか?私は 'StartPoints + EndPoints'が両方とも' list'型であることを考えれば、なぜ動作しないのか理由も見当たりません。 – DeepSpace

+0

'MergedPoints = StartPoints + EndPoints'を試しましたか? – kazemakase

+3

[リストを2番目のリストに追加する方法(リストを連結する方法)](http://stackoverflow.com/questions/1720421/how-to-append-list-to-second-list-concatenate-lists) – kazemakase

答えて

0

MergedPointsの=のStartPoints +エンドポイント

+0

Hey !リストを追加するだけで、単一の値(x、y、z)が合計され、残りの3点[[x1 + x4、y1 + y4、z1 + z4]、[x1 + x5、y2 + y5、。 ... 等々。 –

0

下記を参照してください。

StartPoints = [['x1','y1','z1'],['x2','y2','z2'],['x3','y3','z3']] 
EndPoints = [['x4','y4','z4'],['x5','y5','z5'],['x6','y6','z6']] 
MergedPoints = StartPoints + EndPoints 
print MergedPoints 

私は、出力の下に取得し、それを実行すると:

[['x1', 'y1', 'z1'], ['x2', 'y2', 'z2'], ['x3', 'y3', 'z3'], ['x4', 'y4', 'z4'], 
['x5', 'y5', 'z5'], ['x6', 'y6', 'z6']] 
0

私はそれを得ました。それはちょっと難しいですが、時にはpythonがrhinoからのデータ入力を使用できないことがあります。ご協力いただきありがとうございます!!

import rhinoscriptsyntax as rs 


merged = [] 

for i in range(0,len(C)): 
    S = rs.CurveStartPoint(C[i]) 
    merged.append(S) 
    E = rs.CurveStartPoint(C[i]) 
    merged.append(E) 
print merged 
関連する問題