Записки программиста, обо всем и ни о чем. Но, наверное, больше профессионального.

2011-06-04

Начинаю улавливать логику

Таки да, картина устройства мира с точки зрения AutoCAD начинает проясняться. Всё через OCS! Теперь, когда я открыл вам страшную тайну, я должен всех вас убить. С дугами я разобрался, во всяком случае, на имеющемся тестовом материале функции отрабатывают как положено. Отработал дуги и вернулся к polyline bulge. И снова-здорово. В следующем файле булжи отрисовываются в другую сторону! Ну етить-колотить :(

Поскольку вариант с «координаты в WCS а углы в UCS» очевидно не сработал (иначе бы булжи нормально воспроизводились), а вариант «координаты в OCS и углы в OCS» на дугах сработал нормально — остается предположить, что у булжей та же петрушка. И предыдущая моя тирада на эту тему неверна.

Значит, придется и для булжей придумать способ трансформации углов из OCS в WCS. Продать технологию Автодеску, что-ли, если все получится? А то у них нету.

С дугами я справился, высчитывая положение третьей точки на дуге. Дуга тремя точками определяется однозначно, значит, все что надо - переведя известные координаты (центр, две точки) в OCS, найти третью точку. Потом ее координаты перевести в WCS и — можно пользоваться.

С булжами несколько сложней. Чтобы не портить концепцию описания полилинии через опорные точки и булжи, надо сподобиться правильно определить знак булжа (в WCS) — по часовой минус, против часовой плюс. Попробую сделать это через отношения углов у известных в OCS векторов. Если эти отношения меняются после перевода векторов в WCS, то и знак у булжа надо поменять. Как-то так.

Комментариев нет:

Отправить комментарий

Архив блога

Ярлыки

linux (241) python (191) citation (186) web-develop (170) gov.ru (159) video (124) бытовуха (115) sysadm (100) GIS (97) Zope(Plone) (88) бурчалки (84) Book (83) programming (82) грабли (77) Fun (76) development (73) windsurfing (72) Microsoft (64) hiload (62) internet provider (57) opensource (57) security (57) опыт (55) movie (52) Wisdom (51) ML (47) driving (45) hardware (45) language (45) money (42) JS (41) curse (40) bigdata (39) DBMS (38) ArcGIS (34) history (31) PDA (30) howto (30) holyday (29) Google (27) Oracle (27) tourism (27) virtbox (27) health (26) vacation (24) AI (23) Autodesk (23) SQL (23) humor (23) Java (22) knowledge (22) translate (20) CSS (19) cheatsheet (19) hack (19) Apache (16) Klaipeda (15) Manager (15) web-browser (15) Никонов (15) functional programming (14) happiness (14) music (14) todo (14) PHP (13) course (13) scala (13) weapon (13) HTTP. Apache (12) SSH (12) frameworks (12) hero (12) im (12) settings (12) HTML (11) SciTE (11) USA (11) crypto (11) game (11) map (11) HTTPD (9) ODF (9) Photo (9) купи/продай (9) benchmark (8) documentation (8) 3D (7) CS (7) DNS (7) NoSQL (7) cloud (7) django (7) gun (7) matroska (7) telephony (7) Microsoft Office (6) VCS (6) bluetooth (6) pidgin (6) proxy (6) Donald Knuth (5) ETL (5) NVIDIA (5) Palanga (5) REST (5) bash (5) flash (5) keyboard (5) price (5) samba (5) CGI (4) LISP (4) RoR (4) cache (4) car (4) display (4) holywar (4) nginx (4) pistol (4) spark (4) xml (4) Лебедев (4) IDE (3) IE8 (3) J2EE (3) NTFS (3) RDP (3) holiday (3) mount (3) Гоблин (3) кухня (3) урюк (3) AMQP (2) ERP (2) IE7 (2) NAS (2) Naudoc (2) PDF (2) address (2) air (2) british (2) coffee (2) fitness (2) font (2) ftp (2) fuckup (2) messaging (2) notify (2) sharepoint (2) ssl/tls (2) stardict (2) tests (2) tunnel (2) udev (2) APT (1) Baltic (1) CRUD (1) Canyonlands (1) Cyprus (1) DVDShrink (1) Jabber (1) K9Copy (1) Matlab (1) Portugal (1) VBA (1) WD My Book (1) autoit (1) bike (1) cannabis (1) chat (1) concurrent (1) dbf (1) ext4 (1) idioten (1) join (1) krusader (1) license (1) life (1) migration (1) mindmap (1) navitel (1) pneumatic weapon (1) quiz (1) regexp (1) robot (1) science (1) seaside (1) serialization (1) shore (1) spatial (1) tie (1) vim (1) Науру (1) крысы (1) налоги (1) пианино (1)