Просмотр полной версии : [Вопрос] Математический вопрос
Зная координаты центральной точки, нужно найти координаты X1, X2, Y1, Y2
https://pp.vk.me/c836233/v836233979/8526/pHDp4p38Lc0.jpg
Скриншот загрузите на другой фотохостинг, ссылка не работает
ну к примеру: Х=200 У=400 Z=просто есть
X1-5, Х2+5, У1-10, У2+10 это = 195, 205, 390, 410 разве ни так все просто?
Daniel_Cortez
28.10.2016, 19:54
/*======================================
y2 *---------------*
| |
height | cy * |
| cx |
y1 *---------------*
x1 width x2
======================================*/
GetRectEdgesCoordsFromCenter(
Float:cx, Float:cy, Float:width, Float:height,
&Float:x1, &Float:y1, &Float:x2, &Float:y2)
{
static Float:width_div_2, Float:height_div_2;
width_div_2 = floatdiv(width, 2.0);
height_div_2 = floatdiv(height, 2.0);
x1 = cx - width_div_2, x2 = cx + width_div_2;
y1 = cy - height_div_2, y2 = cy + height_div_2;
return 1;
}
/*======================================
y2 *---------------*
| |
height | cy * |
| cx |
y1 *---------------*
x1 width x2
======================================*/
GetRectEdgesCoordsFromCenter(
Float:cx, Float:cy, Float:width, Float:height,
&Float:x1, &Float:y1, &Float:x2, &Float:y2)
{
static Float:width_div_2, Float:height_div_2;
width_div_2 = floatdiv(width, 2.0);
height_div_2 = floatdiv(height, 2.0);
x1 = cx - width_div_2, x2 = cx + width_div_2;
y1 = cy - height_div_2, y2 = cy + height_div_2;
return 1;
}
Возможно ли как-то учесть угол?
http://i.imgur.com/rjuZcwY.png
Nexius_Tailer
30.10.2016, 17:04
За основу взята GetXYInFrontOfPlayer, пробуй
GetXYInFrontOfCenter(Float:cX, Float:cY, Float:width, Float:height, Float:angle, &Float:minX, &Float:minY, &Float:maxX, &Float:maxY)
{
minX = cX - ((width / 2.0) * floatsin(-angle, degrees));
minY = cY - ((height / 2.0) * floatcos(-angle, degrees));
maxX = cX + ((width / 2.0) * floatsin(-angle, degrees));
maxY = cY + ((height / 2.0) * floatcos(-angle, degrees));
}
Powered by vBulletin® Version 4.2.0 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot