给定 2 个坐标和一个角度,求 C 坐标
Given 2 coordinates and an angle, find C coordinate
下面是等边三角形:
平分∠ACB 将三角形分成两个全等三角形(平分线在中点与AB 线相交形成直角!)
如果 A 是 (1,0),B 是 (5,0),C 是 (c,y),D 是 (c,0)。
C 的角度为 tan(theta/2)。在这种情况下为 60 度。我将如何推导公式以获得以下输出 3.4641016151377553.
另一个例子:
A(-2,0),B(6,0),theta为:120度
输出为:2.309401076758504
输出必须以弧度为单位 (pi/180)
输出为C坐标
enter image description here
假设点A=(a,0)
和B=(b,0)
在x轴上并且ABC
是一个等腰三角形,角theta
在C
:
那么D
就有了坐标((a+b)/2,0)
。在直角三角形 ADC
中,我们有 tan(theta/2) = (b-a)/2 / h
。因此我们得到 C 的 y 坐标为 h = (b-a)/2/tan(theta/2)
.
这里是对应的球拍代码:
#lang racket
(require math)
(define (half v) (/ v 2))
(define (deg2rad angle_deg) (* angle_deg (/ pi 180)))
(define (cy a b theta) (/ (half (- b a)) (tan (deg2rad (half theta)))))
(cy 1 5 60)
(cy -2 6 120)
给出输出:
3.464101615137755
2.309401076758504
下面是等边三角形: 平分∠ACB 将三角形分成两个全等三角形(平分线在中点与AB 线相交形成直角!)
如果 A 是 (1,0),B 是 (5,0),C 是 (c,y),D 是 (c,0)。 C 的角度为 tan(theta/2)。在这种情况下为 60 度。我将如何推导公式以获得以下输出 3.4641016151377553.
另一个例子: A(-2,0),B(6,0),theta为:120度 输出为:2.309401076758504
输出必须以弧度为单位 (pi/180)
输出为C坐标 enter image description here
假设点A=(a,0)
和B=(b,0)
在x轴上并且ABC
是一个等腰三角形,角theta
在C
:
D
就有了坐标((a+b)/2,0)
。在直角三角形 ADC
中,我们有 tan(theta/2) = (b-a)/2 / h
。因此我们得到 C 的 y 坐标为 h = (b-a)/2/tan(theta/2)
.
这里是对应的球拍代码:
#lang racket
(require math)
(define (half v) (/ v 2))
(define (deg2rad angle_deg) (* angle_deg (/ pi 180)))
(define (cy a b theta) (/ (half (- b a)) (tan (deg2rad (half theta)))))
(cy 1 5 60)
(cy -2 6 120)
给出输出:
3.464101615137755
2.309401076758504