野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8443|回复: 7

关于椭圆的一点点问题

[复制链接]
发表于 2016-8-22 10:06:28 | 显示全部楼层 |阅读模式
椭圆啊椭圆,
d1,d2这样子求是为什么呦。我想不明白了。
椭圆方程:x2 / a2 + y2 / b2 = 1,有人讲解讲解吗?
QQ图片20160822100033.png QQ图片20160822100103.png
回复

使用道具 举报

 楼主| 发表于 2016-8-22 10:14:51 | 显示全部楼层
可能只是纯粹的为比较大小用。为了不删帖,附一段中点画椭圆代码给大伙参考参考。
void LCD_DrawEllipse(int Xpos, int Ypos, int a, int b)
{
        int A=a*a,B=b*b;
        int   d,x=0,y=b;
  d = B-A*b+A/4;                                                 //后面只涉及整数运算,小数可舍去
        while(B * (x + 1) < A * (y - 0.5))
        {
        putpixel(x+Xpos,y+Ypos);
        putpixel(-x+Xpos,y+Ypos);
        putpixel(x+Xpos,-y+Ypos);
        putpixel(-x+Xpos,-y+Ypos);
                if(d<0)
                {
                        d += 2*B*x+3*B;
                }
                else
                {
                        d += 2*(B*x-A*y)+3*B+2*A;
                        y--;
                }
                x++;
        putpixel(x+Xpos,y+Ypos);
        putpixel(-x+Xpos,y+Ypos);
        putpixel(x+Xpos,-y+Ypos);
        putpixel(-x+Xpos,-y+Ypos);
        }
               
        while(y > 0)
                {
                        if (d < 0)
                        {
                        d += B * (2 * x + 2) + A * (-2 * y + 3);
                        x++;
                        }
                        else
                        {
                        d += A * (-2 * y + 3);
                        }
                        y--;
        putpixel(x+Xpos,y+Ypos);
        putpixel(-x+Xpos,y+Ypos);
        putpixel(x+Xpos,-y+Ypos);
        putpixel(-x+Xpos,-y+Ypos);
                }
}
例程里程序太简单了以至于看不懂。。。
回复 支持 反对

使用道具 举报

发表于 2016-8-22 10:20:02 | 显示全部楼层
在高中的时候椭圆我都搞不明白。。现在更不清楚了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-8-22 10:45:26 | 显示全部楼层
flyleaf 发表于 2016-8-22 10:20
在高中的时候椭圆我都搞不明白。。现在更不清楚了

要不要发个链接给你看看,帮我研究研究,再告诉我呗,中点的我会,Bresenham不会,例程里好像就用的这种,好简单看起来。

你不会?我不信,没有你不会的。自从高中之后还没碰过椭圆呢,之后发现椭圆好强啊,竟然用到大学的偏导!!

http://blog.csdn.net/orbit/article/details/7496008
回复 支持 反对

使用道具 举报

发表于 2016-8-22 11:46:52 | 显示全部楼层
望蓝天 发表于 2016-8-22 10:45
要不要发个链接给你看看,帮我研究研究,再告诉我呗,中点的我会,Bresenham不会,例程里好像就用的 ...

见到公式就不敢看了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-8-22 12:04:50 | 显示全部楼层
flyleaf 发表于 2016-8-22 11:46
见到公式就不敢看了

我也不想看,例程里的程序太简短了,让人舍不得放下。效果还好,很忧伤。我再看会儿。

回复 支持 反对

使用道具 举报

发表于 2016-8-22 18:43:44 | 显示全部楼层
这个哥研究的咋都是那么深奥的东西,能来点初学的问题吗
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-8-22 20:58:46 | 显示全部楼层
仲楚楚 发表于 2016-8-22 18:43
这个哥研究的咋都是那么深奥的东西,能来点初学的问题吗

学到液晶的时候可以看看。。。百度上都有的其实。。。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-5-3 03:14 , Processed in 0.029516 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表