操纵滑块直到结束,代表星形的圆消失或做出不同的动作。请参阅:jsfiddle.net/NxNXJ/13与此不同:astro.unl.edu/naap/hr/animations/hrExplorer.html
你帮我吗?感谢答案 0 :(得分:1)
当你提供一个很大的光度时,你正在渲染一个数百万像素高的圆圈。 broswer可能无法呈现它,因为它太大了。 但是,你真的只对那个大圆圈的一小部分感兴趣 - 即适合你小窗口的那一小块。 在某些时候,增加圆的大小是没有意义的,因为你无法观察到圆的曲率变化 - 它看起来像一条直的垂直线。
当x ^ 2 + y ^ 2 = R ^ 2时,这种明显的垂直性发生,其中R是星的半径,Y是窗口高度的一半,x是R-1。用Y来解决R,你就得到了
function maximumNecessaryRadius(windowHeight){
y = windowHeight / 2;
maxRadius = (y*y - 1)/2;
return Math.round(maxRadius);
}
调整星形大小时,请检查以确保其半径不超过所需的最大半径。渲染它比任何更大都是矫枉过正。