java 画三角形_java – 如何在Android画布中绘制一个填充三角形?
时间: 2024-02-19 13:58:04 浏览: 192
在Android中,可以使用Canvas和Path类来绘制图形,包括填充三角形。下面是一个简单的示例代码,演示如何在Android画布中绘制一个填充三角形:
```java
// 创建一个Path对象
Path path = new Path();
// 设置三角形的3个点
path.moveTo(x1, y1);
path.lineTo(x2, y2);
path.lineTo(x3, y3);
// 将路径封闭起来,形成一个三角形
path.close();
// 创建一个Paint对象,设置颜色和样式
Paint paint = new Paint();
paint.setColor(Color.RED);
paint.setStyle(Paint.Style.FILL);
// 在画布上绘制三角形
canvas.drawPath(path, paint);
```
上面的代码中,x1、y1、x2、y2、x3、y3分别是三角形的3个顶点的坐标。Path类的moveTo()方法用于将路径移动到指定的点,lineTo()方法用于添加一条从当前点到指定点的直线,close()方法用于将路径封闭起来,形成一个封闭的图形。Paint类的setColor()方法用于设置颜色,setStyle()方法用于设置样式。Canvas类的drawPath()方法用于在画布上绘制路径。
希望这个示例代码对你有所帮助!
相关问题
在pyCharm里使用matplotlib采用交互式的绘制方式,绘制一个三角形,要求:左键采集三角形的各顶点,绘制三角形轮廓,并采用边标志算法进行三角形填充。右键清空画布。根据这个原则请给出代码
在PyCharm中使用matplotlib创建一个交互式绘图,可以使用`mpl_toolkits`库的`zoomrect`工具来实现鼠标左键选择顶点并绘制三角形,以及`axes.Axes.plot`进行轮廓绘制。右键清除画布则可以借助`mpl_connect`函数连接`button_press_event`事件。下面是一个简单的示例代码:
```python
import matplotlib.pyplot as plt
from matplotlib.widgets import RectangleSelector
from mpl_toolkits.axes_grid1 import make_axes_locatable
# 初始化一个 figure 和 axes
fig, ax = plt.subplots()
def on_press(event):
if event.button == 1: # left click
if 'active_shape' in gca().props:
del gca().props['active_shape']
else:
xdata, ydata = event.xdata, event.ydata
points.append((xdata, ydata))
if len(points) >= 3:
polygon = Polygon(points, closed=True)
ax.add_patch(polygon)
gca().props['active_shape'] = polygon
ax.figure.canvas.draw_idle()
elif event.button == 3: # right click
ax.clear()
points = []
gca().props.pop('active_shape', None)
points = []
polygon = None
rs = RectangleSelector(ax, on_press, drawtype='box', useblit=True,
button=[1, 3], interactive=True)
plt.show(block=False) # 这样可以保持窗口响应后续点击
# 相关问题--
10.使用turtle模共绘制三角形(红色填充)和五角星(黄色填充),绘制在一张画布上)
以下是使用turtle模块绘制三角形和五角星的代码示例:
```python
import turtle
# 绘制三角形
turtle.color("red") # 设置画笔颜色
turtle.fillcolor("red") # 设置填充颜色
turtle.begin_fill() # 开始填充
for i in range(3):
turtle.forward(200)
turtle.left(120)
turtle.end_fill() # 结束填充
# 绘制五角星
turtle.color("yellow") # 设置画笔颜色
turtle.fillcolor("yellow") # 设置填充颜色
turtle.begin_fill() # 开始填充
for i in range(5):
turtle.forward(200)
turtle.right(144)
turtle.end_fill() # 结束填充
turtle.hideturtle() # 隐藏海龟
turtle.done() # 完成绘制
```
阅读全文