题意:平面上依次放置n个圆,后放的覆盖先放的,按顺序给出每个圆的半径和圆心坐标,问最后图形的可见圆弧长之和。
题解:因为是后放的覆盖先放的,所以逆序枚举,每个圆只考虑之前放过的圆和自己的交点,可以得到每两个相邻的交点之间的圆弧,找到圆弧中点,如果这个点在之前放过的圆内,说明这个圆弧不能要,否则加到答案里。#include
#include
#include <...
分类:
其他好文 时间:
2015-08-04 00:41:03
阅读次数:
91
2.求出一段圆弧的中点
(1)准备工作,对之前求得的圆与多边形的公共点进行排序,为了使公共点集于多边形顶点的给出方向一致,将交点在多边形的第几条边上作为排序的第一指标,将参数t作为第二指标。所以我的交点结构体要包括参数t和所在边信息。
struct CrossoverPoint
{
double t;
double x;
double y;
double a;/...
分类:
其他好文 时间:
2015-05-25 22:26:09
阅读次数:
174