控制台绘制心形

java在控制台打印心形图案 java在控制台打印心形图案。 阅读详情

标准的心形绘制方程是:

(x²+y²-1)³ ≤ x²y³

参考(C++): https://bbs.youkuaiyun.com/topics/391941602


我用了一种简单的容易理解的方法来绘制。

即, 四个象限分成四段二次曲线来拼接。

语言: Lua

-- 心形线
-- 四个象限分四个函数画
-- (1) 原点在 (+r, 0) 的半圆  (x-r)² + y² <= r²
-- (2) 原点在 (-r, 0) 的半圆  (x+r)² + y² <= r² 
-- (3) 原点在 (kr, kr)的圆弧  (x-kr)² + (y-kr)² <= ((2+k)²+k²)r²
-- (4) 原点在 (-kr, kr)的圆弧  (x+kr)² + (y-kr)² <= ((2+k)²+k²)r²
-- 范围 (-2r, -2r) - (+2r, r);

function in_heart12(x, y, r)
    if y < 0 then
		return false;
	end
	local in1 = (x-r)*(x-r) + y*y <= r*r;
	local in2 = (x+r)*(x+r) + y*y <= r*r;
	return in1 or in2;
end

function in_heart34(x,y,r,k)
	if y > 0 then
		return false;
	end
	
	if x<=0 then 
		local in3 = (x-k*r)*(x-k*r) + (y-k*r)*(y-k*r) <= ((2+k)*(2+k)+k*k)*r*r;
		return in3;
	else
		local in4 = (x+k*r)*(x+k*r) + (y-k*r)*(y-k*r) <= ((2+k)*(2+k)+k*k)*r*r;
		return in4;
	end
	
end

function in_heart(x,y,r,k)
	if y >= 0 then
		return in_heart12(x,y,r);
	else
		return in_heart34(x,y,r,k);
	end
end

local R = 8;
local K = 1.0;
local X0 = 2*R;
local Y0 = 2*R;

function in_heart_screen(sx, sy, r, k, X0, Y0)
  local x = sx - X0;
  local y = Y0 - sy;
  
  return  in_heart(x,y,r,k)

end

for row=1, 4*R+2 do
  local s = "";
  for col = 1, 8*R+2 do
	local star = in_heart_screen(col/1.7, row, R, K, X0, Y0);
	if star then
	  s = s .. "$";
	else
	  s = s .. " "
	end
  end
  print(s);
end


运行结果:


Java控制台图形绘制:菱形与心形实现 htmltable {th, td {th {pre {简介:本文详细介绍了在Java中打印菱形和心形图案的基本方法。通过使用嵌套循环和字符串拼接,初学者可以掌握控制流和循环结构等基础概念。我们将通过两个具体示例来实现这两种图形,第一个示例展示了如何打印中心对称的菱形,而第二个示例则讲述了利用特殊字符和循环构造心形的过程。 阅读详情

相关推荐

手把手教你用Python实现最简单的语义通信(Sem Comm)Demo

本文通过Python和PyTorch,手把手教你构建一个基于深度学习的语义通信(Semantic Communication)Demo。该Demo使用自编码器架构,从MNIST图像中提取低维语义特征进行传输与重建,实现了从“传输比特”到“传递含义”的跨越,并探讨了其效率优势与鲁棒性。

weixin_29080843的博客 247

C/C++ 实现命令行画心形代码

在C++的命令行中绘制一个心形图案通常需要使用字符画的方式,利用字符来拼接出心形的形状。

微软技术分享 1万+

【信道编码/Channel Coding】线性分组码

这是本专栏信道编码/Channel Coding的第二站,想对信道编码有一个系统性的认识可以看本专栏的信道编码的整体框架一文。而在本篇文章中,将介绍线性分组码的基本原理。

Tomatomatodo的博客 9245

写一个跳动的心lua

首先就是要读到这个心self.heart  = self:getCCNodeByName("energyIcon") 然后让他动起来self.heart:runAction(CCRepeatForever:create(CCSequence:createWithTwoActions(CCScaleTo:create(1, 0.45),CCScaleTo:create(1, 0.55)) ) );

yu265096的专栏 1312

(头歌作业)—6.1 葡萄酒评论分析报告(project)

请读取文件中的数据,完成以下任务:‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬。请读取文件中的数据,完成以下任务:‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬。请读取文件中的数据,完成以下任务:‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬。

2301_80677920的博客 1245

VS2019手动添加bits/stdc++.h全指南(附解决‘无法打开源文件‘错误)

本文详细介绍了在Visual Studio 2019中手动配置C++万能头文件bits/stdc++.h的完整方法,解决常见的'无法打开源文件'错误。通过分析GCC与MSVC编译器生态差异,提供了纯手动创建和MinGW移植两种可靠方案,并给出详细的步骤、常见错误排查及最佳实践建议,帮助开发者高效配置竞赛开发环境。

weixin_29011395的博客 549

Lua绘制正弦曲线

夜半突来兴致,看了下wxLua的图形处理部分,感觉挺好玩,就试着写了一段画正弦曲线的代码。为了实现动画效果特意添加了延迟效果,感觉延迟的效率好低,画的时候窗口拖都拖不动。效果图:代码部分:代码------------------------------点和线实现正弦曲线--wxLua支持--AurhorChuwp--Date2010.10.30------------...

weixin_30345055的博客 707

ADS入门学习笔记——低噪声放大器(2)

1、输入匹配网络; 2、输出匹配网络;

weixin_42126696的博客 4990

lua 笔记

lua的贝塞尔曲线  local bezier = {        cc.p(0, size.height / 2),          --控点1        cc.p(300, - size.height / 2),          --控点2         cc.p(300, 100),                      ---终点    }    local bezier...

Eric_gg的博客 923

雷赛控制卡的扩展IO连接

因设备的上IO点较多,所以使用了多个雷赛32点位的IO扩展卡。上位机程序在控制输出IO时发现主模块IO和第一个扩展IO的输出可以控制。但第二个IO扩展卡和第三个IO扩展卡的输出控制不了。经排查出发现轴卡在初始化时只连接了第一个扩展IO卡。增加下面的代码连接上扩展IO就可以了。雷赛控制卡的扩展IO点无法控制问题处理。

StevenChen的博客 3177

五.EtherCAT开发之STM32F407ZGt6+ LAN9253 外置EEPROM配置数据含义

EtherCAT从站简称ESC,ESC在上电过程中,会自动加载EEPROM中前7个字(1word = 2 byte)到ESC寄存器。ESC寄存器总是可以被EtherCAT主站通过EtherCAT总线访问,无论PDI接口寄存器配置什么值。EEPROM存储器中的前7个字,将决定ESC的工作模式。

AIoT深度探索者 | 嵌入式系统架构师 深耕物联网(IoT)与人工智能(AI)融合技术,聚焦​​边缘计算、图像开发、低功耗通信协议​​,致力于智能硬件,关注我获取最新技术文章信息与海量资源~ 3468

心形(颜色动态变化)

输出心形

yyzsir的博客 1921

2025年CSP-X初赛真题及答案解析(江西)(完善程序第1题)

2025年CSP-X初赛真题及答案解析(江西)(完善程序第1题)

王老师青少年编程 714

c语言心形告白代码实现

1.彩色告白includeincludeincludeincludedefine U 0.1define V 0.053void SetColor(unsigned short ForeC...

轻松学C语言 2368

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

python代码大全心形盒子简单_python心形代码

广告关闭腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元!之前看到python一行代码就可以在控制台打印心形,感觉非常神奇,昨天突然想起来其实java应该也是可以的,在stream加持执行下,分享代码如下:intstream.range(-15, 15).map(y -> -y).foreach(y -> intstream.r...

weixin_39523529的博客 1963

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

心形代码,情人节必备。

#include<stdio.h> #include<math.h> #include<windows.h> #include<time.h> #include<stdlib.h> void SetColor(unsigned short ForeColor,unsigned short BackGroundColor) { HANDLE...

qq_45755771的博客 1万+

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

C#输出心形图案(一)

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication2 {     class Program     {         static void Main(st

1万+

c语言绘制曲线源码,C语言控制台绘制曲线的实现代码

本文实例为大家分享了C语言控制台绘制曲线的具体代码,供大家参考,具体内容如下首先我们应该要知道曲线的方程,这里以直角坐标为例设我们曲线方程为 y = f(x)然后我们把它化成 y - f(x) = 0的形式在程序中,我们检测每一个(x, y)位置,只要满足 y - f(x) = 0我们就画出这个点,反之就用空格填充而在实际中为了减小误差,只要 | y - f(x) | < exp, 其中ex...

weixin_42641741的博客 773

java星号心形代码_肿么用JAVA打印出心形的图案

java中怎样打印心形海阔天空29285 | 浏览 3550 次推荐于2016-08-16 09:15:40最佳答案package com.zeph.j2se.alg;public class Heart {int HighLevel(int wide) {int i = 0, j = 0, k = 0, t = 0, m = 0, n = 0, count = 1;// i控制循环内高度,j控制...

weixin_30220465的博客 718

c语言画参数曲线,C语言控制台绘制曲线的实现代码

本文实例为大家分享了C语言控制台绘制曲线的具体代码,供大家参考,具体内容如下首先我们应该要知道曲线的方程,这里以直角坐标为例设我们曲线方程为 y = f(x)然后我们把它化成 y - f(x) = 0的形式在程序中,我们检测每一个(x, y)位置,只要满足 y - f(x) = 0我们就画出这个点,反之就用空格填充而在实际中为了减小误差,只要 | y - f(x) | < exp, 其中ex...

weixin_34752204的博客 349

结果+心形曲线+数学_C ++程序在其中打印带有情人节快乐消息的心形

结果+心形曲线+数学Today’s day is very special for all lovers. So I thoughtthat I should share some programming stuff that show Valentine’s Day feeling. AC++ program is given below which prints heart shape w...

culing2941的博客 325

C语言控制台应用程序绘制曲线,用C语言控制台画简单的曲线

首先我们应该要知道曲线的方程,这里以直角坐标为例设我们曲线方程为 y = f(x)然后我们把它化成 y - f(x) = 0的形式在程序中,我们检测每一个(x, y)位置,只要满足 y - f(x) = 0我们就画出这个点,反之就用空格填充而在实际中为了减小误差,只要 | y - f(x) | < exp, 其中exp是一个误差范围,取10^-5就可以了但是还是因为误差,只画曲线的轮廓的话,...

weixin_42226446的博客 1071

发送爱心-程序员的一点小浪漫

一、直接上代码: #include <iostream> #include <windows.h> using namespace std; int main(){ float x,y,a; for(y=1.5;y>-1.5;y=y-0.1){ for(x=-1.5;x<1.5;x+=0.05){ a=x*x+y*y-1; if(a*a*a-x*x*y*y*y<0.0) cout<<"*";//满足心形区域内,打印"*"

怪&的个人博客 4397

c++绘制爱心

这段代码通过数学和编程的结合,将心形参数方程转换为图形化的结果,充分展示了数学在计算机图形学中的应用。and:提供WindowsAPI的声明,如图形绘制函数SetPixel、获取窗口句柄的GetConsoleWindow等。代码通过调用WindowsAPI的SetPixel函数在控制台窗口上绘制像素点,将数学曲线转化为可见的心形图案。其中,(t)为角度参数,以弧度为单位,范围是从(0)到(2\pi)。

lijiale20150909的博客 1190

c语言心形告白

1.彩色告白 #include #include #include #include #define U 0.1 #define V 0.053 void SetColor(unsigned short ForeColor,unsigned short BackGroundColor) { HANDLE hCon=GetStdHandle(STD_OUTPUT_HANDLE); SetCons

Roninwz的博客 4万+

笛卡尔心形方程

#include<stdio.h> int main(){ float x,y; float a; for(y=1.5f;y>-1.5f;y-=0.1f) { for(x=-1.5f;x<1.5f;x+=0.05f){ a=xx+yy-1; putchar(aaa-xxyyy<=0.0f?’*’:’ '); } putchar(’\n’); }

qq_46261111的博客 1481
上一篇: 矩形内线性插值
下一篇: TCP的4元组
双杯献酒
博客等级 码龄25年 102粉丝 134原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值