我有一个旋转的圆圈。例如,请参见下面的图像。圆被分成不同程度的分段,在本例中,我将圆划分为三个相等的120度分段。
给定一个撞击点(圆的外半径上的一个点),我计算圆的中心和撞击点之间的度数。然后,我需要确定哪个部分受到了影响。
我目前的解决方案是这样的:
var circleRotation = 270;
var segments = [120, 120, 120];
function segmentAtAngle(angle) {
var sumTo = circleRotation;
for (var i = 0, l = segments.length; l &
我在试着找出单位圆的圆心落在三角形内的概率。三角形的顶点在单位圆上随机拾取。
我的想法是在(-1.0, 1.0)范围内随机选取一个浮点x,然后随机选择向上或向下。这会让我得到一点(x, +/-sqrt(1 - x*x))
import Data.Random
main = do
x <- randomRIO (-1.0,1.0)
let y = (sample (randomElement [-1,1])) * sqrt(1-x*x)) -- I can't make this line work
那么如何从[Int]中选择一个随机元素呢?