我想要的是不规则的四边形内的随机数
时间: 2023-03-31 15:01:09 浏览: 68
您可以使用数学库中的随机数生成函数来生成不规则四边形内的随机数。具体实现方法可以参考以下代码:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
srand(time(NULL)); // 设置随机数种子
// 定义不规则四边形的四个顶点坐标
int x1 = 10, y1 = 10;
int x2 = 50, y2 = 20;
int x3 = 30, y3 = 40;
int x4 = 5, y4 = 30;
// 计算不规则四边形的最大最小横纵坐标
int xmin = x1 < x4 ? x1 : x4;
int xmax = x2 > x3 ? x2 : x3;
int ymin = y1 < y2 ? y1 : y2;
int ymax = y3 > y4 ? y3 : y4;
// 生成随机数
int x, y;
do {
x = rand() % (xmax - xmin + 1) + xmin;
y = rand() % (ymax - ymin + 1) + ymin;
} while ((x - x1) * (y2 - y1) - (y - y1) * (x2 - x1) < ||
(x - x2) * (y3 - y2) - (y - y2) * (x3 - x2) < ||
(x - x3) * (y4 - y3) - (y - y3) * (x4 - x3) < ||
(x - x4) * (y1 - y4) - (y - y4) * (x1 - x4) < );
printf("随机坐标为 (%d, %d)\n", x, y);
return ;
}
阅读全文