Drawing a Rotated Rectangle
By : Johan Sydseter
Date : March 29 2020, 07:55 AM
Any of those help I realize this might be more of a math problem. , First transform the centre point to 0,0 X' = Xx code :
UL = x + ( Width / 2 ) * cos A  ( Height / 2 ) * sin A , y + ( Height / 2 ) * cos A + ( Width / 2 ) * sin A
UR = x  ( Width / 2 ) * cos A  ( Height / 2 ) * sin A , y + ( Height / 2 ) * cos A  ( Width / 2 ) * sin A
BL = x + ( Width / 2 ) * cos A + ( Height / 2 ) * sin A , y  ( Height / 2 ) * cos A + ( Width / 2 ) * sin A
BR = x  ( Width / 2 ) * cos A + ( Height / 2 ) * sin A , y  ( Height / 2 ) * cos A  ( Width / 2 ) * sin A

Pygame: Drawing Ellipse or Rectangle based on Constructor Argument
By : strax
Date : March 29 2020, 07:55 AM
To fix this issue In the Block constructor, you call self.image.fill(color). That will fill the sprite's entire image with that color, so you get a rectangle. The example code you have calls self.image.set_colorkey(white) after doing the fill, so that when it gets drawn, the background fill is transparent. That's probably the fastest solution.

Calculating point and dimensions of maximum rotated rectangle inside rectangle
By : Andrey N. Kourskov
Date : March 29 2020, 07:55 AM
hope this fix your issue The way I see it is like this... You work out the total width and total height of the rectangle. For that, you simply walk along two edges. Like this: code :
dx = w * cos(theta) + h * sin(theta)
dy = h * cos(theta) + w * sin(theta)
rectratio = abs( dx / dy )
viewratio = R / K
if rectratio > viewratio
scale = R / abs(dx)
else
scale = K / abs(dy)
end
sw = scale * w
sh = scale * h
x[0] = 0
x[1] = x[0] + sw * cos(theta)
x[2] = x[1] + sh * sin(theta)
x[3] = x[2]  sw * cos(theta)
y[0] = 0
y[1] = y[0]  sw * sin(theta)
y[2] = y[1] + sh * cos(theta)
y[3] = y[2] + sw * sin(theta)
if( rectratio > viewratio )
// view is too tall, so centre vertically:
left = 0
top = (K  scale * abs(dy)) / 2.0
else
// view is too wide, so centre horizontally:
left = (R  scale * abs(dx)) / 2.0
top = 0
end
left += pxmin
top += pymin

How can I clamp a rectangle inside the boundaries of an outer rotated rectangle
By : user2676688
Date : March 29 2020, 07:55 AM
will be helpful for those in need What's wrong? Instead of clamping the photo coordinates in the original coordinate system, you need to clamp them in the rotated coordinate system. Using the coordinates of the crop area corners (when calculating minX, maxX, minY and maxY) in the rotated coordinate system makes no sense. code :
var maxX = crop.x + (bbox.w/2)  (photo.w/2);
var maxY = crop.y + (bbox.h/2)  (photo.w/2);
var minX = crop.x  (bbox.w/2) + (photo.w/2);
var minY = crop.y  (bbox.h/2) + (photo.h/2);
center = {
x: Math.min(minX, Math.max(maxX, photo.x)),
y: Math.min(minY, Math.max(maxY, photo.y))
};
var sin = Math.sin(rotation);
var cos = Math.cos(rotation);
photo.x = crop.x + cos*(center.x  crop.x)  sin*(center.y  crop.y);
photo.y = crop.y + sin*(center.x  crop.x) + cos*(center.y  crop.y);

Drawing a tile based Ellipse inside a Rectangle
By : Edward David
Date : March 29 2020, 07:55 AM
Any of those help You can use Bresenham ellipse algorithm or midpoint algorithm to draw ellipses. And when you draw two symmetric points (tiles) with mentioned algo like these: code :
DrawPixel (xc + x, yc + y);
DrawPixel (xc  x, yc + y);

