微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Matlab中具有功能的多边形图

如何解决Matlab中具有功能的多边形图

我想在matlab中创建一个函数,该函数根据应作为函数输入的多边形的边数绘制一个多边形,如何生成代码

解决方法

通过对圆进行采样来生成多边形

您可以沿一个圆采样点并将它们连接起来,但是,当然,根据生成的多边形的标准,这可能会或可能不符合您的要求。在这种情况下,您需要的点数必须比闭合形状的边数大1。在这里,我们表示向量Theta,该向量采用从 0 弧度( 360 °)。然后,使用Thetasin()的关系,将存储在cos()中的这些采样角用于沿圆计算xy点。最后一步是将Radius乘以sin(),因为角度cos()Number_Of_Edges = 6; Radius = 100; Theta = linspace(0,2*pi,Number_Of_Edges+1); X_Points = Radius*cos(Theta); Y_Points = Radius*sin(Theta); plot(X_Points,Y_Points); title("Polygon with " + num2str(Number_Of_Edges) + " Edges"); grid; 被归一化为单位圆。

Polygon Plot with Specified Number of Edges

Number_Of_Edges = 6;
Polygon_Plot(Number_Of_Edges);

函数调用:

function [] = Polygon_Plot(Number_Of_Edges)
Radius = 100;
Theta = linspace(0,Number_Of_Edges+1);
X_Points = Radius*cos(Theta);
Y_Points = Radius*sin(Theta);


plot(X_Points,Y_Points);
title("Polygon with " + num2str(Number_Of_Edges) + " Edges");
grid;

end

功能形式:

from wsgiref.handlers import format_date_time
from datetime import datetime
from time import mktime
import base64
from urllib.parse import quote
import hmac
from hashlib import sha256
import requests
from azure.cosmos.auth import GetAuthorizationHeader
from azure.cosmos.cosmos_client import CosmosClientConnection

master_key = ''
database_name = ''
key = base64.b64decode(master_key)
verb = 'GET'
resource_type = 'users'
resource_id = f'dbs/{database_name}'
now = datetime.now()
stamp = mktime(now.timetuple())
date = format_date_time(stamp)
print(date)
text = "{verb}\n{resource_type}\n{resource_id}\n{date}\n{other}\n".format(
    verb=(verb.lower() or ''),resource_type=(resource_type.lower() or ""),resource_id=(resource_id or ""),date=date.lower(),other="".lower())

body = text.encode("utf-8")
digest = hmac.new(key,body,sha256).digest()
signature = base64.encodebytes(digest).decode("utf-8")
key_type = 'master'
version = '1.0'
uri = f'type={key_type}&ver={version}&sig={signature[:-1]}'
uri_encoded = quote(uri)

url = "https://<>.documents.azure.com:443/dbs/<>/users"

payload = {}
headers = {
    'Authorization': uri_encoded,'x-ms-date': date,'x-ms-version': '2018-12-31'
}

response = requests.request("GET",url,headers=headers,data=payload)

print(response.text)

使用MATLAB R2019b运行

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。