爱心曲线公式大全

local r = a*((math.sin(angle) * math.sqrt(math.abs(math.cos(angle)))) / (math.sin(angle) + 1.4142) - 2 * math.sin(angle) + 2)

local x = r * math.cos(angle) -- 计算对应的x值

local z = r * math.sin(angle) +1.5*a -

--曲线公式绘画

local function generateParabola()

local a = 10 -- 控制振幅(增加这个值会使波形更大)

local b = 0.9 -- 控制频率(增加这个值会使波形更密集)

local id = math.random(668, 681) -- 随机选择一个方块ID

local y = 8 -- 固定y坐标为8

local date = 0 -- 方块的时间戳

local step = 0.005 -- θ的步长,减小步长以增加分辨率

local maxR = 200 -- 设置r的最大值,即波形的最大半径

local blocksPerWait = 30 -- 每次等待前生成的方块数

local waitTime = 0.05 -- 每次生成后的等待时间

local theta = 0

local count = 0 -- 计数器,用于跟踪每次生成的方块数

-- 根据需要调整θ的遍历范围和步长

while true do

theta = theta + step

-- local r = a * math.sin(b * theta) -- 计算对应的r值

--local r = a * math.asin(math.tan(b * theta))

-- local r =a * math.cos(b * theta)+a * math.sin(b * theta)

--local r =a * math.cos(b * theta)*math.cos( theta)

-- local r =a * (math.sin(b * theta)*math.sin( theta))

-- local r =a * (math.cos(b * theta)*math.cos( theta))

--local r = a * math.sin(b * theta)

--local r = a * math.sin(b*theta) +b*math.sin(b*theta)

local angle=theta

local r = a*((math.sin(angle) * math.sqrt(math.abs(math.cos(angle)))) / (math.sin(angle) + 1.4142) - 2 * math.sin(angle) + 2)

if r > maxR then

break -- 如果r超过最大半径,则停止生成

end

local x = r * math.cos(theta) -- 计算对应的x值

local z = r * math.sin(theta) +1.5*a -- 计算对应的z值

-- 在计算出的位置放置方块

Block:setBlockAll(math.floor(x), y, math.floor(z), id, date)

count = count + 1 -- 增加计数器

-- 每生成10个方块后等待0.1秒

if count % blocksPerWait == 0 then

threadpool:wait(waitTime)

end

if math.floor(1000*angle) % 1256 == 0 then

id = math.random(668, 681) -- 随机选择一个方块ID

a=a+1

print(angle)

end

end

end

ScriptSupportEvent:registerEvent("Player.ClickBlock", generateParabola)

local r = a*((math.sin(angle) * math.sqrt(math.abs(math.cos(angle)))) / (math.sin(angle) + 1.4142) - 2 * math.sin(angle) + 2)

蝴蝶曲线公式

local r =a * (math.cos(b * theta)*math.cos( theta))

水平双球曲线公式

local r =a * math.cos(b * theta)*math.cos( theta)

反向双球曲线

local r =a * math.cos(b * theta)*math.sin( theta)

相关推荐
keyipatience12 分钟前
5种IO模型与阻塞IO,select,poll,epoll,LT和ET模式
linux·服务器·网络·数据结构·c++·算法
彧azz9 小时前
图的存储结构详解:邻接矩阵的原理、实现与应用
开发语言·数据结构·学习·php
笨鸟先飞的橘猫12 小时前
系统设计第十七天决策卡
学习·游戏
一孤程13 小时前
游戏测试专题第二篇:游戏功能测试与用例设计实战
功能测试·游戏·测试·测试覆盖率
科技泡泡堂15 小时前
想玩《黎明行者之血》?2026年这4款适合玩3A的游戏本值得一看
游戏
鹿角片ljp16 小时前
LeetCode 31:下一个排列|右找小,右找大,交换,右反转
java·数据结构·算法
梦想平凡17 小时前
百游棋牌源代码开发搭建教程(二):PostgreSQL安装、业务表创建与版本化迁移
数据库·游戏·postgresql
彧azz17 小时前
B树原理与C语言实现
c语言·数据结构·b树
蓝速科技17 小时前
酒店门店 AI 数字人前台场景适配与落地指南
大数据·运维·数据结构·数据库·人工智能·科技
LuminousCPP17 小时前
数据结构-排序(三):快速排序进阶|挖坑法、双指针交换与手动栈非递归实现
c语言·数据结构·笔记·算法·排序算法