2012-02-12 18 views
7

誰かが私の手助けをしてくれますか? OpenGLやfiremonkeyなどの外部ライブラリ(バニラ・キャンバス・コーディング)を使用していません。私がしたいことは、共通の原点の周りのX個の点を回転させることができることです。私が昔から覚えていたことから、原点が常に0,0になるように左から右に引いて計算を実行し、最後に左/上のピクセルオフセットを加えて実際の画面位置を取得します。 ;:単純なDelphiの3次元関数

  • 回転X(:フロートAValueは:DEGR T3dpoint):を探して何イム

    は、小型、アドホックルーチン、ALAのセットですT3dPoint。

  • 回転Y( -/- )
  • 回転Z( -/- )

、これらの機能を使用するには、古い "回転3Dキューブ"(8点)を作成するために、かなり簡単なはずです。

また、目に見える「顔」を特定する機能はありますか?塗りつぶされたベクトルキューブが必要な場合は、可視領域を抽出する必要があると思います(距離/オーバーラップに基づいていますか?)。これは塗りつぶされたポリゴンのX数として描画されますか?そして、これらは間違いなく混乱から来ないように深さでソートされる必要があります。

  • PointsToFaces(CONST a3dObject:T3dPointArray):例えば

    TPolyFaceArray。

  • SortFaces(Const aFaces:TPolyFaceArray):TPolyFaceArray;

何か助けてください!

+0

私も彼らを混乱させるが、Delphiで、それは 'real'、ない' float'と呼ばれています。 –

+0

少なくともglSceneを入手してみませんか? –

+0

私はSmart Mobile Studioの下でコンパイルするので、オブジェクトパスカルをjavascriptにコンパイルします。また、OpenGLはSafari Mobileではサポートされていません。私はちょうど基本を求めていたので、一緒に遊んで学ぶことができました。 –

答えて

8

ここではDelphi Mathの素敵な古いリソースはefg's Referenceです。
list of graphic projectsが見つかります。
2D/3D Lab Vector graphics:平行移動、回転、拡大縮小、ビュー変換、同次座標、クリッピング、予測、ベクトル、行列など...

+0

私のニーズに少し過剰ですが、ソースは数学関数の名前を表示するので、私には良いスタートポイントが与えられます。ありがとう! –

5

私は数年前、単純な線形代数を使って簡単な3Dレンダリング「エンジン」を作成しました。しかし、最も効率的なものではないかもしれません。あなたが合理的に滑らかに動くことを望むなら、数千点が限界です。 Sample EXE。あなたが好きなら、あなたはthe codeを得ることができますが、それほど美しくないかもしれません。

+3

私は非常にすぐに[AlgoSim](http://www.algosim.se)で使われているOpenGLに賛成して私のプロトタイプを放棄したことに言及する必要があります。 –

+0

私はコードをスマートなモバイルスタジオに変換しようとしています。だから、openglはまだオプションではありません。そのちょうど基本を正しく取得する –

関連する問題