Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.11.2009, 23:51   #1
Gren-de-vald
 
Регистрация: 12.11.2009
Сообщений: 3
Вопрос Принадлежность точки заштрихованной области или нет.

Всем здраствуйте.Товарищи помогите, с чего начинать эту задачу.(Работа в Excel)
Рис.bmp
Заранее спасибо.

Последний раз редактировалось Gren-de-vald; 14.11.2009 в 23:57.
Gren-de-vald вне форума Ответить с цитированием
Старый 15.11.2009, 00:40   #2
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Цитата:
Сообщение от Gren-de-vald Посмотреть сообщение
Всем здраствуйте.Товарищи помогите, с чего начинать эту задачу.(Работа в Excel)
Вложение 17632
Заранее спасибо.
Как минимум с Гугла
Алгоритм_точки_в_многоугольнике
Анализ,обработка данных Недорого

Последний раз редактировалось doober; 15.11.2009 в 01:18.
doober вне форума Ответить с цитированием
Старый 15.11.2009, 01:48   #3
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Вот функция на предмет определения пересекаются отрезки,или нет
Код:

 
 Public Function IsLinesCrossLight(ByVal X1!, ByVal Y1!, ByVal X2!, ByVal Y2!, _
                                      ByVal X3!, ByVal Y3!, ByVal X4!, ByVal Y4!) _
                                      As Boolean
        Dim Ua!, Ub!, znam!
        znam = (Y4 - Y3) * (X2 - X1) - (X4 - X3) * (Y2 - Y1)
        Ua = (X4 - X3) * (Y1 - Y3) - (Y4 - Y3) * (X1 - X3)
        Ub = (X2 - X1) * (Y1 - Y3) - (Y2 - Y1) * (X1 - X3)

        If znam = 0! Then IsLinesCrossLight = False: Exit Function

        Ua = Ua / znam
        Ub = Ub / znam

        Dim LineAHaveCross As Boolean
        Dim LineBHaveCross As Boolean
        
      LineAHaveCross = ((Ua >= 0!) And (Ua <= 1!))
        LineBHaveCross = ((Ub >= 0!) And (Ub <= 1!))


        If (LineAHaveCross And LineBHaveCross) Then
            IsLinesCrossLight = True: Exit Function
        End If

        IsLinesCrossLight = False
    End Function
Далее как в Википедии,проводим с точки лучи,и считаем количество пересесений .
Будут трудности,стучитесь в Асю
Анализ,обработка данных Недорого

Последний раз редактировалось doober; 15.11.2009 в 08:39.
doober вне форума Ответить с цитированием
Старый 15.11.2009, 09:35   #4
Gren-de-vald
 
Регистрация: 12.11.2009
Сообщений: 3
По умолчанию

Спасибо большое, но мы еще написание программ не прошли. Мне просто нужно решить эту задачу через функции Excel. Я просто не знаю в какую ячейку нужно ставить x и y. Заранее спасибо.
Gren-de-vald вне форума Ответить с цитированием
Старый 15.11.2009, 13:54   #5
НеВа6464
Пользователь
 
Регистрация: 16.05.2009
Сообщений: 64
По умолчанию Возможно как-то так

Это лишь пример. В формуле не хватает области, которая заштрихована в виде треугольника, т.к. я не очень уверенно знаю синтаксис функции "если".
Данная формула используется два раза. Первый раз для вычисления значения, второй раз для написания требуемой фразы.
Я так понимаю, что X и Y можно положить в любую ячейку. Главное обозначить эти ячейки и правильно ссылаться на них в искомой формуле.
Вложения
Тип файла: rar точка.rar (1.7 Кб, 14 просмотров)
НеВа6464 вне форума Ответить с цитированием
Старый 15.11.2009, 14:41   #6
Gren-de-vald
 
Регистрация: 12.11.2009
Сообщений: 3
По умолчанию

Very большое спасибо тебе, помог)))))))))))))))))))))))))))))) )))))))))))))))))
Gren-de-vald вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Паскаль Принадлежность точки заданной области Unikummm Помощь студентам 18 28.11.2010 16:04
принадлежность точки(pascal) KIRILLoff Помощь студентам 2 18.10.2009 15:02
Принадлежность точки Forro Помощь студентам 4 26.05.2008 14:33
Принадлежность точки UnFaithful Паскаль, Turbo Pascal, PascalABC.NET 1 08.01.2008 06:16
принадлежность точки многоугольнику LevioFUN Общие вопросы Delphi 14 08.12.2006 16:07