Android模拟绘制极坐标方程

零、前言

本着点动成线的世界真理,思考了一下,可以加入点的绘制来玩玩
有点就可以模拟坐标系,极坐标当然也阔以。
一个缺点就是重复绘制(因为绘制时点压点,然后看过度绘制一条红)
但是看极坐标方程是什么样子的,玩玩还是挺好的
绘图部分基于我的LogicCanvas绘图库:基础使用在此
喜欢的话可以到项目的github上看看,顺便给个star

引入
allprojects {
    repositories {
        ...
        maven { url 'https://jitpack.io' }
    }
}

implementation 'com.github.toly1994328:logic-canvas-android:0.05'


一、看下几个效果:
9414344-144a88817002e2ea.png
极坐标绘图2.png
9414344-7db70381cff4ea87.png
极坐标绘图1.png
9414344-8cb33addcafd5c36.png
极坐标绘图.png
二、绘制代码:
    //ρ= a(1-cosθ)
    //ρ= a(1-sin3θ)
    //ρ=(e^(cosθ)- 2cos(4θ) + [sin(θ/12)]^5)*100
    @Override
    protected void onDraw(Canvas canvas) {
        super.onDraw(canvas);
        Painter painter = PainterEnum.INSTANCE.getInstance(canvas);
        CanvasUtils.drawCoord(getContext(), coo, 50, canvas);
        CanvasUtils.drawGrid(getContext(), 50, canvas);
        
        for (int i = 1; i < 500; i++) {
            float ang = (float) (i);
            float rad = Logic.rad(ang);

            float c = (float) (100 * (1 - Math.sin(rad)));
//          float c = (float) (100 * (1 - Math.cos(3*Logic.rad(ang))));
//          float c = (float) (Math.pow(Math.E,Math.cos(rad)) - 2 * Math.cos(4 * rad) + Math.pow(Math.sin(rad / 12), 5));
            painter.draw(new ShapeDot()
                    .ang(ang).c(c).b(4).coo(coo)
                    .fs(Color.parseColor("#F05617")));
        }
    }

就酱紫


后记、
1.声明:

[1]本文由张风捷特烈原创,转载请注明
[2]欢迎广大编程爱好者共同交流
[3]个人能力有限,如有不正之处欢迎大家批评指证,必定虚心改正
[4]你的喜欢与支持将是我最大的动力

2.连接传送门:

更多安卓技术欢迎访问:安卓技术栈
我的github地址:欢迎star
简书首发,腾讯云+社区同步更新
张风捷特烈个人网站,编程笔记请访问:http://www.toly1994.com

3.联系我

QQ:1981462002
邮箱:1981462002@qq.com
微信:zdl1994328

4.欢迎关注我的微信公众号,最新精彩文章,及时送达:
9414344-c474349cd3bd4b82.jpg
公众号.jpg
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值