社区
Java SE
帖子详情
各位大侠,请问怎样绘制一个三角形?
topuptopup
2006-02-21 10:57:47
定义一个图形的接口,接口有两个方法,第一个方法
能返回这个图形是什么类型,用字符串形式返回,第二个方法
表示绘制图形。再定义一个实现图形接口的抽象类,里面实现
接口的第二个方法。再定义长方形,圆形,三角形三种图形通
过继承抽象类来实现图形这个接口。再写一个Main Class来用
模拟多态。
...全文
110
5
打赏
收藏
各位大侠,请问怎样绘制一个三角形?
定义一个图形的接口,接口有两个方法,第一个方法 能返回这个图形是什么类型,用字符串形式返回,第二个方法 表示绘制图形。再定义一个实现图形接口的抽象类,里面实现 接口的第二个方法。再定义长方形,圆形,三角形三种图形通 过继承抽象类来实现图形这个接口。再写一个Main Class来用 模拟多态。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
superman421
2006-02-28
打赏
举报
回复
你到底是想问多态,还是画图?
datalover
2006-02-27
打赏
举报
回复
不用这么麻烦有一个画多边形的类java.awt.Polygon
yanhan0615
2006-02-21
打赏
举报
回复
public static void fillTriangle(Graphics g, int i, int j, int k, int l,
int i1, int j1)
{
int ai[] = new int[4];
int ai1[] = new int[4];
ai[0] = i;
ai[1] = k;
ai[2] = i1;
ai1[0] = j;
ai1[1] = l;
ai1[2] = j1;
if (ai[0] > ai[1])
{
ai[3] = ai[1];
ai1[3] = ai1[1];
ai[1] = ai[0];
ai1[1] = ai1[0];
ai[0] = ai[3];
ai1[0] = ai1[3];
}
if (ai[1] > ai[2])
{
ai[3] = ai[2];
ai1[3] = ai1[2];
ai[2] = ai[1];
ai1[2] = ai1[1];
ai[1] = ai[3];
ai1[1] = ai1[3];
}
if (ai[0] > ai[1])
{
ai[3] = ai[1];
ai1[3] = ai1[1];
ai[1] = ai[0];
ai1[1] = ai1[0];
ai[0] = ai[3];
ai1[0] = ai1[3];
}
int k1 = (ai1[1] - ai1[0]) * 2 + 1;
int l1 = ai[1] - ai[0];
int i2 = (ai1[2] - ai1[0]) * 2 + 1;
int j2 = ai[2] - ai[0];
int k2 = (ai1[2] - ai1[1]) * 2 + 1;
int l2 = ai[2] - ai[1];
if (l1 != 0 && j2 != 0)
{
for (int i3 = 0; i3 < l1; i3++)
{
int k3 = i3 + ai[0];
int i4 = (k1 * i3) / l1 / 2 + ai1[0];
int k4 = (i2 * i3) / j2 / 2 + ai1[0];
g.drawLine(k3, i4, k3, k4);
}
}
if (l2 != 0 && j2 != 0)
{
for (int j3 = 0; j3 <= l2; j3++)
{
int l3 = j3 + ai[1];
int j4 = (k2 * j3) / l2 / 2 + ai1[1];
int l4 = (i2 * (j3 + l1)) / j2 / 2 + ai1[0];
g.drawLine(l3, j4, l3, l4);
}
}
}
topuptopup
2006-02-21
打赏
举报
回复
tik是什么?
datalover
2006-02-21
打赏
举报
回复
tik里面有一个这样的例子
几何画板工具集-下载即用.zip
源码下载地址: https://pan.quark.cn/s/a4b39357ea24 简介 ## 基于canvas的高级画板程序. 在线演示 ## 高级画板:https://vipstone..io/drawingboard/drawingboard/index.html 作业批改:https://vipstone..io/drawingboard/drawingboard/check.html 功能 ## 全局
绘制
颜色选择 护眼模式、网格模式切换 自由
绘制
画箭头 画直线 画虚线 画圆/椭圆/矩形/直角
三角形
/普通
三角形
/等边
三角形
文字输入 图片展示及相关移动、缩放等操作 删除功能 支持画板同比缩放 支持图形即时显示 高级功能 ## 按Shift键,画垂直、水平直线; 按Shift键,椭圆和正圆自由切换; 按Shift键,等腰
三角形
和等边自由切换; 按Shift键,等边直角
三角形
和直角
三角形
自由切换; 按Shift键,正方形和长方形自由切换; 附fabric.js使用笔记:点击打开 功能预览 ## 各位
大侠
如果觉得不错,欢迎点击star! todo ## mac下样式问题兼容 添加撤销功能
几何画板自定义工具包-下载即用.zip
已经博主授权,源码转载自 https://pan.quark.cn/s/a4b39357ea24 简介 ## 基于canvas的高级画板程序. 在线演示 ## 高级画板:https://vipstone..io/drawingboard/drawingboard/index.html 作业批改:https://vipstone..io/drawingboard/drawingboard/check.html 功能 ## 全局
绘制
颜色选择 护眼模式、网格模式切换 自由
绘制
画箭头 画直线 画虚线 画圆/椭圆/矩形/直角
三角形
/普通
三角形
/等边
三角形
文字输入 图片展示及相关移动、缩放等操作 删除功能 支持画板同比缩放 支持图形即时显示 高级功能 ## 按Shift键,画垂直、水平直线; 按Shift键,椭圆和正圆自由切换; 按Shift键,等腰
三角形
和等边自由切换; 按Shift键,等边直角
三角形
和直角
三角形
自由切换; 按Shift键,正方形和长方形自由切换; 附fabric.js使用笔记:点击打开 功能预览 ## 各位
大侠
如果觉得不错,欢迎点击star! todo ## mac下样式问题兼容 添加撤销功能
大家
绘制
D3D中的2D元素为什么不用现成的ID3DXSprite呢?
3D场景中免不了要
绘制
一些2D元素,诸如UI等等。 个人感觉ID3DXSprite应当算是个比较好用的接口,使用起来也很方便。 不过,看前辈们貌似都很抵触这个接口,好像说是因为效率不行?好像大家采取的比较普遍的做法,就是固定Z坐标,然后直接在屏幕上
绘制
矩形+纹理。 求教各位
大侠
:大家普遍认为ID3DXSprite效率底下的原因或者依据是什么呢?又或者说
大侠
们还有其他的见解? 感激不尽~
600个问与答
http://faq.xunweb.org/itfaq/mfcbasic/ 怎样彻底结束
一个
线程?(2006-06-04) v怎么样以纯idispatch方式而不是引入类型库的方法调...
Java设计模式——策略模式 vs 工厂模式:解锁软件设计 “超能力”,码农必备!
嘿,各位奋战在代码“一线”的小伙伴们!今天咱要开启一场设计模式界的“巅峰对决”,主角就是策略模式与工厂模式这两大“王牌选手”。在软件开发这片“江湖”,选对设计模式,就如同
大侠
手握神兵,能让代码“如有神助”,轻松应对各种复杂“战局”。闲话不多说,现在就深挖它们的“绝技”,看谁才是你项目里的“最强辅助”!
Java SE
62,624
社区成员
307,257
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章