Уважаемые, мне тут надо напрограммить фигню, а мой мозг завис. То ли перетрудился, то ли просто мне мстит 3 по геометрии…
Помогите пожалуйста осилить.

Известна координата центра, известна координата точки Т1, Т2, Тn в любом месте окружности. Не могу сообразить как получить координаты для точек А и В. Отсчет координат начинается от левого–верхнего угла.

размер 400x400, 7.86 kb

GD Star Rating
loading...

16 Responses to Не могу сообразить как получить координаты для точек

  1. Mo3:

    А, да! Все это говно вписано в квадрат и отцентровано. Габариты квадрата тоже известны…

  2. AdMonkey:

    т.е. нужны точки а и б, лежащие на оси координат, так?

  3. Mo3:

    это только 50% того что надо…
    Скорее нужны координаты точек, которые лежат на гранях квадрата, в который вписана окружность

  4. Mo3:

    т.е из центре окружности и любую ее точку проводим прямую до пересечения с гранью квадрата. Надо получить координату этой точки пересечения прямой и грани

  5. AdMonkey:

    взять общий вид уравнения прямой

    image

    подставить туда значения имеющихся точек для О и Т1, например.
    получаем уравнение прямой.
    подставляем * = 0 или * = граница квадрата… и все

  6. Mo3:

    а хотя да, этого достаточно. Т.к окружность лежит четко в центре квадрата, то другие точки буду симметрично противоположны точкам на осях. Достаточно рассчитать точки на осях

  7. AdMonkey:

    y = ( * — 10) * 13 / 15 для прямой OT1

  8. AdMonkey:

    теперь, если нам нужно получить точку где Y = 0 или * = 0 решаем простое уравнение…
    ну, по геометрии в школе у меня тоже 3, но логика вроде такая)

  9. Mo3:

    спасибо, ща попробую пошаманить

  10. Kr0wz:

    так окружность вписана в квадрат, или просто находится внутри него и концентрична? Это таки важно.

  11. Mo3:

    если я правильно понял вопрос — то она не касается граней квадрата

  12. Kr0wz:

    Придираюсь: ваще, я понимаю, что у тебя там округление и т.п., но твоя окружность — эллипс, если верить координатам.

  13. Mo3:

    ну я циферки наглаз влепил. А так она самая настоященская круглая окружность. Круглее не бывает.

  14. AdMonkey:

    тоже самое для y = 0 и т.п.
    в общем, должно работать)

  15. Dr4:

    всё так, только остается ещё один шаг: нам нужно получить не точки, где *=0 и Y=0,
    а точки, лежашие на сторонах квадрата, в который вписана окружность (они не обязательно
    совпадают)

    для этого по паре точек (О, любая из Т) надо найти радиус нашей окружности R=sqrt((Ox–Tx)^2+(Oy–Ty)^2)

    и решать уравнение для *=Ox–R и Y=Oy–R

  16. AdMonkey:

    вполне очевидно)

Добавить комментарий