私の最終目標は、テキストファイルから読み込んだポイントを3Dオブジェクトに変換することです。可視化する必要はありませんが、x、y、zの値を含むストリングの代わりにオブジェクトに格納する必要があります。このファイルは私に6つの数字、それぞれx、y、zの2つを与えています。そして、私は3つの変数をすべて取るポイントクラス/オブジェクトを作成する方法を考えていました。ポイント。Pythonで3Dオブジェクト/クラスを作成するにはどうすればよいですか?
2
A
答えて
7
だけPoint
とLine
クラスを定義します。
class Point(object):
def __init__(self, x=0, y=0 ,z=0):
self.x = x
self.y = y
self.z = z
class Line(object):
def __init__(self, point1=None, point2=None):
self.point1 = point1 or Point() # (0,0,0) by default
self.point2 = point2 or Point() # (0,0,0) by default
点や線オブジェクトを作成するには:
>>> p1 = Point(1, 2, 3)
>>> p2 = Point(4, 5, 6)
>>> line = Line(p1, p2)
2
ファイルからデータを持っていると(この正規表現が適用されるために)、あなたは2つの点を格納するために定義されたクラスにそれを入力したいでしょう(それはオブジェクトそのものかもしれません)。
class Point(tuple):
@property
def x:
return self[0]
@property
def y:
return self[1]
@property
def z:
return self[2]
class Vector(object):
def __init__(self, x1, y1, z1, x2, y2, z2):
self._a = Point(x1, y1, z1)
self._b = Point(x2, y2, z2)
@property
def a(self):
return self._a
@property
def b(self):
return self._b
# Other methods here e.g.
@property
def i(self):
return self.b.x - self.a.x
@property
def j(self):
return self.b.y - self.a.y
@property
def k(self):
return self.b.z - self.a.z
def length(self):
return (self.i**2 + self.j**2 + self.k**2) ** (1/2)
関連する問題
- 1. Pythonで3D配列(データキューブ)を作成するにはどうすればよいですか?
- 2. Pythonで3Dヒストグラムをレンダリングするにはどうすればよいですか?
- 3. three.jsの一連の3Dポイントから3Dポリゴンを作成するにはどうすればよいですか?
- 4. オブジェクトクラスをリストに追加するにはどうすればよいですか?
- 5. Pythonでループを作成するにはどうすればよいですか?
- 6. Pythonでコンソールアプリケーションを作成するにはどうすればよいですか?
- 7. ローカルハイスコアを作成するにはどうすればよいですか? - Python
- 8. ウォーキングアニメーションを作成するにはどうすればよいですか? (Pygame、python)
- 9. WinFormsでカスタム3Dカルーセルコントロールを作成するにはどうすればよいですか?
- 10. cssで3D内部ルームビューを作成するにはどうすればよいですか?
- 11. Javafx:3Dパスでアニメーションを作成するにはどうすればよいですか?
- 12. 3Dポリゴンから標高モデルを作成するにはどうすればよいですか?
- 13. いくつかのテキストファイルで3Dモデルを作成するにはどうすればいいですか?
- 14. データポイントに3Dポリゴン/メッシュを作成するにはどうすればよいですか?
- 15. F#スクリプトにUnity 3D UIテキスト要素を作成するにはどうすればよいですか?
- 16. Processing.JSを使用して3Dテーブルを作成するにはどうすればよいですか?
- 17. 与えられた2点から3Dモデルを作成するにはどうすればいいですか?
- 18. ウェブサービスアプリの作成にはどうすればよいですか?
- 19. Pythonでビットを操作するにはどうすればよいですか?
- 20. グラフを(インタラクティブ)3DでPythonで可視化するにはどうすればよいですか?
- 21. 3Dのラジアルグラデーションを適用するにはどうすればよいですか?
- 22. Pythonでヌル(無操作)コンテキストマネージャを作成するにはどうすればよいですか?
- 23. PythonでApp EngineからGoogle BigQueryでスキーマを作成するにはどうすればよいですか?
- 24. xcodeでテンプレートサブクラスファイルを作成するにはどうすればよいですか?
- 25. Muleでダイナミックインバウンドエンドポイントを作成するにはどうすればよいですか?
- 26. WPFでアダプティブレイアウトを作成するにはどうすればよいですか?
- 27. マウスオーバーでハイライトを作成するにはどうすればよいですか?
- 28. GCDでシングルトンシリアルキューを作成するにはどうすればよいですか?
- 29. app.configでカスタムセクションを作成するにはどうすればよいですか?
- 30. MenuItemImageをテキストで作成するにはどうすればよいですか?
3Dオブジェクトを表示するか、保存するだけですか? – juliomalegria
文字列を数値に変換するのは簡単です。つまり、Point3D(x、y、z)とLine(point1、point2)の2つのクラスを定義しています。あなたは本当に何をしようとしていますか? – delnan
私はあなたが望むものをほとんど手がかりにしたチュートリアルを書いています:http://www.petercollingridge.co.uk/pygame-3d-graphics-tutorial/nodes-and-edges –