Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Рисование ориентированного мультиграфа (http://www.flasher.ru/forum/showthread.php?t=181230)

Deimos747 18.06.2012 23:37

Рисование ориентированного мультиграфа
 
Здравствуйте! Кто-нибудь сталкивался с рисованием графов? Если есть опыт, подскажите пожалуйста.
А то я точки расставил, стрелки тоже, а как выяснилось, что дуг может быть не одна, а две, так ничего путного и не получается, каша какая-то:(

Simplifier 19.06.2012 01:20

Эм.. А почему получается каша?

Deimos747 19.06.2012 01:43

Потому что не получается правильно расставить точки для кривых Безье и выбрать угол направляющих стрелок.

Wolsh 19.06.2012 02:54

О какой "правильности" может идти речь там, где информация просто отсутствует?

Добавлено через 12 минут
И откуда данные, что через две точки можно провести только две дуги?))) Луковицу разрежьте. Это только малая часть бесконечности.
Сформулируйте задачу по-честному. Типа "хочу чтобы гладко везде".
Потому что математически такая формулировка бессмысленна, а график априори ложный во всех точках, кроме заданных ключевых.

Simplifier 19.06.2012 03:21

Если как на википедии чертежи надо сделать, то по идее, все должно нормально получиться, если просто выгибать дуги по одну сторону от направления ориентирования. Например, по левую:
Код AS3:

var length:Number = Math.sqrt((startPnt.x - endPnt.x) * (startPnt.x - endPnt.x) + (startPnt.y - endPnt.y) * (startPnt.y - endPnt.y));
graphics.curveTo((startPnt.x + endPnt.x) / 2 + (endPnt.y - startPnt.y) / length * n, (startPnt.y + endPnt.y) / 2 - (endPnt.x - startPnt.x) / length * n, endPnt.x, endPnt.y);



Часовой пояс GMT +4, время: 02:46.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.