我有一个圆,例如半径为10,并且由于其宽度和高度等于半径,我可以很容易地找到外部边界矩形,但是我需要的是内部边界矩形。有谁知道如何从圆的外部和内部边界矩形计算大小差异?
这是一张图片,用来说明我在说什么。我知道,红色矩形是圆的外部边界框。黄色矩形是该圆的内部边界矩形,我需要找出与外部矩形的大小差异。

我发现差异的第一个猜测是找到内矩形的四个点之一,方法是沿着圆的圆周找到该点,每个点的偏移量为45度,然后找出与该点不同的点大矩形的相关点。
编辑:基于史蒂夫·B给出的解决方案。我想出了算法来得到我想要的是以下内容:
r*2 - sqrt(2)*r
Run Code Online (Sandbox Code Playgroud) 我有一个矩阵,每个单元格都有一个RGB值.我想根据每个矩阵单元的RGB值将该矩阵投影到相应的矩形图上.最好的方法是什么?
我有一个WinFrom,我隐藏了所有边框和控制盒.在WinForm里面,我有一个RECT()(不是WinFrom控件)RECT填充整个WinForm.
我正在尝试将标签添加到WinForm,但我希望标签出现在RECT的顶部.标签出现在WinForm上,但从不在RECT之上.我尝试过使用以下内容:
/*App Runs - Label does not show up*/
_label.Text = "This is the label";
_label.BackColor = Color.Cornsilk;
_form.Controls.Add(_label);
_form.Controls.SetChildIndex(_label, 0);
/*App Does Not Run*/
_label.Text = "This is the label";
_label.BackColor = Color.Cornsilk;
_form.Controls.SetChildIndex(_label, 0); //trying to set the index before I add the label to the form
_form.Controls.Add(_label);
/*App Runs - Label does not show up*/
_label.Text = "This is the label";
_label.BackColor = Color.Cornsilk;
_label.BringToFront();
_form.Controls.Add(_label);
/*App Runs - Label does not show up*/
_label.Text = …Run Code Online (Sandbox Code Playgroud) 我正在制作一个非常简单的游戏,其中鸟(玩家)必须躲避岩石,如果它被岩石击中,你就输了.我试图使用pygame.sprite.collide_rect()来判断它们是否触及,但我似乎无法确定如何正确使用它.
这是我的代码:
import pygame
import os, sys
import random
import time
img_path = os.path.join('C:\Python27', 'player.png')
img_path2 = os.path.join('C:\Python27', 'rock.png')
class Bird(object):
def __init__(self):
self.image_s = pygame.image.load(img_path)
self.image_b = self.image_s.get_rect()
self.x = 0
self.y = 0
def handle_keys(self):
key = pygame.key.get_pressed()
dist = 2
if key[pygame.K_DOWN]:
self.y += dist
elif key[pygame.K_UP]:
self.y -= dist
if key[pygame.K_RIGHT]:
self.x += dist
elif key[pygame.K_LEFT]:
self.x -= dist
def draw(self, surface):
surface.blit(self.image, (self.x, self.y))
def background(self, surface):
bg = os.path.join('C:\Python27', 'bg.png')
self.image2 = pygame.image.load(bg)
surface.blit(self.image2, …Run Code Online (Sandbox Code Playgroud) 这是关于C++和mfc的问题.例如,left = 3,right = 8.是不是意味着从左到右有6个像素?为什么宽度=右 - 左?如果我知道一个代表图像rect的矩形,当我为图像数据分配内存时,我应该使用哪一个?宽度=左右,或宽度=右 - 左+ 1?我是图像处理的初学者.这真让我困惑.谢谢您的帮助!
我有一个非常基本的矩形绘图面板,但我想知道是否有一种简单的方法可以为矩形添加某种发光.
public class Blocks extends JPanel {
public void paintComponent(Graphics g) {
super.paintComponent(g);
this.setBackground(Color.BLACK);
for (int i = 1; i <= totalSteps; i++) {
g.setColor(Color.WHITE);
g.fillRect(100 + i*60, 260, 50, 50);
}
}
}
Run Code Online (Sandbox Code Playgroud) 在C#IsEmpty(on System.Windows.Rect)中不返回truewhere Width或Height为零.在MSDN中,它被注意到但没有(明确地)解释:
不要使用此属性来测试零区域; 面积为零的矩形不一定是空矩形.有关更多信息,请参阅Empty属性.
为什么不将IsEmpty实现为:
public bool IsEmpty
{
return Width == 0 || Height == 0;
}
Run Code Online (Sandbox Code Playgroud)
当前实现的用例是什么?
Paint mPaint = new Paint();
mPaint.setStyle(Style.FILL);
mPaint.setColor(Color.Red);
canvas.drawRect(mRedPaddleRect, mPaint);
Run Code Online (Sandbox Code Playgroud)
这里,mRedPaddleRect是一个使用Rect形成的Rectangle,而不是设置它我想要设置一个Image的颜色.
如何才能做到这一点?
任何帮助,将不胜感激.
谢谢.
我一直在试验 Pygame,遇到了一个我找不到答案的问题。在此贴中,展示了我的基本游戏框架。我怎样才能ballSnapLeft()正确完成我的定义?
编辑:我不是在寻找要完成的代码,而是在寻找某人来解释“Rect”类(?)的工作原理以及如何应用它。
Edit2:我尝试使用 x 和 y 坐标来这样做,但我认为有一种更简单的方法可以实际工作,而不是使用蛮力坐标。
我有两个系列及其交点。我想在图表上有一个椭圆形,中心位于交叉点。椭圆半径应根据轴单位设置,以显示每个轴的感兴趣区域。
Highcharts.chart('container', {
series: [
// first series
{
name: 'IPR',
data: [[0, 30.5],[18.5, 25.4],[30, 19.4],[38, 9.7],[42, 0.02]]
},
// second series
{
name: 'VLP',
data: [[2, 0.5],[7, 1],[14, 6],[21, 22],[29, 29.6],[40, 30.3],[50, 27.2]]
},
// intersection
{
name: 'Operating point',
data: [
[22.42, 23.35]
]
}
],
})
Run Code Online (Sandbox Code Playgroud)
如何以编程方式在相交处绘制椭圆形并进行缩放?