编程介的小学生 2017-03-11 07:48 采纳率: 20.5%
浏览 749
已采纳

Strictly Inscribed Similar Triangles

Two triangles ABC and XYZ are Similar if their corresponding sides are proportional (or, equivalently if their corresponding angles are equal. We will say that ABC and XYZ are Similar In Order, if A corresponds to X, B corresponds to Y and C corresponds to Z. That is:
|AB|/|XY| = |BC|/|YZ| = |AC|/|XZ|,

where |MN| denotes the length of the line from M to N.

Triangle XYZ is Strictly Inscribed in triangle ABC, if each vertex of XYZ lies in the interior (not at a vertex) of a different edge of ABC. This means that no edge of XYZ can be contained in an edge of ABC. If XYZ is similar in order to ABC and strictly inscribed in ABC, we say that XYZ is a Strictly Inscribed Similar Triangle to ABC.

If the line through X and Y makes an angle with the line through A and B, there are four possible orientations illustrated in the figures below. X and Y may be at either end of the segment and the third vertex, Z, may be on either side of the line. In the figures, the line through X and Y makes an angle of 30 with the line through A and B.
Depending on the shape of the outside triangle, ABC, and the angle, , between the line through X and Y and the line through A and B, there may be 0, 1, 2, 3 or 4 strictly inscribed similar triangles to ABC with angle .

Write a program, which takes as input the vertices of the triangle ABC and an angle , and computes the vertices of all strictly inscribed similar triangles to ABC for which the line through X and Y makes an angle with the line through A and B.
Notes
Use the value: 3.14159253 as the value for ��, should you need it.

Input

The first line of the input is a positive integer n which is the number of triangle datasets that follow. Each triangle dataset consists of four lines. The first line has the x and y coordinates of vertex A, the second line has the x and y coordinates of vertex B and the third line has the x and y coordinates of vertex C. The last line has the angle in degrees between the line through X and Y and the line through A and B.

Output

For each dataset, you will output the number of strictly inscribed similar triangles to ABC satisfying the input conditions. Then, for each such triangle, print a blank line, followed by a line containing the coordinates of vertex X (corresponding to A); a line containing the coordinates of vertex Y (corresponding to B); a line containing the coordinates of vertex Z (corresponding to C); and another blank line. Each coordinate should be given to four decimal places.

Sample Input

2
0 0
21 0
14 6
30
0 0
21 0
14 6
50

Sample Output

2

15.6030 4.6260
7.5905 0.0000
8.9396 3.8313

8.1575 0.0000
15.8312 4.4304
12.0075 5.1461

1

10.0510 0.0000
14.6315 5.4587
11.5450 4.9479

  • 写回答

1条回答 默认 最新

  • devmiao 2017-03-11 15:04
    关注
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 用windows做服务的同志有吗
  • ¥60 求一个简单的网页(标签-安全|关键词-上传)
  • ¥35 lstm时间序列共享单车预测,loss值优化,参数优化算法
  • ¥15 基于卷积神经网络的声纹识别
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 一直显示正在等待HID—ISP