颜色叠加(模拟)

Description

👉HNUCM:2080

题目的大致意思是在平面上给出两个矩形左上角的坐标、长度和宽度,求出重叠部分的面积。【注意:此处定义与X轴平行的那组边为长边,与Y轴平行的那组边为宽边】

Input

单组输入。
第1行输入四个整数,分别表示蓝色长方形透明卡片的左上角坐标(X坐标和Y坐标)、长和宽。两两之间用英文空格隔开。
第2行输入四个整数,分别表示黄色长方形透明卡片的左上角坐标(X坐标和Y坐标)、长和宽。两两之间用英文空格隔开。
两张长方形透明卡片的X坐标和Y坐标的取值范围为[-1000, 1000],长和宽的取值范围为[1,200]。

Output

输出一个非负整数,表示两张卡片叠加后所形成的绿色区域的面积。

Sample Input

0 100 200 100
100 150 75 75

Sample Output

1875

Analysis

两种方法都是模拟,思路不同
注意题目中已经说明与X轴平行的那组边为长边,与Y轴平行的那组边为宽边
因为输入的坐标有可能存在负数,所以不能通过二维数组标记的方式模拟

Code

  • 方法一:根据两个矩形的最高和最低水平线、最左和最右竖直线的相对位置来判断重叠的情形
    在这里插入图片描述
#include<bits/stdc++.h>
using namespace std;
#define ll long long
struct node{
    int top,bottom,left,right;
}e[2];

int fun(node e1,node e2){
    if(e1.bottom>=e2.top||e1.top<=e2.bottom) return 0;
    if(e1.right<=e2.left||e1.left>=e2.right) return 0;
    int a=min(e1.right,e2.right)-max(e1.left,e2.left);
    int b=min(e1.top,e2.top)-max(e1.bottom,e2.bottom);
    return a*b;
}

int main(){
    int x,y,a,b;
    for(int i=0;i<2;i++){
        scanf("%d%d%d%d",&x,&y,&a,&b);
        e[i].top=y;
        e[i].left=x;
        e[i].bottom=y-b;
        e[i].right=x+a;
    }
    printf("%d\n",fun(e[1],e[0]));
    return 0;
}
  • 方式二:求得dx,dy,再由(x,y)和(xx,yy)的相对位置来计算重叠矩形长度和宽度
    在这里插入图片描述
  #include <bits/stdc++.h>
  using namespace std;
  #define ll long long
  int main(){
      int x,y,xx,yy,a,b,aa,bb;
      scanf("%d%d%d%d",&x,&y,&a,&b);
      scanf("%d%d%d%d",&xx,&yy,&aa,&bb);
      int i,j,dx,dy;
      dx=abs(x-xx);
      dy=abs(y-yy);
      if(x<=xx)
          i=min(a-dx,aa);
      else
          i=min(aa-dx,a);
      if(y>=yy)
          j=min(b-dy,bb);
      else
          j=min(bb-dy,b);
      if(i<0||j<0) puts("0");
      else printf("%d\n",i*j);
      return 0;
  }
  • 6
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Gyoto是一种用于生成三维宇宙模拟图像的软件。如果要改变Gyoto生成的图像的颜色,需要在Gyoto的输入文件中添加相应的参数。 具体来说,可以通过添加Gyoto脚本中的“color”命令来改变颜色。这个命令需要指定要改变颜色的物体和新的颜色。例如,要将一个星系的颜色改为红色,可以在脚本中添加类似以下的行: ``` color galaxy red ``` 这将把名为“galaxy”的物体的颜色更改为红色。类似地,可以通过添加更多的“color”命令来改变其他物体的颜色。 需要注意的是,Gyoto的输入文件通常使用Gyoto脚本语言编写,需要了解该语言的语法和命令才能进行相应的修改。 ### 回答2: Gyoto是一种矢量图形编辑软件,它可以轻松改变图像的颜色。要改变Gyoto画的图的颜色,可以按照以下步骤进行操作: 1. 打开Gyoto软件并导入需要修改颜色的图像。 2. 在工具栏上选择“选择”工具,然后在图像上框选出要改变颜色的区域。 3. 点击工具栏上的“颜色”按钮,弹出一个颜色选择器。 4. 在颜色选择器中,你可以手动选择新的颜色,或者使用调色板来选择。 5. 选择所需的新颜色后,点击“确认”按钮来应用新颜色到图像上的选定区域。 6. 如果你想对整个图像应用新的颜色,而不只是选定区域,可以选择“编辑”菜单下的“全选”选项,然后再进行相同的颜色修改步骤。 7. 如果你还想对图像应用其他的颜色效果,比如亮度、对比度、饱和度等,可以在“颜色”按钮旁边的菜单中选择相应的选项进行进一步的调整。 8. 最后,点击菜单中的“保存”选项,将修改后的图像保存至你的电脑中。 通过以上步骤,你可以使用Gyoto软件轻松改变图像的颜色,实现艺术创作或者图像修饰的目的。 ### 回答3: 要改变Gyoto画的图的颜色,你可以采取以下方法: 1. 使用调色板:Gyoto画通常使用调色板来选择和更改颜色。调色板是一个包含不同颜色的面板,你可以选择和应用到你的图形。在调色板上选择你喜欢的颜色,然后使用画笔或填充工具将其应用到你的图形上。 2. 使用滤镜:Gyoto画软件通常提供各种滤镜效果,可以改变图像的颜色。你可以尝试使用色彩平衡、色调、饱和度或对比度等滤镜来修改颜色。通过微调这些滤镜参数,你可以改变图像的整体颜色或特定颜色的强度。 3. 调整透明度和混合模式:在Gyoto画软件中,你还可以通过调整图层的透明度和混合模式来改变颜色。通过将不同图层叠加在一起,并尝试不同的混合模式,你可以创建出更丰富多样的颜色效果。 4. 进行局部着色:如果你只想改变图像中的某个区域的颜色,你可以使用选择工具选中该区域,然后应用调色板或滤镜来改变颜色。这种方法可以使特定区域的颜色更加突出,同时保持其他部分的原色。 总之,改变Gyoto画的图的颜色可以通过使用调色板、滤镜、调整透明度和混合模式,以及进行局部着色等方式实现。这样你可以根据个人喜好和艺术创意来调整图像的颜色,使其更加鲜艳、丰富多彩。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值