我如何在iphone中绘制三角形.....这有什么api吗?你可以发布一些代码......
答案 0 :(得分:6)
您应该查看Apple文档中的QuartzDemo,其中包含大量图纸示例。
使用此演示,您可以在Polygon演示中将de star(6条边)更改为三角形(3条边)。只需更改QuartzPolygons.m循环中的增量数,只需注释“//将星形添加到当前路径”。例如,这是等边三角形的代码:
-(void)drawInContext:(CGContextRef)context
{
// Drawing with a white stroke color
CGContextSetRGBStrokeColor(context, 1.0, 1.0, 1.0, 1.0);
// Drawing with a blue fill color
CGContextSetRGBFillColor(context, 0.0, 0.0, 1.0, 1.0);
// Draw them with a 2.0 stroke width so they are a bit more visible.
CGContextSetLineWidth(context, 2.0);
CGPoint center;
// Add a triangle to the current path
center = CGPointMake(90.0, 90.0);
CGContextMoveToPoint(context, center.x, center.y + 60.0);
for(int i = 1; i < 3; ++i)
{
CGFloat x = 60.0 * sinf(i * 4.0 * M_PI / 3.0);
CGFloat y = 60.0 * cosf(i * 4.0 * M_PI / 3.0);
CGContextAddLineToPoint(context, center.x + x, center.y + y);
}
// And close the subpath.
CGContextClosePath(context);
// Now draw the triangle with the current drawing mode.
CGContextDrawPath(context, drawingMode);
}
答案 1 :(得分:3)
只画三行。对于三角形ABC,您需要绘制A-B,B-C和C-A行。
答案 2 :(得分:0)
你可以试试像
这样的东西Vertex3D vertex1 = Vertex3DMake(0.0, 0.0, -3.0);
Vertex3D vertex2 = Vertex3DMake(0.1, 0.1, -3.0);
Vertex3D vertex3 = Vertex3DMake(0.1, -0.1, -3.0);
Triangle3D triangle = Triangle3DMake(vertex1, vertex2, vertex3);
glClearColor(0.4, 0.4, 0.4, 1.0);
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glEnableClientState(GL_VERTEX_ARRAY);
glColor4f(1.0, 0.0, 0.0, 1.0);
glVertexPointer(3, GL_FLOAT, 0, &triangle);
glDrawArrays(GL_TRIANGLES, 0, 9);
但在此之前你需要启动OpenGL