有没有人能帮我提供 Delphi 中一些裸体、老式的三维方法的示例?不使用 OpenGL、FireMonkey 或任何外部库(纯画布编码)。我想做的是能够围绕一个共同的原点旋转 X 数量的点。从我记得的古老日子起,你要减去左边的值,然后将计算结果添加到左/上像素偏移,以获得实际屏幕位置。
我正在寻找一组小的特别定制的例程,如下:
此外,是否有函数来确定可见的“面”?如果我想要一个填充的矢量立方体,那么我需要提取可见区域(基于距离/重叠?),这反过来又绘制为 X 数量的填充多边形?这些肯定必须按深度排序,才不会出现问题。
例如:
我正在寻找一组小的特别定制的例程,如下:
- RotateX(aValue:T3dpoint; degr:float):T3dPoint;
- RotateY(--/--)
- RotateZ(--/--)
此外,是否有函数来确定可见的“面”?如果我想要一个填充的矢量立方体,那么我需要提取可见区域(基于距离/重叠?),这反过来又绘制为 X 数量的填充多边形?这些肯定必须按深度排序,才不会出现问题。
例如:
- PointsToFaces(const a3dObject:T3dPointArray):TPolyFaceArray;
- SortFaces(Const aFaces:TPolyFaceArray):TPolyFaceArray;