使用控制台绘制图形并求阴影面积

题目

题目

思路

其它几个点比较简单,这里只解决画出阴影面积的问题
关于控制台图形的绘制,可以参考Milo的编程 - 如何用 C 语言画这个图(分享自知乎网)

  • 首先根据传入的AB的长度m,根据等腰三角形,我们求得BC中点和A的连线,即是三角形ABC的高height,这也是一个关键的数据
  • 求得height后,可得BC边的长度为2*height
  • 我们要画圆,因此需要圆心坐标和半径长度,弧ABE所在的圆心为(0,height),半径为AB的长度m。
    ACD所在的圆的圆心是AC的中点,求得圆心坐标为(BC*(3/4),height/2),半径为1/2AC的长度,即m/2
解决问题

源码如下:

#include <stdio.h>
#include <string.h>
#include <math.h>

//在drawTriangle里根据m的值计算所需画布宽高 
int w;//画布宽 
int h;//画布高 

//判断坐标在三角形内 
int inTriangle(int x,int y,double height){
    
	return abs((int)(x-floor(height+0.5))) <= y && y < height;
}

//判断坐标在ABE所在的圆内 
int inCircleABE
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值