陌生人233 2016-11-14 07:02 采纳率: 66.7%
浏览 2251
已采纳

用c语言输出心形的一个疑惑

#include
float ff(float x, float z) {
float a = x * x + z * z - 1;
return a * a * a - x * x * z * z * z;
}
int main(void){
int ppi=10;
int sw = ppi, sh = ppi;
for (int sy = 0; sy < sh; sy++) {
float z = 1.5f - sy * 3.0f / sh;
for (int sx = 0; sx < sw; sx++) {
float x = sx * 3.0f / sw - 1.5f;
if (ff(x, z) <= 0.0f) {
putchar('*');
} else {
putchar(' ');;
}
}
putchar('\n');
}
return 0;
}

我想知道变量z和x为什么要这么写,那个ff函数是返回心形公式的值,当这个值等于0是这个就是心形线上的一个点,这个是我从知乎上看到的,但是没解释
  • 写回答

3条回答 默认 最新

  • threenewbee 2016-11-14 07:08
    关注

    这就是心形函数的函数表达式,好比二次方程就能得到抛物线一样,这个你要问你中学的解析几何的老师。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 chaquopy python 安卓
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 有没有帮写代码做实验仿真的
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥30 vmware exsi重置后登不上
  • ¥15 易盾点选的cb参数怎么解啊
  • ¥15 MATLAB运行显示错误,如何解决?
  • ¥15 c++头文件不能识别CDialog
  • ¥15 Excel发现不可读取的内容
  • ¥15 关于#stm32#的问题:CANOpen的PDO同步传输问题