如题,大圆半径R,圆心为O(设为坐标原点),小圆半径r,圆心为O',
初始位置:小圆与大圆内切与12点位置A,此时OO'A在一条线上,这时候在O'A上标记一点B,使得O'B=h,
问题:在滚动的过程中,点B的位置坐标轨迹。请提供任何可行的方法。。。。
R*θ= r*β ,这个怕是都能得到的。
根据复数,OB=OO'+O'B,这个也该是显然的。
而在θ的时候,OO'=(R-r)*(sinθ, cosθ),这个怕是没有大的问题吧?
而此时O'B=h*(sin(β-θ), cos(β-θ)),这个有疑议吗?
如果没有,那么带将进去,是不是就得到了呢?
OB=OO'+O'B
=(R-r)*(sinθ, cosθ)+h*(sin(β-θ), cos(β-θ))
=(R-r)*(sinθ, cosθ)+h*(sin(R/r-1)*θ, cos(R/r-1)*θ)
是不是这样呢?
公式没有化简,表达也不够清楚,敬请原谅,嘿嘿!
好多年没搞这玩意儿啦……
高数题目。。画了半天的图。。列了半天的方程式,但是没有求出来。。哈哈,这个题目可以作为高考题目了,,
我想问下,小圆是如何滚动的?楼主没有描述清楚。
是不是小圆在滚动的过程 中始终是内切与大圆的?
如果是这样这个问题是比较简单的。
B的轨迹肯定,是以O为圆心,半径为R-r+h,的一个圆。
在得到小圆滚动是圆心位置,便可以求出B的位置。
因为大圆的圆心是原点,满足方程:
b.x/a.x=b.y/a.y
b.x*b.x+b.y*b.y=(R-r+h)*(R-r+h)
不知道平方怎么打,只好用乘法来表示了。
如果用程序来解的话,可以参考下计算机图形学。
大学的时候没学好,忘记了,怎么搞了。
当大圆半径旋转角度是θ,小圆则旋转了β,两个变量满足关系式:
[quote]
R*θ= r*β
[/quote]
画个草图,我的答案是这样的:
[quote]
X=(R- r)*cosθ+ h*sin(pi-θ-β);
Y = (R- r)*sinθ- h*cos(pi-θ-β);
[/quote]
你的这个答案应该和我的是一个意思。。
你不信可以计算下。 :D
方程是这样写,但是在计算机图形学里,应该不会这么做,
具体怎么算,我也记不得了,楼主可以找下计算机图形学。
晕,老大,高考题就搞来,真没兴趣啊。
至于θ为什么没有消掉,那是因为极坐标向正交直角坐标系迁移的时候根本就没办法消除!就像螺旋线一样,极坐标r=k*θ,这么简单,但是转化到直角坐标系中,θ就因该存在!而这个参数在极坐标中就不会有问题啦
我记得是椭圆吧?我记得好像是2000年全国高中数学奥林匹克竞赛(吉林赛区)的题目,当初我没做出来,然后老师给我们用直角坐标系、极坐标两种方式求解的,极坐标是最简单的求解做法。不过具体如何做,早忘光了哦!哈!
不会吧,有些时候可能根本不是闭合曲线。没有玩过有一种专门画这种螺旋线的玩具吗?外面一个框框,里面一个带齿的大圆洞,一个带有好多小洞洞的小齿轮,套在里面塞上铅笔,转呀转呀,画呀画呀,一组奇特的螺旋线就出来了……
答案就在所画的这些线上……
哪个openGL牛人可以写一段ruby代码,直接可以运行得到结果,哈哈.
ruby代码适合做这些应用 .
[quote]不会吧,有些时候可能根本不是闭合曲线。没有玩过有一种专门画这种螺旋线的玩具吗?外面一个框框,里面一个带齿的大圆洞,一个带有好多小洞洞的小齿轮,套在里面塞上铅笔,转呀转呀,画呀画呀,一组奇特的螺旋线就出来了……
答案就在所画的这些线上……[/quote]
有同感,呵呵
高数都忘光了。。。
不知道楼主是不是要做一个动画效果,这个效果我用FLASH做了其实很简单的。如果按照楼主这么说得这样,其实上面有很多人已经给你回答过你的答案了。不过楼主如果要做这个动画还有一个很简单的方案。就像太阳和地球。地球不但公转还自传。我给你解释一下。这个如果按照楼主这个思路。也可以做出来,不过我觉得太麻烦。如果我要实现这样的效果我会这么做,我先做这样一个动画。我做一个小圆让它自传。然后把这个小圆放在大圆里面。如果小圆在大圆里面每次都是切着走,那么我们可以毫无顾虑的说小圆的圆心在大圆中的轨迹是也是一个圆。而这个圆上的所有的点,我们很容易的可以算出。我们只需要让小圆的圆心走这个轨迹,那么我们做出的效果,和你现在描述的效果有区别吗?只不过我们这样是作出了一个假象。也不能说是假象。这样让人更容易理解不用写那么多关于算法的东西。有哪里说的不好的希望楼主拍砖。
呵呵!!这些东西都忘光光了!!