打印心形c语言,C语言打印心形

#include

int main() {

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;

putchar(a * a * a - x * x * y * y * y <= 0.0f ? ‘*‘ : ‘ ‘);

}

putchar(‘\n‘);

}

}

*********************************************************************************************

#include

int main() {

for (float y = 1.5f; y > -1.5f; y -= 0.1f) {

for (float x = -1.5f; x < 1.5f; x += 0.05f) {

float z = x * x + y * y - 1;

float f = z * z * z - x * x * y * y * y;

putchar(f <= 0.0f ? ".:-=+*#%@"[(int)(f * -8.0f)] : ‘ ‘);

}

putchar(‘\n‘);

}

}

*********************************************************************************************

#include

#include

float f(float x, float y, float z) {

float a = x * x + 9.0f / 4.0f * y * y + z * z - 1;

return a * a * a - x * x * z * z * z - 9.0f / 80.0f * y * y * z * z * z;

}

float h(float x, float z) {

for (float y = 1.0f; y >= 0.0f; y -= 0.001f)

if (f(x, y, z) <= 0.0f)

return y;

return 0.0f;

}

int main() {

for (float z = 1.5f; z > -1.5f; z -= 0.05f) {

for (float x = -1.5f; x < 1.5f; x += 0.025f) {

float v = f(x, 0.0f, z);

if (v <= 0.0f) {

float y0 = h(x, z);

float ny = 0.01f;

float nx = h(x + ny, z) - y0;

float nz = h(x, z + ny) - y0;

float nd = 1.0f / sqrtf(nx * nx + ny * ny + nz * nz);

float d = (nx + ny - nz) * nd * 0.5f + 0.5f;

putchar(".:-=+*#%@"[(int)(d * 5.0f)]);

}

else

putchar(‘ ‘);

}

putchar(‘\n‘);

}

}

*********************************************************************************************

#ifdef _MSC_VER

#define _CRT_SECURE_NO_WARNINGS

#endif

#include

#include

float f(float x, float y, float z) {

float a = x * x + 9.0f / 4.0f * y * y + z * z - 1;

return a * a * a - x * x * z * z * z - 9.0f / 80.0f * y * y * z * z * z;

}

float h(float x, float z) {

for (float y = 1.0f; y >= 0.0f; y -= 0.001f)

if (f(x, y, z) <= 0.0f)

return y;

return 0.0f;

}

int main() {

FILE* fp = fopen("heart.ppm", "w");

int sw = 512, sh = 512;

fprintf(fp, "P3\n%d %d\n255\n", sw, sh);

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;

float v = f(x, 0.0f, z);

int r = 0;

if (v <= 0.0f) {

float y0 = h(x, z);

float ny = 0.001f;

float nx = h(x + ny, z) - y0;

float nz = h(x, z + ny) - y0;

float nd = 1.0f / sqrtf(nx * nx + ny * ny + nz * nz);

float d = (nx + ny - nz) / sqrtf(3) * nd * 0.5f + 0.5f;

r = (int)(d * 255.0f);

}

fprintf(fp, "%d 0 0 ", r);

}

fputc(‘\n‘, fp);

}

fclose(fp);

}

*********************************************************************************************

#include

#include

#include

#include

float f(float x, float y, float z) {

float a = x * x + 9.0f / 4.0f * y * y + z * z - 1;

return a * a * a - x * x * z * z * z - 9.0f / 80.0f * y * y * z * z * z;

}

float h(float x, float z) {

for (float y = 1.0f; y >= 0.0f; y -= 0.001f)

if (f(x, y, z) <= 0.0f)

return y;

return 0.0f;

}

int main() {

HANDLE o = GetStdHandle(STD_OUTPUT_HANDLE);

_TCHAR buffer[25][80] = { _T(‘ ‘) };

_TCHAR ramp[] = _T(".:-=+*#%@");

for (float t = 0.0f;; t += 0.1f) {

int sy = 0;

float s = sinf(t);

float a = s * s * s * s * 0.2f;

for (float z = 1.3f; z > -1.2f; z -= 0.1f) {

_TCHAR* p = &buffer[sy++][0];

float tz = z * (1.2f - a);

for (float x = -1.5f; x < 1.5f; x += 0.05f) {

float tx = x * (1.2f + a);

float v = f(tx, 0.0f, tz);

if (v <= 0.0f) {

float y0 = h(tx, tz);

float ny = 0.01f;

float nx = h(tx + ny, tz) - y0;

float nz = h(tx, tz + ny) - y0;

float nd = 1.0f / sqrtf(nx * nx + ny * ny + nz * nz);

float d = (nx + ny - nz) * nd * 0.5f + 0.5f;

*p++ = ramp[(int)(d * 5.0f)];

}

else

*p++ = ‘ ‘;

}

}

for (sy = 0; sy < 25; sy++) {

COORD coord = { 0, sy };

SetConsoleCursorPosition(o, coord);

WriteConsole(o, buffer[sy], 79, NULL, 0);

}

Sleep(33);

}

}

原文:https://www.cnblogs.com/LyShark/p/9064141.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/441605.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【HDU - 1564 】Play a game (博弈问题,找规律,奇偶博弈)

题干&#xff1a; New Year is Coming! ailyanlu is very happy today! and he is playing a chessboard game with 8600. The size of the chessboard is n*n. A stone is placed in a corner square. They play alternatively with 8600 having the first move. Each time…

c语言学生对老师的评教系统,学生对老师的评价

学生对老师的评价1、老师授课的方式十分适合我们&#xff0c;他根据本课程知识结构的特点&#xff0c;重点突出&#xff0c;层次分明。理论和实际相结合&#xff0c;透过例题使知识更条理化。但授课速度有点快&#xff0c;来不及记录。2、老师在生活工作中给人的感觉是生活朴素…

*【HDU - 1517】【POJ - 2505】A Multiplication Game(博弈,递推找规律或SG函数)

题干&#xff1a; Stan and Ollie play the game of multiplication by multiplying an integer p by one of the numbers 2 to 9. Stan always starts with p 1, does his multiplication, then Ollie multiplies the number, then Stan and so on. Before a game starts, t…

android 怎么获取app 字体颜色,android app 修改字体

android中可能会遇到修改字体的情况&#xff0c;虽然说需求比较少&#xff0c;但是偶尔还会遇到可以使用三方框架来帮助我们简单做到api "uk.co.chrisjenx:calligraphy:2.2.0"在style文件中添加一个字体的stylefonts/Roboto-Thin.ttf我app中的main/assert/fonts/Robo…

【HDU - 1254 】推箱子 (双bfs)

题干&#xff1a; 推箱子是一个很经典的游戏.今天我们来玩一个简单版本.在一个M*N的房间里有一个箱子和一个搬运工,搬运工的工作就是把箱子推到指定的位置,注意,搬运工只能推箱子而不能拉箱子,因此如果箱子被推到一个角上(如图2)那么箱子就不能再被移动了,如果箱子被推到一面墙…

android 退出函数,android – 关闭应用程序与退出按钮

下面使用main.xml文件android:orientation"vertical" android:layout_width"fill_parent"android:layout_height"fill_parent">android:layout_height"wrap_content" android:id"id/txt1" android:text"txt1" …

算法讲解 -- 莫队算法

摘要&#xff1a; 莫队算法是一个对于区间、树或其他结构离线&#xff08;在线&#xff09;维护的算法&#xff0c;此算法基于一些基本算法&#xff0c;例如暴力维护&#xff0c;树状数组&#xff0c;分块&#xff0c;最小曼哈顿距离生成树&#xff0c;对其进行揉合从而产生的一…

android标题栏消失,安卓标题栏为什么没有显示

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼用Eclipse开发的APP&#xff0c;其中一个Activit的标题栏没有显示&#xff0c;但没对Activity做过任何配置。由于不知道哪里出问题&#xff0c;下面把Activity的java文件、布局文件和Mainfest全部放出来Activity.java-------------…

知识点 组合数学 卡特兰数

关于卡特兰数 卡特兰数是一种经典的组合数&#xff0c;经常出现在各种计算中&#xff0c;其前几项为 : 1, 2, 5, 14, 42, 132, 429, 1430, 4862, 16796, 58786, 208012, 742900, 2674440, 9694845, 35357670, 129644790, 477638700, 1767263190, 6564120420, 24466267020, 914…

android滑动菜单图标,Android实现简单底部导航栏 Android仿微信滑动切换效果

Android仿微信滑动切换最终实现效果&#xff1a;大体思路&#xff1a;1. 主要使用两个自定义View配合实现; 底部图标加文字为一个自定义view,底部导航栏为一个载体,根据需要来添加底部图标;2. 底部导航栏的设置方法类似于TabLayout的关联,View需要创建关联方法,用来关联VIewPag…

【HDU - 2149】Public Sale (巴什博奕)

题干&#xff1a; 虽然不想&#xff0c;但是现实总归是现实&#xff0c;Lele始终没有逃过退学的命运&#xff0c;因为他没有拿到奖学金。现在等待他的&#xff0c;就是像FarmJohn一样的农田生涯。 要种田得有田才行&#xff0c;Lele听说街上正在举行一场别开生面的拍卖会&…

Android万能遥控菜单选择添加,Android万能遥控器小应用

在很久很久以前&#xff0c;手机是有红外功能的&#xff0c;后来随着蓝牙技术的成熟&#xff0c;红外逐渐被蓝牙取代&#xff0c;不再是标配了。红外本身还是有些优点&#xff0c;比如操作简便&#xff0c;成本低。要想在手机上添加红外功能&#xff0c;就要外接一个转换模块。…

android studio 库工程,Android Studio 添加已有工程方法

准备工作&#xff1a;修改 excluded-paths和android.iml&#xff0c;修改内容详见下图。(目的&#xff1a;过滤和优先在sourcefolder查找&#xff0c;若没有再到JAR包中查找)BorqsUI/LINUX/android/development/tools/idegen$ mm编译出来&#xff1a;[100% 3/3] Install: out/h…

【HDU - 3951】Coin Game (博弈,猜规律,对称博弈)

题干&#xff1a; After hh has learned how to play Nim game, he begins to try another coin game which seems much easier. The game goes like this: Two players start the game with a circle of n coins. They take coins from the circle in turn and every time…

android textview 白色,android – AutoCompleteTextview默认情况下,颜色设置为白色

我在我的Android应用程序中使用了一个AutoCompleteTextView&#xff0c;它正常工作。我唯一遇到的问题是&#xff0c;默认情况下&#xff0c;建议的颜色为白色&#xff0c;我无法看到任何建议。所以当我开始打字时&#xff0c;列表会以白色条目(不可见)扩展&#xff0c;但是当我…

【HDU - 1527】【POJ - 1067】取石子游戏 (威佐夫博弈)

题干&#xff1a; 有两堆石子&#xff0c;数量任意&#xff0c;可以不同。游戏开始由两个人轮流取石子。游戏规定&#xff0c;每次有两种不同的取法&#xff0c;一是可以在任意的一堆中取走任意多的石子&#xff1b;二是可以在两堆中同时取走相同数量的石子。最后把石子全部取…

android okgo参数,Android OkGo基本操作

或许不是很全面&#xff0c;也都是从网上粘的&#xff0c;自己记下以后使用方便点。如有不对的地方 欢迎指教。首先添加依赖&#xff1a;implementation com.lzy.net:okgo:3.0.4设置初始化和全局配置&#xff1a;public class App extends Application {Overridepublic void on…

【CodeForces - 334B】Eight Point Sets(水题模拟,有坑)

题干&#xff1a; Gerald is very particular to eight point sets. He thinks that any decent eight point set must consist of all pairwise intersections of three distinct integer vertical straight lines and three distinct integer horizontal straight lines, ex…

一加6怎么刷android p6,一加6秒速跟进安卓P 教你尝鲜速成开发者

今年5月份&#xff0c;谷歌在I/O开发者大会上发布了全新的Android P操作系统&#xff0c;而在Android P系统发布后的没多久&#xff0c;一加手机官方就公开承诺&#xff0c;年度旗舰一加手机6将会成为首批次升级谷歌Android P系统的机型。而现在&#xff0c;一加已经开始兑现此…

*【CodeForces - 1047A】Little C Loves 3 I (水题,构造,三元组问题)

题干&#xff1a; Little C loves number 3 very much. He loves all things about it. Now he has a positive integer nn. He wants to split nn into 33 positive integers a,b,ca,b,c, such that abcnabcn and none of the 33 integers is a multiple of 33. Help him to…