
正文
笛卡尔函数java源代码,笛卡尔爱的函数
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
用java或者c程序输出如下图的这种简单心形,谁能给我讲讲思路。加上程序示例更好
用方程的话肯定输出不会和你的图完全一致
心形线方程如图
用上面行第二个比较简单,程序如下
#include stdio.h
bool draw(float x, float y)
{
float a = x * x + y * y - 1.0;
float b = x * x * y * y * y;
return a * a * a - b = 0;
}
int main(int argc, char* argv[])
{
for (float y = 1.5; y = -1.5; y -= 0.1)
{
for (float x = -1.2; x = 1.2; x += 0.05)
{
if (draw(x, y))
{
bool left = draw(x - 0.05, y);
bool right = draw(x + 0.05, y);
bool up = draw(x, y + 0.1);
bool down = draw(x, y - 0.1);
if (left right up down)
printf(" ");
else
printf("*");
}
else
printf(" ");
}
printf("\n");
}
return 0;
}
draw函数是判断(x,y)坐标是否在心形范围内
主函数循环,y取值±1.5之间,步长0.1,x取值±1.2之间,步长0.05
如果(x,y)坐标在心形范围外打印空格
如果(x,y)坐标在心形范围内,由于这个心是空心的,要继续判断是不是心形边缘,判断周围4个点坐标,如果都在范围内,表示(x,y)坐标不会是边缘,打印空格,否则是边缘,打印星号
最终结果如图
相关问答
Q1: 用函数编写笛卡尔乘积的代码,c语言
程序:
#include stdio.h
# define m 3
# define n 2
void main()
{
int i,j,a[m],b[n];
for (i=0;im;i++)
scanf("%d",a[i]);
for (j=0;jn;j++)
scanf("%d",b[j]);
\x09printf("集合a:\n");
\x09for (i=0;im;i++) printf("%d\t",a[i]);
\x09printf("\n集合b:\n");
\x09for (i=0;in;i++) printf("%d\t",b[i]);
printf("\n{");
for (i=0;im;i++)
for (j=0;jn;j++)
printf("%d,%d ",a[i],b[j]);
printf("}\n");
}
运行结果请看贴的图片
Q2: 怎样用matlab画笛卡尔心型函数
源代码:
[x,y,z]=meshgrid(linspace(-1.3,1.3));
val=(x.^2 + (9/4)*y.^2 + z.^2 - 1).^3 - x.^2.*z.^3 - (1/9)*y.^2.*z.^3;
isosurface(x,y,z,val,0);
axis equal;view(-10,24);colormap([1 0.2 0.2])






