筒仓三维超声波扫描料位计 ->Python实用工具:实现对圆的自定义分割与坐标数组化处理

import math
import re

radius = 9000
height = 28209.83
num_points =8

data = ""  # 创建一个空字符串来收集所有的坐标
for i in range(num_points):
    angle = 2 * math.pi * i / num_points  # 当前角度
    x = radius * math.cos(angle)  # x坐标
    y = radius * math.sin(angle)  # y坐标
    z = height  # z坐标
    print(f"x={x:.2f}, y={y:.2f}, z={z:.2f}")
    data += f"x={x:.2f}, y={y:.2f}, z={z:.2f}\n"  # 将每个坐标添加到data字符串中

x_list = []
y_list = []
z_list = []

for line in data.split('\n'):
    matches = re.findall(r'[-+]?\d*\.\d+|\d+', line)  # 注意这里应该是\\d,或者使用原始字符串r'[-+]?\d*\.\d+|\d+'
    #matches = re.findall(r'[-+]?\d*\.\d+|\d+', line)
    if matches:  # 检查是否有匹配的值
        x, y, z = matches[:3]
        x_list.append(float(x))
        y_list.append(float(y))
        z_list.append(float(z))

print(x_list)
print(y_list)
print(z_list)

#输出数据
"""
x=9000.00, y=0.00, z=28209.83
x=6363.96, y=6363.96, z=28209.83
x=0.00, y=9000.00, z=28209.83
x=-6363.96, y=6363.96, z=28209.83
x=-9000.00, y=0.00, z=28209.83
x=-6363.96, y=-6363.96, z=28209.83
x=-0.00, y=-9000.00, z=28209.83
x=6363.96, y=-6363.96, z=28209.83
[9000.0, 6363.96, 0.0, -6363.96, -9000.0, -6363.96, -0.0, 6363.96]
[0.0, 6363.96, 9000.0, 6363.96, 0.0, -6363.96, -9000.0, -6363.96]
[28209.83, 28209.83, 28209.83, 28209.83, 28209.83, 28209.83, 28209.83, 28209.83]
"""

字符串处理借用notepad++

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

fyhs

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值