C#判断画的图形是不是三角形
这个源代码写的不是十全十美,只是提供一个
还待完善的地方例如判断是否这个图形是封闭的。得空在解决吧
这只是一个算法上
谁有c#的参考手册网盘分享一份
谢谢
下面请看源码
凑够150个字了,不废话了。
鼠标画图难免会有误差,所以需要容忍一定的误差
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
/// <summary>
/// 判断图形是否是三角形
/// 3点一线
/// </summary>
namespace ConsoleApplication1
{
struct Point
{
public Point(float x, float y)
{
this.x = x;
this.y = y;
}
public float x;
public float y;
}
class ZJB
{
;
public Point[] point = new Point[MaxNum];
;//角的个数
;//点的个数
;//可以忽略的距离
/// <summary>
/// 求两点之间的距离
/// </summary>
/// <param name="p1">坐标点</param>
/// <param name="p2">坐标点</param>
/// <returns>两点之间的距离</returns>
public float PointDistance(Point p1, Point p2)
{
float Value = (p1.x - p2.x) * (p1.x - p2.x) + (p1.y - p2.y) * (p1.y - p2.y);
Value = (float)Math.Sqrt(Value);
return Value;
}
/// <summary>
/// 判断三角形
/// </summary>
public void Delta()
{
//测试用例---------------------------
point[] = , );
point[] = , );
point[] = , );
point[] = , );
point[] = , );
point[] = , );
point[] = , );
point[] = , );
point[] = , );
point[] = , );
PointNum = ;
//-----------------------------------
; i < PointNum - ; i++)
{
], point[i - ]);
]);
]);
Console.WriteLine("(ab + bc) - ac={0}", (ab + bc) - ac);
if ((ab + bc) - ac > DistanceError)
{
AngleNum++;
}
)
{
ac = PointDistance(point[i], point[]);
ab = PointDistance(point[i], point[]);
bc = PointDistance(point[], point[]);
Console.WriteLine("(ab + bc) - ac={0}", (ab + bc) - ac);
if ((ab + bc) - ac > DistanceError)
{
AngleNum++;
}
}
}
Console.WriteLine("这是一个{0}边形", AngleNum);
}
}
}
01010101010101010101
01010101010101010101
01010101010101010101
C#判断画的图形是不是三角形的更多相关文章
- C++ 画星号图形——空心三角形(星号左对齐)(核心代码介绍)
//输出一个由星号组成的三角形(星号左对齐) int a;//控制组成三角形的星号的行数 cout<<"请输入要组成三解形的星号的行数n(n>=2):\n"; c ...
- C++ 画星号图形——空心三角形(星号居中对齐)(核心代码介绍)
//输出另外一种由星号组成的三角形(星号居中对齐) int a;//控制组成三角形的星号的行数 cout<<"请输入要组成三解形的星号的行数n(n>=2):\n" ...
- iOS-CGContextRef画各种图形例子
iOS-CGContextRef画各种图形例子 绘制效果图 绘制代码 - (void)drawRect:(CGRect)rect { //一个不透明类型的Quartz 2D绘画环境,相当于一个画布,你 ...
- Android利用canvas画各种图形
Android利用canvas画各种图形(点.直线.弧.圆.椭圆.文字.矩形.多边形.曲线.圆角矩形) 本文链接:https://blog.csdn.net/rhljiayou/article/det ...
- (转)第04节:Fabric.js用路径画不规则图形
在Canvas上画方形.圆形.三角形都是很容易的,只要调用fabric对应的方法就可以了,但这些都是规则的图形,如果你想画一个不规则的图形,这时候你可以用fabric.js提供的路径绘图方法.所谓路径 ...
- Directx11教程(6) 画一个简单的三角形(2)
原文:Directx11教程(6) 画一个简单的三角形(2) 在上篇教程中,我们实现了在D3D11中画一个简单的三角形,但是,当我们改变窗口大小时候,三角形形状却随着窗口高宽比例改变而改变, ...
- AJ学IOS(29)UI之Quartz2D自定义下载控件_画各种图形
AJ分享,必须精品 效果 自定义控件过程 主要过程在上一篇里有介绍了,这里主要介绍下代码实现 先做好要放的view 然后实现呢主要就是四步: 1:获取上下文 2:拼接路径 3:把路径添加到上下文. 4 ...
- 放肆的使用UIBezierPath和CAShapeLayer画各种图形
CAShapeLayer 是 CALayer 的子类,但是比 CALayer 更灵活,可以画出各种图形,当然,你也可以使用其他方式来画,随你. 杂谈 在 CAShapeLayer 中,也可以像 CAL ...
- 使用UIBezierPath和CAShapeLayer画各种图形
转载自:http://www.cocoachina.com/ios/20160214/15251.html CAShapeLayer 是 CALayer 的子类,但是比 CALayer 更灵活,可以画 ...
随机推荐
- NOPI实现导入导出泛型List,支持自定义列
概述 业务上需要自定义列的Excel的导入导出,在网上看了好多资料,很多都是有Bug而且都是支持Excel和DataTable的转换,所以自己总结了一下,应用.NET平台上的NPOI封装了支持自定义列 ...
- mysql中的视图、事务和索引
视图: 对于一个sql查询,如果发生了修改,就需要修改sql语句. 我们可以通过定义视图来解决问题.改变需求之后就改变视图. 视图是对查询的封装 定义视图: create view 视图名称 as s ...
- HTML中的上下标标签的演示
HTML中的上下标标签的演示 #table_head>td { font-weight: bold } tr { text-align: center } 作用 标签 演示代码 呈现效果 上标 ...
- Hive:有表A与表B进行inner join,如果A分组内包含有数据,使用A,否则使用B分组下的数据
tommyduan_fingerlib 指纹库 栅格小区级别数据tommyduan_mr_grid_cell_result_all 统计 栅格小区级别数据业务:以tommyduan_mr_grid_c ...
- JS面向对象使用面向对象进行开发
面向对象基础一之初体验使用面向对象进行开发 对 JS 中的面向对象的基础进行讲述, 初体验使用面向对象进行开发 主要内容是 面向对象的概念及特性 用面向对象的方式解决简单的标签创建实例 一些基础的 ...
- Redis Cluster 4.0 on CentOS 6.9 搭建
集群简介 Redis 集群是一个可以在多个 Redis 节点之间进行数据共享的设施(installation). Redis 集群不支持那些需要同时处理多个键的 Redis 命令, 因为执行这些命令需 ...
- Python selenium 三种等待方式详解
1. 强制等待第一种也是最简单粗暴的一种办法就是强制等待sleep(xx),强制让闪电侠等xx时间,不管凹凸曼能不能跟上速度,还是已经提前到了,都必须等xx时间.看代码: # -*- coding: ...
- codeforces 809E Surprise me!
Tired of boring dates, Leha and Noora decided to play a game. Leha found a tree with n vertices numb ...
- [SHOI2008]汉诺塔
Description 汉诺塔由三根柱子(分别用A B C表示)和n个大小互不相同的空心盘子组成.一开始n个盘子都摞在柱子A上, 大的在下面,小的在上面,形成了一个塔状的锥形体. 对汉诺塔的一次合法的 ...
- hdu 5429(大数模板)
题意:判断是否是等比数列 a[i] * a[i] = a[i+1] * a[i-1] + 部分为0 的情况 /* 表示还没学java.... ,模板来自NK_test #include &l ...