可设文字的心型实现——C++
- 效果图
- 根据需要修改对应参数
- 参数描述
- 所用心型函数
- linux环境下g++编译运行
效果图
效果还是不错的,可以替换成npy的名字,快来尝试一下吧!
根据需要修改对应参数
话不多说上代码 代码片
.
/*#############################
可根据需要修改长宽,可把outputfile替换成cout,
*/
#include<fstream>
#include<cmath>
#include<iterator>
#include<string>
#define width 120
#define leng 40
using namespace std;
int main(){
const int size = 6; //根据设置的字符进行设置
const string dis_str[size] = {"I","L","o","v","e","U"}; //可改为自己想要的文字
ofstream outputfile("love.txt");
double x, y, sum;
for( int i = 0; i < leng; i++ ){
y = 1.5 - ( (3.0 * i) / leng) ;
int k = 0;
for( int j = 0; j < width; j++ ){
x =1.5 - (( 3.0 * j) / width);
sum = pow(( x * x + y * y - 1), 3) - pow(x,2) * pow(y,3);
if( sum < 0.0 )
outputfile << dis_str[(k++) % size];
else
outputfile << " ";
}
outputfile << "\n";
}
return 0;
}
参数描述
参数 | 描述 |
---|---|
dis_str[size] | 要展示的文字 |
size | dis_str[size]字符串数目 |
width | 宽度 |
leng | 长度 |
outputfile | 输出文件流,可替换成cout |
所用心型函数
其中pow()代表指数函数
p o w ( ( x ∗ x + y ∗ y − 1 ) , 3 ) − p o w ( x , 2 ) ∗ p o w ( y , 3 ) = 0 pow(( x * x + y * y - 1), 3) - pow(x,2) * pow(y,3) = 0 pow((x∗x+y∗y−1),3)−pow(x,2)∗pow(y,3)=0
linux环境下g++编译运行
>> g++ love.cpp -o love.out
>> ./love.out
>> cat love.txt