likes
comments
collection
share

前任发来这个:(x^2+y^2-1)^3+x^2*y^3

作者站长头像
站长
· 阅读数 15

原创:小姐姐味道(微信公众号ID:xjjdog),欢迎分享,转载请保留出处。

正要下班,前任发来一串代码。按照一贯的尿性来看,这应该是TMD发错了。但鉴于今天日期特殊,仔细思考了一下好像不太对。

在线markdown脑图直接看,访问 mind.xjjdog.cn 即可获取

前任发来这个:(x^2+y^2-1)^3+x^2*y^3

作为程序员,肯定是要解一下码的。就像看到库子,就想要把它拖下来一样。

把公式代入Java代码一看,了不得了不得。

public class X520 {
    public static void main(String[] args) {
        for (float y = 1.5f; y >= -1.5f; y -= 0.1f) {
            for (float x = -1.5f; x <= 1.5f; x += 0.05f) {
                float a = x * x + y * y - 1;
                System.out.print(a * a * a - x * x * y * y * y <= 0.0f ? "$" : " ");
            }
            System.out.println();
        }
    }
}

竟然输出了一个可以让死灰复燃的图形。有了这个图形,我觉得以后可以被两团热情的火焰烘烤了。

前任发来这个:(x^2+y^2-1)^3+x^2*y^3

为何这段小公式有这样的魔力?我们要在wolframalpha上看一下。

wolframalpha是一个卓越的在线积分计算器。这里的积分,不是说的腾讯QQ这样的积分,而是真正的微积分。可用来计算反导数和定积分、双重和三重积分以及反常积分。

我们把公式输到里面,得出的图形竟然更加的绚丽灿烂,让人拍案惊奇。

前任发来这个:(x^2+y^2-1)^3+x^2*y^3

研究了一番,我发现了另外一个更加平滑的心形公式,更加的美丽动人。就是下面这个代码:

polar plot r = 2 - 2 sin theta + sin theta * ( sqrt( |cos theta| ) ) / ( sin theta + 1.4 ) 

它产出的图形是这样的!

前任发来这个:(x^2+y^2-1)^3+x^2*y^3 看这小心尖,像猫爪子一样挠人,让人心痒痒。

既然这个工具能够写代码,那我也要自己卓越的头脑造一个专有的图形。但是想了半天,只想到了这个...

1+1 = 2

前任发来这个:(x^2+y^2-1)^3+x^2*y^3

公式写得出来写不出来,这都是次要的。

最重要的是,今晚要加班,但是明天会请假。

说话之间,又找到一段这样的代码。

public class X520 {
    public static void main(String[] args) {
        double a, b, n = 10;
        String message = " I'm fucking love Xjjdog ";

        int print_message = 4;
        if (message.length() % 2 != 0) {
            message += " ";
        }
        for (a = 0; a < n; a++) {
            for (b = 0; b <= 4 * n; b++) {
                double distance1 = Math.sqrt(Math.pow(a - n, 2) + Math.pow(b - n, 2));
                double distance2 = Math.sqrt(Math.pow(a - n, 2) + Math.pow(b - 3 * n, 2));
                if (distance1 < n + 0.5 || distance2 < n + 0.5) {
                    System.out.print("S");
                } else {
                    System.out.print(" ");
                }
            }
            System.out.println();
        }
        for (a = 1; a < 2 * n; a++) {
            for (b = 0; b < a; b++)
                System.out.print(" ");
            for (b = 0; b < 4 * n + 1 - 2 * a; b++) {
                if (a >= print_message - 1 && a <= print_message + 1) {
                    double point = b - (4 * n - 2 * a - message.length()) / 2;

                    // prints message after leaving
                    // appropriate space
                    if (point < message.length() &&
                            point >= 0) {
                        if (a == print_message)
                            System.out.print
                                    (message.charAt((int)point));
                        else
                            System.out.print(" ");
                    }

                    else
                        System.out.print("S");
                }

                else
                    System.out.print("S");
            }

            System.out.println();
        }
    }
}

// This code is contributed by Anant Agarwal.

作者简介:小姐姐味道 (xjjdog),一个不允许程序员走弯路的公众号。聚焦基础架构和Linux。十年架构,日百亿流量,与你探讨高并发世界,给你不一样的味道。我的个人微信xjjdog0,欢迎添加好友,进一步交流。

转载自:https://juejin.cn/post/6969851498901536799
评论
请登录