Полный список Google Gears включил [закрытые] сайты

Я считаю, что есть несколько проблем с вашим кодом. Вероятно, наиболее важным является логика линии:

let y = min p1.X p2.X + dy * (x - min p1.X p2.X) / dx

Очевидно, это должно было быть что-то вроде

y = y0 + (x-x0)*dy/dx

, т.е. первый термин должен быть чем-то вроде Y, а не X. К сожалению, с вашей логикой зацикливания это должно быть Y точки, которая имеет меньшее значение X. Это не так просто сказать. ИМХО, проще исправить цикл, используя отрицательный шаг.

Другое наивное предположение состоит в том, что вы всегда можете нарисовать линию, имеющую y для каждого x. Это явно не так, когда dy > dx. Более того, в случае вертикальной линии, когда dx равно 0, код не будет выполнен. Самый популярный алгоритм строк Брезенхэма требует, чтобы вы обрабатывали эти случаи как явно отличающиеся. Вот простая реализация, которая обрабатывает эти случаи:

let drawLine p1 p2 = 
    let dx = p2.X - p1.X
    let dy = p2.Y - p1.Y
    if((dx <> 0) || (dy <> 0)) then
        if abs(dx) >= abs(dy) then
            let step = if (p1.X < p2.X) then 1 else -1
            for x in p1.X ..step.. p2.X do
                let y = p1.Y + dy * (x -  p1.X) / dx 
                Console.SetCursorPosition(x, y)
                printf "."
        else
            let step = if (p1.Y < p2.Y) then 1 else -1
            for y in p1.Y .. step .. p2.Y do
                let x = p1.X + dx * (y -  p1.Y) / dy
                Console.SetCursorPosition(x, y)
                printf "."

Что касается других проблем, вы, вероятно, захотите ограничить позиции ваших точек некоторой видимой областью между 0 и некоторым максимальным значением. SetCursorPosition вызов с отрицательным значением или значением, превышающим размер буфера, приведет к сбою вашего приложения.

7
задан sumek 14 October 2008 в 17:01
поделиться

5 ответов

Система обмена сообщениями MySpace является одним из самых больших за пределами Google. По крайней мере, таким образом, я думал в соответствии с этой статьей.

Другие сайты:

6
ответ дан 6 December 2019 в 12:56
поделиться

До сих пор кажется что:

  • wordpress.com
  • Устройство записи Zoho
  • Buxfer
  • PassPack
  • Google Reader
  • MindMeinster
  • Google веб-альбомы Picasa
  • MySpace (почтовый поиск)
  • YouTube

Google Gears поддержки некоторым способом. (список, составленный от: Википедия и этот сайт здесь)

5
ответ дан 6 December 2019 в 12:56
поделиться
0
ответ дан 6 December 2019 в 12:56
поделиться
2
ответ дан 6 December 2019 в 12:56
поделиться

Перечислено в порядке предполагаемого уменьшения сложности автономной реализации:

  • Autodesk Labs Project Draw
  • Buxfer
  • Gmail
  • Google Calendar
  • Google Docs
  • Google Reader
  • MindMeinster
  • Myspace
  • Paymo
  • Passpack
  • Веб-альбомы Picasa
  • Помните молоко
  • Некоторые вещи
  • WordPress
  • Zoho Mail
  • Zoho Writer

Взято из: http://tarunupadhyay.com/2009/06/15/full-list-of-websites-that-you-can-take-offline-with-google-gears/

3
ответ дан 6 December 2019 в 12:56
поделиться
Другие вопросы по тегам:

Похожие вопросы: