Delphi の必要最小限の古い学校の 3D メソッドの例を教えてくれる人はいますか? openGL、firemonkey、または外部ライブラリ (バニラ キャンバス コーディング) を使用していません。私がやりたいことは、共通のオリゴを中心に X 数のポイントを回転できるようにすることです。私が昔から覚えていることから、オリゴが常に0,0になるように(3Dポイントで)左から右を引きます-次に計算を実行し、最後に左/上のピクセルオフセットを追加して実際の画面位置を取得します。
私が探しているのは、一連の小さなアドホック ルーチンです。
- RotateX(aValue:T3dpoint; degr:float):T3dPoint;
- RotateY(--/--)
- RotateZ(--/--)
これらの関数を使用すると、古い「回転する 3D キューブ」を簡単に作成できます (8 ポイント)。
また、目に見える「顔」を把握するための機能はありますか? 塗りつぶされたベクトル キューブが必要な場合は、(距離/オーバーラップに基づいて) 可視領域を抽出する必要があると思いますが、これは塗りつぶされたポリゴンの X 数として描画されますか? そして、これらは間違いなく、混乱しないように深さでソートする必要があります.
例えば:
- PointsToFaces(const a3dObject:T3dPointArray):TPolyFaceArray;
- SortFaces(Const aFaces:TPolyFaceArray):TPolyFaceArray;
どんな助けでも大歓迎です!