当前位置: 首页 > wzjs >正文

b站推广网站400找营销推广团队

b站推广网站400,找营销推广团队,深圳网站seo教程,网站系统建设方案box2d.rs文件定义了一个二维轴对齐矩形(Box2D),使用最小和最大坐标来表示。矩形在坐标类型(T)和单位(U)上是泛型的。代码提供了多种方法来操作和查询矩形,包括求交集、并集、平移、缩…

box2d.rs文件定义了一个二维轴对齐矩形(Box2D),使用最小和最大坐标来表示。矩形在坐标类型(T)和单位(U)上是泛型的。代码提供了多种方法来操作和查询矩形,包括求交集、并集、平移、缩放等。

主要特性与方法:

  1. 表示方式:
  • 矩形由两个点表示:min(左下角)和 max(右上角)。

  • 这种表示方式比使用原点加大小的方式更高效,尤其是在计算交集和并集时,且不易溢出。

  1. 构造函数:
  • new(min: Point2D<T, U>, max: Point2D<T, U>):通过两个点创建新的 Box2D。

  • from_origin_and_size(origin: Point2D<T, U>, size: Size2D<T, U>):通过原点坐标和大小创建 Box2D。

  • from_size(size: Size2D<T, U>):通过大小创建 Box2D,原点为零。

  1. 属性:
  • is_negative():如果矩形面积为负(即 min.x > max.x 或 min.y > max.y),返回 true。

  • is_empty():如果矩形为空(面积为零、负面积或包含 NaN),返回 true。

  • size():返回矩形的尺寸(Size2D)。

  • width() 和 height():分别返回矩形的宽度和高度。

  1. 操作:
  • intersection(other: &Self):计算两个矩形的交集,如果无交集则返回 None。

  • union(other: &Self):计算两个矩形的并集。

  • translate(by: Vector2D<T, U>):按向量平移矩形。

  • inflate(width: T, height: T):按指定值在每边扩展矩形。

  • contains(p: Point2D<T, U>):如果矩形包含点 p,返回 true。

  • contains_box(other: &Self):如果当前矩形包含另一个矩形的内部,返回 true。

  1. 实用方法:
  • to_rect():将 Box2D 转换为 Rect(由原点坐标和大小表示)。

  • cast<NewT: NumCast>():将矩形转换为不同的数值类型。

  • round()、round_in()、round_out():以不同方式将矩形坐标四舍五入为整数值。

  1. Serde 和 Bytemuck 支持:
  • 如果启用了 serde 特性,该结构体可以通过 Serde 进行序列化和反序列化。

  • 如果启用了 bytemuck 特性,可以使用 bytemuck 进行零拷贝类型转换。

  1. 测试:
  • 代码包含全面的测试,确保实现的正确性。测试涵盖了交集、并集、平移、缩放等操作。

示例用法:

use euclid::default::{Box2D, Point2D, Size2D};fn main() {let box1 = Box2D::new(Point2D::new(0.0, 0.0), Point2D::new(10.0, 10.0));let box2 = Box2D::new(Point2D::new(5.0, 5.0), Point2D::new(15.0, 15.0));let intersection = box1.intersection(&box2).unwrap();println!("交集: {:?}", intersection);let union = box1.union(&box2);println!("并集: {:?}", union);let translated = box1.translate(Point2D::new(2.0, 3.0));println!("平移后: {:?}", translated);
}

总结:

Box2D 结构体是一个高效且通用的二维轴对齐矩形表示,提供了丰富的几何操作方法。它泛型化了坐标类型和单位,适用于图形、UI 等领域中需要处理二维矩形的场景。

http://www.dtcms.com/wzjs/260382.html

相关文章:

  • 平邑网站建设google中文搜索引擎入口
  • 投票网站如何做快速排名软件哪个好
  • 滁州市建设工程协会网站最近新闻大事件
  • 政务网站集约化建设要求微信推广方案
  • 公众号编辑整站seo定制
  • github做自己的网站搜索引擎优化关键字
  • 北京科兴中维新冠疫苗最新消息seo网站推广可以自己搞吗
  • 网站制作前景百度统计怎么使用
  • lamp 做网站网站排名怎么做
  • 网站设计 站注册公司流程和费用
  • 9夜夜做新郎网站登录百度账号
  • 天津大型网站建设天津的网络优化公司排名
  • 西宁做网站的公司捌君博力请如何搜索关键词热度
  • 企业公司网站管理系统2022年新闻大事
  • 公司网站链接怎么弄全网搜索软件
  • 网站代理浏览器一专业做网站公司
  • 做网站的视频教程谷歌seo详细教学
  • 广州网络安全建设公司百度seo优化方案
  • 网站建设标准优化网站排名方法
  • 琼海做网站公司推广软文案例
  • 数据网站建设哪家好关键词优化推广排名多少钱
  • 建立个人网站的详细步骤软文发稿系统
  • 上海工程项目查询系统优化的意义
  • 如何制作营销网站杭州网站优化咨询
  • 做网站创新互联360网址导航
  • hp网站seo如何建立优化网站
  • 网站设计对网站搜索引擎友好性的影响google推广怎么做
  • 转运网站开发关键字排名查询
  • 如何给自己的公司做网站青岛网站推广公司排名
  • 商城网站做推广万网官网首页