Javascript-форум (https://javascript.ru/forum/)
-   Библиотеки/Тулкиты/Фреймворки (https://javascript.ru/forum/library-toolkit-framework/)
-   -   Библиотека Raphaël (https://javascript.ru/forum/library-toolkit-framework/23222-biblioteka-rapha%C3%ABl.html)

Isaac 17.11.2011 15:01

Цитата:

Сообщение от Pavel M. (Сообщение 137164)
точку выше квадрата показал
надо рисовать на paper

Это я понял, но если точка появляется на холсте динамически и мы заранее не знаем в каких координатах она появится, а нам нужно, чтоб она обязятельно не выходила за пределы квадрата, а была в нем...
Как вы считаете, может подойти ф-я ?
Raphael.getPointAtLength(path, length)

Pavel M. 17.11.2011 15:18

Цитата:

Сообщение от Isaac
чтоб она обязятельно не выходила за пределы квадрата, а была в нем...

просто рисуйте ее внутри этого квадрата

Isaac 17.11.2011 15:21

Цитата:

Сообщение от Pavel M. (Сообщение 137178)
просто рисуйте ее внутри этого квадрата

как же я узнаю, что точки рисуются именно внутри квадрата, ведь они создаются на холсте и могут появлятся где угодно?

Pavel M. 17.11.2011 15:53

Цитата:

Сообщение от Isaac
как же я узнаю, что точки рисуются именно внутри квадрата

а когда рисуете квадрат тоже не знаете его координаты :) ?

Isaac 17.11.2011 16:03

Цитата:

Сообщение от Pavel M. (Сообщение 137198)
а когда рисуете квадрат тоже не знаете его координаты :) ?

Знаю, я задаю ему координаты любые, какие захочу...

Pavel M. 17.11.2011 16:47

ну так значит если точка должна быть внутри квадрата, то ее координаты должны быть больше чем левый верхний угол и меньше чем правый нижний

это можно посчитать ?

Isaac 17.11.2011 17:00

Цитата:

Сообщение от Pavel M. (Сообщение 137219)
ну так значит если точка должна быть внутри квадрата, то ее координаты должны быть больше чем левый верхний угол и меньше чем правый нижний

это можно посчитать ?

Можно, но как я писал в начале: у меня не квадрат , а фигура в форме буквы А
Я думаю, что в библиотеке должно быть подобное свойство или метод, но не могу его найти :(

Pavel M. 17.11.2011 17:04

лучше приведите здесь код, как вы рисуете эту букву A, и что такое будет для этой фигуры значить слово внутри

Isaac 17.11.2011 23:22

Цитата:

Сообщение от Pavel M. (Сообщение 137225)
лучше приведите здесь код, как вы рисуете эту букву A, и что такое будет для этой фигуры значить слово внутри

Вот
var paper = Raphael(ph, 600, 600);	
var shapeA = paper.path("M 300 10 L 400 10 L 600 500 L 500 500 L 400 300 L 350 300 L 250 500 L 150 500 Z").attr("fill", "grey");		
// Могу получить длину всей фигуры
var lengthShapeA = shapeA.getTotalLength();
// Могу получить координаты всех точек на КОНТУРЕ фигуры
for(var i = 0; i <= lengthShapeA; i ++)
{
    var allPoints = shapeA .getPointAtLength(i, lengthShapeA);
}

А как мне получить КООРДИНАТЫ ЛЮБЫХ 5 точек находящиесу ВНУТРИ фигуры shapeA ?

Pavel M. 18.11.2011 11:45

не знаю может быть это имели в виду http://jsfiddle.net/me9mW/
выводит все точки фигуры
только фигуру я уменьшил, чтобы циклы не подвисали


Часовой пояс GMT +3, время: 11:58.