- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有三角形:a
, b
, c
.每个顶点都有一个值:va
, vb
, vc
.在我的软件中,用户拖动点 p
在这个三角形的内部和外部。我使用重心坐标来确定值 vp
在 p
基于 va
, vb
, 和 vc
.到现在为止还挺好。
现在我想限制p
以便 vp
在范围内 min
和 max
.如果用户选择 p
哪里vp
是 < min
或 > max
, 如何找到最接近 p
的点哪里vp
等于 min
或 max
, 分别?
编辑:这是我测试每个点的示例。浅灰色以内min
/max
.我如何找到组成 min
的线的方程/max
边界?
a = 200, 180
b = 300, 220
c = 300, 300
va = 1
vb = 1.4
vc = 3.2
min = 0.5
max = 3.5
v
,
w
为
p
使用三角形顶点
a
,
b
,
c
(我认为是标准的东西,但看起来像
this )。然后得到
vp
:
u = 1 - w - v
vp = va * u + vb * w + vc * v
min
的线方程/
max
所以我可以为
p
选择一个新职位当
vp
超出范围。
p
的新职位是最接近
p
的点在最小或最大线上。
p
是 XY 坐标和
vp
是由三角形和每个顶点处的值确定的坐标值。
min
和
max
也是值(value)观。我需要的两条线方程将为我提供 XY 坐标,三角形确定的值为
min
或
max
.
最佳答案
诀窍是使用值与笛卡尔距离的比率来扩展每个三角形边缘,直到它达到最小值或最大值。用图片更容易看:
青色线显示三角形边缘的延伸方式,绿色 X 是最小或最大线上的点。仅通过这些点中的 2 个点,我们就知道直线的斜率。黄线显示连接 Xs 与浅灰色对齐。
数学是这样工作的,首先得到 vb 和 vc 之间的值距离:
valueDistBtoC = vc - vb
然后得到从 b 到 c 的笛卡尔距离:
cartesianDistBtoC = b.distance(c)
然后得到从 b 到 max 的值距离:
valueDistBtoMax = 最大值 - vb
现在我们可以交叉乘以得到从 b 到 max 的笛卡尔距离:
cartesianDistBtoMax = (valueDistBtoMax * cartesianDistBtoC)/valueDistBtoC
对 min 以及 a,b 和 c,a 执行相同的操作。 6点足以限制p的位置。
关于geometry - 找到重心权重具有特定值的点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20271947/
我正在使用 Jetpack Compose 创建一个布局,并且有一列。我想在此列中居中项目: Column(modifier = ExpandedWidth) { Text(text
我是一名优秀的程序员,十分优秀!